| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cython requires a plugin to allow coverage of cython files, which
was updated in coveragerc. It also means we need to build the
dependencies and install cython for coverage.
Cython requires access to both source and compiled files when
running coverage. We therefore need to install project in develop
mode.
Updated documentation to explain how to run tests without tox but
with coverage
|
|
|
|
|
|
|
|
|
| |
Using pyproject.toml, defined in PEP518, allows us to have
an isolated build environment, ensuring that Cython can be installed
before calling setup.py in tox. This allows us to use cython helpers
in the setup.py script.
This is a prerequisite for introducing Cython in the codebase
|
|
|
|
|
|
| |
This was discussed in #1008.
Fixes #1009.
|
|
|
|
|
| |
Coverage does not need the module, or its dependencies, to be installed.
Save time by not installing them extraneously.
|
|
|
|
|
| |
This is not needed anymore since
431e578bf1b80074bd0f0ca8559e998dad59d4c0
|
|
|
|
|
|
|
|
|
| |
- Rename plugintestutils to testing.
- Don't run the tests from bst-plugins-template. This imports
buildstream.plugintestutils so will have to be disabled to get
through CI. This can be re nabled once bst-plugins-template has been
patched.
|
|
|
|
|
|
|
| |
If the list of external plugin tests is empty, tox -e pyXX-external
will fail attempting to move a coverage file which doesn't exist.
Allow the offending mv command to fail.
|
| |
|
|
|
|
|
|
| |
In sphinx 2.0.0 sphinx.apidoc has moved to sphinx.ext.apidoc,
which causes a build import error. Pin the version to 1.8.5
to allow docs to be built until issues can be fixed.
|
|
|
|
| |
https://gitlab.com/BuildStream/buildstream/issues/629
|
|
|
|
| |
https://gitlab.com/BuildStream/buildstream/issues/629
|
| |
|
|
|
|
|
|
| |
This is not necessary to fix #966 as it is already done in the setup.cfg,
however this just provides a consistent environment in case we do run
tests which use configurations in the default `XDG_` driven locations.
|
|
|
|
|
|
|
|
|
| |
Having the external plugins in the same tox env as the internal tests
is inconvenient for developers. Move the external tests into their own
environment.
In order to run the external tests locally, append `-external` to an
environment name. For example tox -e py35-external.
|
| |
|
|
|
|
|
|
| |
In order to be able to run integration tests behind a proxy, we need
to let proxy related environment variable cascade to the tox
environment.
|
|
|
|
|
|
|
|
|
|
|
| |
This change simply makes it possible to run the tests without
coverage and without any coverage related dependencies present
in the tox venvs.
To run tests without coverage, simply choose the python version
and append "-nocover" to the env name, e.g.:
tox -e py36-nocover
|
|
|
|
|
|
|
| |
This disables any attempt to use coverage when running tests
directly against installed dependencies with setup.py.
This fixes #916
|
|
|
|
| |
Since coverage is optional, lets make it really optional.
|
|
|
|
|
|
| |
Previously, without a coverage file, the tests would fail if
combined with "--no-cov". This makes the coverage reporting optional
and allows the usage of "--no-cov"
|
|
|
|
|
| |
This is a handy way for developers to make use of the venvs we're
constructing for our test suite to run in.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want external plugins to be able to make use of the core testing utils.
This commit exposes the basic utilities which are currently in use in
bst-external plugins. If necessary, more utilities could be exposed in the
future.
Moves the following files from tests/testutils/ to
buildstream/plugintestingutils/:
o runcli.py
o integration.py
As part of this, this commit makes the following changes to runcli.py
and integration.py:
o runcli.py: Fix linting errors
o runcli.py: Add user facing documentation
o Integration.py: Add user facing documentation
|
|
|
|
|
|
|
|
|
|
|
| |
`click-man` versions < 0.3.0 do not properly support multiple
entrypoints. Since this was added to `tox` after `0.3.0` was released,
`tox` should never be pulling older versions. But, let's add it here for
documentation purposes.
See
https://gitlab.com/BuildStream/buildstream/merge_requests/1107#note_135187046
for some background on this.
|
|
|
|
|
|
| |
Previously, one had to manually install `click-man` package, and
remember to run the correct command. Now, we can simply run `tox -e man`
to update the man pages.
|
|
|
|
|
|
| |
https://github.com/rtfd/sphinx_rtd_theme/pull/672 has been fixed
upstream, and the newer versions of `sphinx_rtd_theme` do not break
search functionality with Sphinx >= 1.8.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch namespaces the test temp directory and the output
coverage report file with the name of the environment under test,
such that separately run tests do not access the same files.
When running tests without tox, directly through setup.py,
then the tmp directory will still be `./tmp`.
* .gitignore: Added new .coverage-reports/ directory
* .gitlab-ci.yml: Rely on tox to combine and report coverage, only
tell tox about the COVERAGE_PREFIX so that results can be namespaced
by CI job name.
This change also publishes the sources and final combined `.coverage`
file in an output gitlab artifact for inspection, and lists some missing
dependencies to the `coverage` job.
* tox.ini: Add comments and refactor main [testenv] section so that
other environments dont inherit too much unrelated cruft.
Generate the coverate reports in the respective {envtmpdir} so that
all per-process coverage files are prefixed with a full path, ensuring
that concurrent runs don't mix reports and addressing concerns
raised in #844.
Also implemented new `tox -e coverage` environment to combine
any found coverage and print a report.
* .coveragerc: Omit .tox/ directory from coverage stats
Fixes issue #844
|
|
|
|
|
| |
This seems like a better name for the directory, as it more closely
describes the purpose of its contents.
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently the CI and the docs both have to duplicate the same inforation
about how to gather dependencies etc, and have to use hacky ways to run
them.
Add a new `docs` environment to our tox setup so that building docs is
as simple as running `tox -e docs`.
|
|
|
|
|
|
| |
These new `.in` and `.txt` are making the repository look very
cluttered. Move them to a separate `tools` directory to make it look a
bit cleaner.
|
|
Add `tox.ini` file that will enable us to use
[tox](https://tox.readthedocs.io/) as a frontend for running tests.
Since we share the config via `setup.cfg` and requirements via
requirements files, commands like `python3 setup.py test` will continue
to work.
|