| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Runs external plugin tests on fedora 29 with allowed failure.
At present this only tests against a branch, as there is tooling missing
in bst-plugins-experimental, and there is no tag which would be
compatible. In future there should be two targets, one testing plugins
master and one testing the last tag.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds tooling to define a list of external plugin repos in
`requirements/external-requirements.yml` in a nice yaml format, which
seemed the easiest way to sort out the potential config issues. The main
thing is the addition of the `requirements/parse-external.py` script,
which generates a list of package names and two requirements.txt files,
one for fixed versions, one for master.
It is assumed that `master` more means "test against a branch" and
`fixed` means "test against a tag".
Also adds tox environments to run these tests.
|
| |
|
|
|
|
|
|
| |
As this test is parametised by the repo kinds from the _sourcetests, we
should move it to be with them. As an additional motivation, not moving
this means that these tests fail when we register external sources.
|
| |
|
|
|
|
|
|
|
|
| |
As we're moving all plugins out of this repo, but we still should
probably test that variables can be loaded from defaults and overrided
correctly, I've added a very basic test plugin to handle this. It's
essentially just a BuildElement, like autotools etc, but with basic
variables to check if they're loaded.
|
|
|
|
| |
This stops the tests from being interlinked for BuildStream itself.
|
|\
| |
| |
| |
| | |
Replace is_fork_allowed() with prepare_fork()
See merge request BuildStream/buildstream!1641
|
| |
| |
| |
| | |
This is now handled in Context.prepare_fork().
|
| |
| |
| |
| | |
This is no longer required as gRPC connections are closed before fork.
|
| | |
|
| |
| |
| |
| |
| | |
gRPC channels might be opened after the scheduler has already been
started. Make sure channels are closed right before spawning jobs.
|
| | |
|
| |
| |
| |
| | |
This aligns the method name with has_open_grpc_channels().
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
win32: _platform/win32: add support for win32
See merge request BuildStream/buildstream!1624
|
|/
|
|
|
|
| |
Copy the approach of 'Darwin' and provide a SandboxDummy.
This enables us to run 'bst workspace list' on Windows.
|
|\
| |
| |
| |
| |
| |
| | |
Improve assertions around element loading progress reporting
Closes #1094
See merge request BuildStream/buildstream!1608
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This should be safe now - this particular point turned out to be
involved in loading dependencies of junction elements, rather than
anything in their projects.
This meant that, yes, we were missing progress, however junction
elements are not allowed to have dependencies in the first place, so
we simply short-circuit their load and avoid the problem altogether.
We also added more explicit progress opt-outs, since it's far too easy
to end up with spurious Nones.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To ensure that we only disable element loading task progress reporting
for very specific code paths, we need to teach the test suite to be a
bit smarter.
For this reason we now mock a _Task object and return it in our mock
context's relevant method invocations.
Other code paths that deliberately invoke the loader without task
reporting now mark their loads with NO_PROGRESS.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
By avoiding this, loading metaelements of junctions becomes cheap even
for junctions with erroneous dependencies, and we can ignore their
task reporting.
Task reporting for junction metaelement loading is confusing, since
the junction element itself will never be part of the pipeline, so
we'd rather not have this show up as an actual loaded element.
Elements loaded from the junction are loaded separately, therefore
this does not affect their progress display.
|
|\
| |
| |
| |
| | |
Gracefully fallback to fetching source if remote doesn't have every blob cached
See merge request BuildStream/buildstream!1635
|
| |
| |
| |
| |
| |
| | |
If a remote has some missing blobs for a source, we should not fail
abruptly but instead continue to the next remote, and, in the worst
case, fetch the source again.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Extract the configuration of the BuildStream cli as it is every
time the same into a separate function.
This helps seeing what is setup of the tests and what is the actual
test itself.
|
| |
| |
| |
| |
| |
| | |
All tests in this file use the same method for creating an element.
It is easier to write new tests to have this factored out.
|
| |
| |
| |
| |
| | |
This removes the need of having a hardcoded element name, by simply
reusing the 'element_name' variable.
|
|/
|
|
| |
This method can be reused and shared, and makes the tests more readable.
|
|\
| |
| |
| |
| | |
setup.cfg: make xfails strict by default
See merge request BuildStream/buildstream!1632
|
| |
| |
| |
| | |
tests: remove strict kwargs from xfail marks
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
_fuse/mount.py: Monitor the fuse process while waiting for the mount
Closes #1158
See merge request BuildStream/buildstream!1634
|
|/
|
|
|
|
|
|
|
|
|
| |
In some cases, users might not have permissions to use fuse, or fuse
might crash.
This was previously leading to a hanged process and, with chance an
error message on the UI, which could be overwritten.
This ensures we are explicitely monitoring the fuse process while
waiting and adds better reporting of the fuse errors.
|
|\
| |
| |
| |
| |
| |
| | |
.gitlab-ci.yml: Bump versions for overnight tests
Closes #1090
See merge request BuildStream/buildstream!1631
|
|/
|
|
|
| |
This fixes the overnight tests by updating the freedesktop-sdk and
the bst-plugins-experimental version
|
|\
| |
| |
| |
| |
| |
| | |
_artifactcache.py: Don't push artifact blobs when no files are present
Closes #1145
See merge request BuildStream/buildstream!1630
|
|/
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
Listen for casd failures and abort the run when they happen
Closes #1157
See merge request BuildStream/buildstream!1620
|
|/
|
|
|
|
|
| |
This adds a listener on the scheduler's event loop to ensure that
the buildbox-casd process stays alive during the run. If that fails,
terminate all running processes, we know they can't succeed anyways
and exit accordingly.
|
|\
| |
| |
| |
| | |
tests/frontend/buildcheckout.py: Create required symlinks on the fly
See merge request BuildStream/buildstream!1629
|
|/
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
Defer workspace source commits
Closes #1159
See merge request BuildStream/buildstream!1628
|
|/
|
|
|
|
|
|
|
| |
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()`.
|
|\
| |
| |
| |
| | |
setup.cfg: Fix xdg env vars to not affect the host
See merge request BuildStream/buildstream!1627
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
cli.py: no fcntl on Windows
See merge request BuildStream/buildstream!1623
|