| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Ensures that `Element.__update_state_recursively()` works as intended
and only updates the states on reverse dependencies when a source cache
key has changed, stop descending into reverse dependencies as soon as
a cache key is unchanged.
|
|
|
|
|
|
|
|
| |
the same session
This extends the existing test which catches failures only
in build-only dependency chains, with a similar test for runtime-only
dependency chains.
|
|
|
|
|
|
|
| |
Tests that the target is still built even when a workspace is open
on a runtime dependency of a build-only dependency.
This adds the regression test provided by Matthew Yates for issue #919
|
|
|
|
| |
This is to be consistent will all other queues that follow this setup.
|
|
|
|
|
| |
Since we know when an object's state can change, we don't need
to update the state of all objects for consistency.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Statuses of an element can be changed when:
1) It is pulled
2) It is fetched
3) It is workspaced and it finished building
4) One of its dependencies is tracked
5) One of its dependencies is workspaced and finished building
We can therefore update the statuses at those moments and we don't
need to check all the time.
This reduces considerably the calls to update_states that are done
|
|\
| |
| |
| |
| | |
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
|