| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Use the conventional `None` value to indicate that the class variable
`__defaults` is not yet initialized. This lets us remove
`__defaults_set`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still initialize `Element.__defaults` as usual, even if a `plugin_conf`
is not specified.
As part of the work on !1101 to introduce `ArtifactElement`s, a special
case for `__init_defaults` was made, such that none of the usual
defaults would be loaded. This seems to be because it has no config and
none of the defaults are required by ArtifactElement, although they
don't seem to adversely affect it.
Instead, treat a 'None' `plugin_conf` in the same way as the existing
case of a missing file. This avoids the appearance of having
plugin-specific behaviour in the base-class, and is perhaps less
puzzling to new contributors.
|
| |
|
|\
| |
| |
| |
| | |
test: Pass proxy and cert env variable to tox environment
See merge request BuildStream/buildstream!1207
|
|/
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
cleanup: Move YAML handling logic in _include.py to _yaml.py
See merge request BuildStream/buildstream!1205
|
|/ |
|
|\
| |
| |
| |
| | |
Improve import performance
See merge request BuildStream/buildstream!1190
|
| |
| |
| |
| | |
Filter elements do not run any commands. This will allow faster staging.
|
| |
| |
| |
| | |
The filter plugin doesn't use Sandbox.get_directory().
|
| |
| |
| |
| | |
Import elements do not run any commands. This will allow faster staging.
|
| |
| |
| |
| | |
This will allow faster staging.
|
| |
| |
| |
| |
| |
| | |
This flag indicates whether the plugin may run commands using
`Sandbox.run()` and defaults to `True`. This will allow faster staging
for plugins that do not need to run any commands in the sandbox.
|
| |
| |
| |
| |
| | |
This enables use of CasBasedDirectory for faster staging when command
execution is not required.
|
| |
| |
| |
| |
| | |
Allow Sandbox implementations to decide whether to use
CasBasedDirectory.
|
| | |
|
| |
| |
| |
| |
| | |
We already have relative_pathname in the caller. Reuse that instead of
calling os.path.join().
|
| |
| |
| |
| |
| | |
This provides an API in line with, e.g., os.path.join(), and eliminates
isinstance checks.
|
|/
|
|
|
|
| |
If the destination directory does not exist yet and there is no filter,
we can import the whole source directory by digest instead of importing
each directory entry individually.
|
|\
| |
| |
| |
| | |
Fixes for coverage optionality
See merge request BuildStream/buildstream!1206
|
| |
| |
| |
| |
| |
| |
| | |
This scaffolding needs to manually tell coverage to cleanup
when sigterm happens in the process in order to collect
the coverage report, but we need to do this conditionally
in case we are running tests without coverage support.
|
|/
|
|
| |
Chandan, you silly pony.
|
|\
| |
| |
| |
| | |
requirements/Makefile: Always rebuild requirements files
See merge request BuildStream/buildstream!1204
|
|/
|
|
|
|
|
| |
We always want to update all the requirements files together such that
the versions of the common dependencies do not drift between them. Do so
by adding a dummy phony target `FORCE` and depend on it from all the
`.txt` targets.
|
|\
| |
| |
| |
| |
| |
| | |
Make coverage optional
Closes #916
See merge request BuildStream/buildstream!1189
|
| |
| |
| |
| |
| |
| |
| | |
There appears to be multiple versions of tox in the WSL test
environment, prepending /root/.local/bin to the PATH while
running tests ensures that we are using a recent enough tox
to execute the tests.
|
| |
| |
| |
| |
| | |
This is generally useful to know, since the tox version is not
enforced by BuildStream.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\
| |
| |
| |
| |
| |
| | |
_sandboxremote.py: Create marked directories before running
Closes #851
See merge request BuildStream/buildstream!1056
|
|/
|
|
|
|
|
| |
The other two sandboxes (BWrap and chroot) both do this because
marked directories may be mount points. _cache_artifact requires
install-root to be present, and existing BuildStream projects
may rely on these too.
|
|\
| |
| |
| |
| | |
refactor: remove the need to decode output from subprocess
See merge request BuildStream/buildstream!1199
|
|/
|
|
|
|
|
|
|
| |
Subprocesses can return decoded strings if we give them a
"universal_newlines=True" argument. We can therefore offload that to
them, and not explicitly decode output ourselves.
This also fixes multiple bugs where we would not be respecting the
locale used by the user, and in some cases force it to "ascii".
|
|\
| |
| |
| |
| | |
tests: Remove redundant integration pytest markers
See merge request BuildStream/buildstream!1202
|
|/
|
|
|
|
|
|
|
| |
Remove `pytest.mark.integration` for individual tests that already
include it in `pytestmarker` at the top.
FWIW the list of such files was found using:
git grep --name-only 'pytestmark = pytest.mark.integration' | xargs grep '@pytest.mark.integration'
|
|\
| |
| |
| |
| | |
Remove dead code
See merge request BuildStream/buildstream!1195
|
| | |
|
| |
| |
| |
| |
| | |
For parameters that are required as part of an API, prefix them
by "_" to make it clear they are unused
|
|/ |
|
|\
| |
| |
| |
| | |
refactor: Use [a, b, *c] instead of [a, b] + c when building list
See merge request BuildStream/buildstream!1200
|
|/
|
|
|
| |
This pattern is available from python3.5 and provides a simpler
understanding of what is going on
|
|\
| |
| |
| |
| | |
runcli: rm unused 'color' and '**extra' params
See merge request BuildStream/buildstream!1198
|
|/
|
|
|
|
|
|
|
|
|
| |
The only customer for 'invoke' is the 'run' method on the same class.
Make it private and simplify it's interface.
Avoid disappointment by removing unused 'color' and 'extra' parameters
from 'invoke'.
These appear to have been here to mirror the interface of
click.testing.CliRunner.invoke(), which this class replaced.
|
|\
| |
| |
| |
| |
| |
| | |
cascache: limit 'infinite' cache to volume size
Closes #906
See merge request BuildStream/buildstream!1196
|
|/
|
|
|
|
|
|
|
|
|
| |
Make sure we don't exceed the size of the volume when calculating an
'unlimited' quota.
Note that at present, cache_size is an estimate that will be the same
as the cache_size or larger. In my own case, I have a volume dedicated
to the cache, so it was easy for the cache_quota to exceed this. This
prevented me from running BuildStream, although I had plenty of free
space.
|
|\
| |
| |
| |
| | |
buildelement: rm unused 'cmd_name' argument
See merge request BuildStream/buildstream!1197
|
|/
|
|
|
|
| |
We're not using the cmd_name parameter to __run_command, and it's
redundant given that the enclosing scope already uses it in the label.
Remove it to slightly improve readability.
|
|\
| |
| |
| |
| |
| |
| | |
store full host tools command in sites.py variables check.
Closes #936
See merge request BuildStream/buildstream!1194
|
| | |
|