| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
tests: remove strict kwargs from xfail marks
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously, if an artifact proto had no files at all in it, we would
fail at pushing it, making BuildStream crash.
When no files are part of an artifact proto, we can short-circuit
the call and avoid pushing them unecessarily.
- Add a test to ensure this doesn't come back.
|
|
|
|
|
|
|
|
|
| |
Windows checks out symlinks as a file with content is the path of the
symlink. This makes it impossible to mount the buildstream folder in
a docker container and run the tests.
This removes the symlink, and creates it on the fly for tests that use
it, which fixes the problem.
|
|
|
|
|
|
|
|
|
| |
Remove XFAIL mark from test_workspace_visible and remove the explicit
SourceCache.commit() in the workspace source plugin. Allow buildstream
to handle the commit logic.
Add handling for non-cached workspace sources in
`source.Source._generate_keys()`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Remove call to Element._source_cached() in _calculate_cache_key and
do not recalculate workspace keys.
tests: shell browsing of workspaces is currently broken
|
|
|
|
|
|
|
| |
Workspace keys are determined by contained files at time of opening and
are not forcibly reset
tests: workspaces have keys when they're opened and are not recalculated
|
|
|
|
|
| |
Save all casd logs in a log file under its cas/ directory, and
keep only the last 10 of them.
|
|
|
|
|
|
|
| |
This adds messages in the various mis-termination of Buildbox-casd, to
notify users that something might have gone wrong there.
It also adds a few tests to validate the various behaviors.
|
|
|
|
| |
Workspace changes are now detectable when using BuildBox as the sandbox
|
|
|
|
|
| |
Opening and building workspaces when buildbox is the sandbox is now
supported.
|
|
|
|
|
|
|
|
| |
Workspaces will be handled via the workspace source plugin methods. This
does not currently support reflecting build artifacts in the open
workspace.
tests: Mark incremental workspace builds as xfail (strict)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check that sources are cached even if they are workspaced and do not
reset workspace cache data
partially reverts !1470
closes #1088
element.py: remove workspaces in cache key calc
Using the workspace source plugin, workspaces should now be handled like
sources for the purpose of calculating element cache keys.
partially reverts !1470
works towards #1073
Since the source keys are now calculated using the unique keys of the
workspace source, this change will break external tracking for open
workspaces. In future attempting to track an open workspace might raise
a SourceError. The test is rewritten to close the workspace before
tracking.
|
| |
|
|
|
|
|
|
|
|
| |
pytest-cov 2.7 calls os._exit() in its SIGTERM handler, skipping
cleanup, unless another SIGTERM handler was already registered.
Add our own SIGTERM handler to the subprocess to ensure proper cleanup
such as terminating buildbox-casd.
|
|
|
|
|
| |
Adds an integration test to check the `pass-integration` option for
filter elements works.
|
|
|
|
|
|
|
|
| |
Currently the stack element does not produce an artifact, and sometimes
has to be treated differently because of this. It is conceivable that
someone will write a plugin that must be treated similarly and doesn't
produce an artifact. As a result this commit abstracts this "not
producing an artifact" feature of elements.
|
|
|
|
|
|
|
|
|
|
|
| |
As stack elements do not provide any artifacts, it is misleading to
allow them as dependencies for filter elements. This commit makes a
dependency on a stack element a failure with a descriptive error
message.
Additionally adds a test to make sure this works.
Addresses #1104
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is tedious to manually copy the integration commands of the parent
element into a filter element, so this allows it to be done
automatically. Here we modify FilterElement.integrate() to allow us to
pass through the parent's integration commands, iff an option is set.
Also adds a test for the new feature, but this is not as comprehensive
as would be idea, as getting to the integration commands which are run
is a little more difficult.
Addresses #1107
|
|
|
|
|
|
|
|
| |
source checkout supports --deps all, so we should be
consistent.
Additionally, a user may want to have build deps in a
potential chroot so you could rebuild any component.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This MR changes the behaviour of source checkout so that it is more
like artifact checkout. That is, a --directory option can be provided,
rather than a mandatory LOCATION.
In addition to this, the --tar option is no longer a boolean flag,
rather it expects a tarfile name (just like artifact checkout)
The appropriate tests have also been altered so that they support
the new API
|
|
|
|
|
|
| |
In "test_source_checkout_force()" we had a commented out line
of code. This has been removed and a more useful comment has been
added.
|
| |
|
|
|
|
|
| |
bst-1.x support BST_FORMAT_VERSION == 17, as that is not supported by
master I think is ok to set BST_FORMAT_VERSION_MIN = 18
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This is now split into storage/index remotes, where the former is
expected to be a CASRemote and the latter a BuildStream-specific
remote with the extensions required to store BuildStream artifact
protos.
|
|
|
|
| |
This was almost entirely just historical code duplication.
|
|
|
|
|
|
| |
These tests ensure that we can checkout the build dependencies of
an artifact and that if we try to checkout the runtime dependencies
the command will fail.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
ArtifactElement inherits Element, both have an Artifact
object as a member, thus we should not need to handle these
separately.
This change has resulted in introducing a configure_sandbox()
method in ArtifactElement. The method is similar to
BuildElement.configure_sandbox() but does not configure the
sandbox to actually be used for building.
|
|
|
|
|
|
|
| |
When we open a workspace, we are linking the sources to the directory
specified. As such testing that we are able to open a workspace on a
read-only directory should show that we are able to link files to a RO
directory when we are staging complex sources (eg. Docker source).
|
|
|
|
|
| |
This test was added to consider the edge case when a unreadable file is being
added to CAS.
|
|
|
|
|
| |
This patch adds support for the handling of artifact refs in
bst artifact pull. A test for this has also been added.
|
|
|
|
|
|
|
|
| |
Previously, before loading artifact refs (ArtifactElements) we were
checking that they were cached before loading them. This obviously becomes
a problem when we want to try and pull an artifact. This patch removes
the check for cached artifacts as we should still be able to contruct
an ArtifactElement regardless of whether it is cached or not.
|
|
|
|
|
|
|
|
| |
This patch extends support for bst artifact push so that is now
able to handle artifact refs.
If --deps all is selected and a ref is given, BuildStream will
error.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Some CI jobs still sporadically encounter a thread that wasn't cleaned
up in tests that use the HTTP server, despite calling Queue.close() and
Queue.join_thread().
As a simple SIGTERM signal should suffice to properly terminate the HTTP
server child process, this simply removes the queue and also the extra
thread for serving requests.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
--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
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|