| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
When commands are batched, the failure message can't include the command
group label with buildbox-run.
|
|
|
|
|
|
|
|
| |
This adds a timed activity message to bring batch command logging for
REAPI-based sandboxes in line with the default sandbox as far as
possible.
Thix fixes 3 xfails with buildbox-run.
|
|
|
|
|
| |
Instead output "junction" in magenta for info. Also include test
in format/junctions.py
|
|
|
|
| |
Monkeypatch is *really* scared of non-str values. Let's calm it down.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* `uname -m` is unusable in case of IBM AIX 7 as it reports the serial
number of the machine. As a workaround, special case it and use the
reported processor identifier.
* tests/format/optionos.py: Don't use AIX for unsupported architecture
`AIX` is special-cased in BuildStream, so use a different system for
testing unsupported architectures.
|
|
|
|
| |
buildbox-run-userchroot requires a shell.
|
|
|
|
|
|
|
|
| |
The root directory is not allowed to be writable by userchroot.
+ sh -c -e echo 'I can write to root' > /test
sh: can't create /test: Permission denied
|
|
|
|
|
|
|
| |
The root directory is not allowed to be writable by userchroot.
+ sh -e -c touch /foo
touch: /foo: Permission denied
|
|
|
|
|
|
|
|
| |
The root directory is not allowed to be writable by userchroot.
+ sh -e -c mkdir -p /tests
mkdir: can't create directory '/tests': Permission denied
Command 'mkdir -p /tests' failed with exitcode 1
|
|
|
|
|
| |
The tests are flaky due to non-deterministic timestamps in the output of
`ls -l`. See https://gitlab.com/BuildStream/buildstream/issues/1218
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
While this is deep in our test suite, and should therefore never
create files that leak information, our code security linter
complains about setting broad file permissions.
We should really be using `utils._force_rmtree` here anyway, to stop
duplicating code, so that's what we do.
|
|
|
|
| |
Individual commands are not logged with command batching.
|
|
|
|
| |
Individual commands are not logged with command batching.
|
|
|
|
| |
Individual commands are not logged with command batching.
|
|
|
|
| |
Logging differs with command batching.
|
|
|
|
| |
Bind mounting is not supported.
|
|
|
|
| |
The root directory can't be marked read-only with buildbox-run.
|
| |
|
|
|
|
|
|
| |
The purpose of the test is to ensure POSIX shared memory objects are
supported in the sandbox. On Linux this requires /dev/shm to be a tmpfs.
However, this should be supported by any full featured sandbox.
|
|
|
|
|
|
| |
Makes sure that `cache-junction-elements` and `ignore-junction-remotes`
work together correctly, and that setting `ignore-junction-remotes`
doesn't just remove all remote caches.
|
| |
|
| |
|
|
|
|
|
| |
Add tests for interactive `bst init` command using
[pexpect](https://pexpect.readthedocs.io).
|
|
|
|
|
|
|
|
| |
To protect the local cache of buildbox-casd from corruption without the
use of FUSE, buildbox-casd has to run as a different user.
Use less restrictive umasks in the source determinism tests to allow
buildbox-casd to function when it is running as a separate user.
|
|
|
|
| |
This is not necessary and doesn't work with CASD_SEPARATE_USER.
|
|
|
|
| |
This is not necessary and doesn't work with CASD_SEPARATE_USER.
|
|
|
|
|
| |
Linux does not allow hardlinks to read-only files of other users by
default since Linux 3.6 (see /proc/sys/fs/protected_hardlinks).
|
|
|
|
|
|
| |
This also involves a number of changes to tests and other parts of the
codebase since they were hacking about wit API that shouldn't have
existed.
|
|
|
|
|
|
|
|
| |
This updates all dependencies on the project, which is mainly needed
by python3.8 but can be done independentely.
This also disables multiple false positive lint errors and disable a
new check that we don't need.
|
|
|
|
|
|
| |
This gives a potentially more explicit understanding of what went
wrong, and pytest can give better information about that exception
than just us asserting the return code.
|
|
|
|
|
| |
Newer version of pylint detect when a comprehension would not be needed.
Let's remove all the ones that are indeed extraneous
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`tests/frontend/buildcheckout.py` is already very crowded with all sorts
of tests. Since this test is not really about testing `bst build` but
rather about testing whether BuildStream can detect the default targets
correctly, move it to a separate test module.
At the same time, also improve the actual tests. Currently the test
compares the number of sub-directories in BuildStream log directory with
the number of elements. Change it such that we directly query
BuildStream about what's been built rather than trying to guess.
While doing so, sanitize its project directory to make it clearer what's
being tested.
|
|
|
|
|
|
| |
1. Check that an open workspace can be built via remote-execution.
2. Changing file content should result in a full rebuild
3. Modifying a file mtime should result in a full rebuild
|
| |
|
|
|
|
|
| |
builds no longer affect the local copy but the buildtree can be checked
for the configure results
|
|
|
|
|
|
|
|
|
|
| |
These were caused by unhandled errors from plugins when calling
`Source.get_consistency()`. This doesn't really solve the problem,
since that interface is still used un-wrapped elsewhere, but it
enables removing `Element.__schedule_tracking()` and fixes a bug.
Ultimately we'd like to remove `Source.get_consistency()`, so this
isn't too long-term of a problem.
|
| |
|
| |
|
|
|
|
|
|
| |
`#!/usr/bin/env bash` should generally be used instead to avoid
breaking on systems that do not *have* a `/bin/bash`. This is just a
test, but rather annoying on my machine.
|
|
|
|
|
|
|
| |
As discussed over the mailing list, reformat code using Black. This is a
one-off change to reformat all our codebase. Moving forward, we
shouldn't expect such blanket reformats. Rather, we expect each change
to already comply with the Black formatting style.
|
|
|
|
| |
This also adds a test to ensure we are correctly setting the cache up
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the `BaseRemote` would call `_check()` on the children, which
states that errors should be sent back as a string. However,
`BaseRemote` doesn't check the return of `_check()`.
This changes the contract so that subclasses throw `RemoteError`
themselves.
This also fixes the `ArtifactShare` and add a test.
|
|
|
|
|
|
|
|
|
|
| |
We expect `INVALID_ELEMENTS` to be a list of element names. However we
are missing a comma in between the names, so they end up being
concatenated into a single strings.
The test passes either way (which is not ideal) because it just checks
that the suggested completion is _different_ than the expected in case
of errors.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creates /dev/shm as a tmpfs in the sandbox. Before now access to
/dev/shm was only available by a plugin using `Sandbox.mark_directory()`
or adding to `Sandbox.DEVICES`, either of which would _mount_ /dev/shm
into the sandbox, allowing pollution from the host. This adds it as a
tmpfs by default, which seems sensible as it is required for POSIX
support.
Also adds a test which makes sure that we can open a shared memory
object inside the build sandbox with some (probably poor) C code.
|
|
|
|
| |
This ensures we correctly expand "~" in paths to certificates
|
|
|
|
|
|
| |
Attempting to open a workspace for the same element without closing it
now raises. This makes this kwarg unnecessary and tests should close
workspaces between attempts to open.
|