| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
With the use of buildbox-run on all platforms, there is no longer any
platform-specific code in the Platform subclasses.
|
|
|
|
|
|
|
| |
buildbox-run is the only local sandbox and there are no plans to add
other sandboxing backends in the future. New platforms can be supported
by new buildbox-run implementations without requiring any changes in
BuildStream.
|
|
|
|
| |
Also fix linting errors coming with new version of pylint
|
| |
|
|
|
|
| |
Also fix the various errors in the file
|
| |
|
| |
|
|
|
|
|
|
|
| |
This was broken by Chandan's commit b4d472e9c2, when we changed
the pip namespace such that element and source plugins are loaded
from a different group (although he would not have noticed because
the build was not failing for this).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in
https://mail.gnome.org/archives/buildstream-list/2020-January/msg00001.html,
separate the entry point groups for elements and sources. Previously,
both used `buildstream.plugins` which meant that it wasn't possible to
have an element and a source plugin with the same name, when using `pip`
origin.
This a breaking change for all plugins, but will only affect projects
using the `pip` plugin origin.
As part of this, also bump the version of bst-plugins-experimental used
in our tests to avoid CI breakages.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This runs two versions of the plugins:
- The latest stable is not allowed failures and is run on every platform
- The master version is allowed failure, and only runs on a single
architecture
This also adds a new entrypoint to register source tests to run against
BuildStream.
|
|
|
|
|
| |
This is not part of the test running itself, but more handling
afterwards
|
|
|
|
|
| |
These tests don't do anything, as they have no plugins registered at
all.
|
|
|
|
| |
This stops the tests from being interlinked for BuildStream itself.
|
| |
|
| |
|
|
|
|
|
| |
This is required for testing with userchroot to create staging
directories in a system-specific prefix.
|
|
|
|
|
|
|
|
|
|
| |
Also register them to run nightly.
Running tests in a randomized order is a good way of checking whether
our tests depend on each others or not.
Since we order them globally, tests will take longer to run, but that
will give us higher confidence that they are correct.
|
|
|
|
|
|
|
|
|
|
|
| |
Add `doc/source/conf.py` to the filelist for Black and Pylint.
Previously this file was not covered by any of the linters, so this
patch includes one-off sweeping changes for the formatting.
To make pylint happy, we had to disable a warning about defining a
variable called `copyright` since that's a built-in. It's unlikely that
we will ever need the built-in `copyright()` in this module, so it seems
safe to disable it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the formatting-related warnings from `pycodestyle` are covered by
Black, and almost all of the remaining ones are covered by `pylint`.
Based on that, remove `pycodestyle` so that we don't have to maintain
another set of configuration.
More details on warnings/errors covered by `pycodestyle` below.
---
Here's the big list of pycodestyle error/warning codes:
https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes. They are
broken down into following categories:
1. Indentation
2. Whitespace
3. Blank line
4. Import
5. Line Length
6. Runtime
7. Deprecation warning
8. Statement
Out of the above, 1-5 are purely formatting related so we don't needd to care
about them. 6 is runtime issues like syntax error that are hard to miss (even
mypy will complain about these). 7 is about deprecation warnings. Half of them
don't apply to us since we only support Python 3.5+ and the other half is
covered by `pylint`.
That leaves us with the "E7*" codes, that pycodestyle groups under "Statement"
heading. After verifying each of them, the only ones that is really not covered
by either Black or Pylint is the following:
* E731 do not assign a lambda expression, use a def
This sole check does not seem worth keeping another tool.
|
|
|
|
|
|
|
|
|
|
| |
Introduce two new tox environments - `format` and `format-check`. The
`format` environment will reformat the code using `black` whereas the
`format-check` envrionment will simply print the diff without modifying
any files.
Configure Black to use the same line lengths that we use
currently, i.e. 119.
|
|
|
|
|
|
|
| |
Running it like `src/buildstream` apparently doesn't report the warnings
correctly, as pylint does not like file paths.
Fixes #1206.
|
|
|
|
| |
i.e. `bst help` and `bst init`
|
|
|
|
| |
Otherwise we won't actually be testing the spawn code path.
|
|
|
|
| |
Update to the plugins to work with the new YAML updates.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A fix was made in
https://gitlab.com/BuildStream/buildstream/merge_requests/1244
in order to set xdg_* env variables inside of the test's directory
to avoid importing data from the host.
There was however still two problems:
- When a variable was not set, it was set with a relative path, which
would create a configuration for BuildStream that is invalid.
- When a variable was set and running with pytest directly, we would
still use the variable's value, which would be the host one.
This ensure this can never happen, by not relying on the same variable's
name and always overriding them.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As a first step, add type hints to variables whose type `mypy` cannot
infer automatically. This is the minimal set of type hints that allow
running `mypy` without any arguments, and having it not fail.
We currently ignore C extensions that mypy can't process directly.
Later, we can look into generating stubs for such modules (potentially
automatically).
|
|
|
|
| |
This fixes host contamination for tools that use HOME, e.g., bzr.
|
| |
|
|
|
|
| |
Continuing moving plugins over to bst-plugins-experimental.
|
|
|
|
| |
Continuing moving plugins to bst-plugins-experimental.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was agreed on the mailing list to move all plugins to a single
repository, before moving them into domain-specific repositories. As
a result it seems reasonable to move everything to the
bst-plugins-experimental repo as this stepping stone, rather than
creating a whole new repo.
This commit starts the process of moving things over by moving only the
cmake plugin to bst-plugins-experimental, and altering the tests to
reflect the new location.
|
|
|
|
|
| |
Currently the linter can only lint everything we want. With
this change, it should be able to only lint onre (or more) files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|