| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This reduces the difference between regular execution and the test
environment.
|
|
|
|
| |
The fork safeguard is now handled by Context.is_fork_allowed().
|
|
|
|
| |
The fork safeguard is now handled by Context.is_fork_allowed().
|
| |
|
|
|
|
| |
The fork safeguard is now handled by Context.is_fork_allowed().
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will be used to safeguard against fork issues with multiple
threads.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also support use as context manager.
|
| |
|
|
|
|
|
| |
I see aborts and hangs related to gRPC locks with grpcio 1.17.1.
Updating grpcio to 1.23.0 fixes these issues.
|
|\
| |
| |
| |
| | |
Add type hints to public API code
See merge request BuildStream/buildstream!1459
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
|/
|
|
|
| |
`calendar.timegm()` accepts a tuple, but we were giving it a list. This
was highlighted by `mypy`.
|
|\
| |
| |
| |
| | |
plugins/sources/patch.py: Validate keys
See merge request BuildStream/buildstream!1569
|
|/
|
|
|
|
| |
Currently we don't validate the keys on a `patch` source, leading to
nastier-looking error messages when `path` is missing. This simply makes
us validate the yaml, as we do for other plugins.
|
|\
| |
| |
| |
| |
| |
| | |
cli.py: Use Click's show_default for defaults in help text
Closes #1110
See merge request BuildStream/buildstream!1572
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Addition of --long option to list-contents
Closes #773
See merge request BuildStream/buildstream!1555
|
|/
|
|
|
|
|
|
|
| |
--long or -l will provide the user with extra information about the
contents of the artifacts, including permission mode, file type, size
and name. In order for this to work, the way in which list-contents
works has been modified.
A test and NEWS entry have also been added within this commit
|
|\
| |
| |
| |
| | |
Cleanup: splitting artifact.py into separate test files
See merge request BuildStream/buildstream!1570
|
|/
|
|
|
|
|
| |
Artifact.py consists of multiple tests for the different artifact
subcommands all grouped together. This MR splits the tests relevant to
each subcommand up into separate test files, making it easier to find
the relevant test.
|
|\
| |
| |
| |
| |
| |
| | |
Support strict build dependencies
Closes #254
See merge request BuildStream/buildstream!1542
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is in order to keep the door open to allowing the project.conf
set the default of dependency 'strict'-ness which might be useful
for projects which use mostly static linking and the like, in which
case we can later interpret explicitly non-strict dependencies
as an override of the project default.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This tests that the target which depends on a common dependency
strictly in non strict mode needs to be rebuilt after this common
dependency changes, while it is not the case when depending on the
same common target non strictly.
This is a regression test for #254
|
| | |
|
| |
| |
| |
| |
| |
| | |
This adds documentation on the new keyword `strict` in dependency
declarations, and adds a link to the strict mode user config
section.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch allows specifying a dependency as `strict`, e.g.:
build-depends:
- filename: element.bst
strict: true
This allows finer tuning of projects which want to leverage
the non-strict build mode; dependencies which are statically
linked to, or who's content is otherwise included verbatim in
the resulting output, should be marked `strict` to ensure these
bits get reassembled if necessary when building in non-strict
mode.
This fixes #254
Change summary:
o _loader/loadelement.pyx: Added 'strict' attribute to Dependency
o _loader/types.pyx: Added 'strict' attribute to Dependency
do the parsing work.
o _loader/metaelement.py: Added 'strict_dependencies' list
o _loader/loader.py: Resolve the 'strict_dependencies' list
o element.py: Added __strict_dependencies list, and use this
to conditionally use weak cache keys in place of names for
the purpose of building the weak cache key (in the case of
dependencies which are marked as strict).
|
|/
|
|
|
|
|
|
| |
As discussed with Jürg on gitlab[0], it makes more sense to store the
recursive element names and record the shape of the dependencies for
non strict cache keys as well as strict ones.
[0]: https://gitlab.com/BuildStream/buildstream/merge_requests/1542#note_205598556
|
|\
| |
| |
| |
| |
| |
| | |
Add in_subprocess pytest mark and modify tests which run in another process to use it
Closes #1108
See merge request BuildStream/buildstream!1557
|
| |
| |
| |
| |
| |
| |
| |
| | |
In changing the tests to use in_subprocess, they were modified to do
parametrization over both variables instead of looping over one in the
test itself. The purpose of the original code was to reduce the number
of test cases printed in the output. I have hence attempted to remove
superfluous test cases.
|
| |
| |
| |
| |
| |
| |
| | |
Additionally, test code that was previous executed by a subfunction (in
the forked process) has been folded into the test function itself, as
separating it is now redundant. This removes some duplicate code for
setting up the context and project, etc.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Cache quota configuration fixes
See merge request BuildStream/buildstream!1566
|
| |
| |
| |
| |
| |
| | |
test_invalid_cache_quota was marked as xfail as part of the migration to
buildbox-casd. This reactivates the test but removes the checks for too
large quotas as that aspect is better handled by buildbox-casd.
|
| |
| |
| |
| |
| |
| | |
If the quota is configured as percentage of total disk space, we need to
make sure that _get_volume_size() does not fail if the cas directory
does not exist yet.
|
|/
|
|
|
|
| |
Relative paths don't make sense in user configuration. The exception is
workspacedir where `.` is useful as it will be combined with the name
specified on the command line.
|