Commits on Source (42)
-
Currently we would make sure the sandbox had a command before converting it to a list if it was given as a string. That meant that a string command would never exist and the check be invalid. This also adds the same logic in the dummy sandbox for consistency.
-
Benjamin Schubert authored
Check is command is a str and replace by list before checking existence Closes #728 See merge request !898
-
In cases where elements end up with large numbers of dependencies, the n-squared performance in `_extract_depends_from_node` can produce significant delays during project load. This patch corrects that. In addition we were double-retrieving provenance which was unnecessary. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Phil Dawson authored
_loader/loadelement.py: Use enumerate() in dependency extraction See merge request !901
-
James Ennis authored
-
James Ennis authored
-
James Ennis authored
More information regarding the use of systemd to manage the cache See merge request !904
-
Daniel Silverstone authored
The `_sentinel` in `utils.py` was used only for yaml node tracking. As such, simplify matters by removing it from `utils.py` and move it to `_yaml.py` which means that we no longer need to try and avoid a circular import issue by means of runtime importing. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
James Ennis authored
Move _sentinel from utils.py to _yaml.py See merge request !903
-
-
Valentin David authored
Fix some ruamel warnings during tests See merge request !889
-
Daniel Silverstone authored
In order to support things which might need to use the stdout FD after checkout has completed writing a tarball to it, preserve it by means of `os.dup()` and `os.dup2()` Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
In order to test things which write tarballs to stdout correctly, we need to capture the binary output cleanly. This ensures we're not potentially mismatching encodings in and out. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
With the new support for saving the stdout FDs cleanly, and binary mode capture in runcli, enable the tarball-to-stdout test. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Benjamin Schubert authored
Don't close stdout when running 'checkout' to stdout Closes #486 See merge request !905
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
Tristan/architecture docs See merge request !907
-
Jonathan Maw authored
We shouldn't need it to persist now that we cache failed build dirs. This change breaks the test `tests/integration/shell.py::test_sysroot_workspace_visible`. I can no longer see a use-case for this test. AIUI, it tested that the failed build sysroot stored in the builddir has the workspace's files in, despite the workspace being unmounted. I believe this behaviour is made redundant by cached buildtrees. This fixes part of #539
-
Jonathan Maw authored
This includes changes in app.py: * Interactive failure shell no longer uses the failed build sysroot, defaulting to the cached build tree. Changes in element.py are: * Errors caused by building don't store the failed build sysroot, instead storing that a sandbox can be created to debug the error. * When staging sources, will stage the element's cached build tree if it exists. Changes in _exceptions.py: * BstError.sandbox is now a flag of whether a sandbox can be opened up to debug the error. Changes in widget.py: * Don't try to print any information about the sandbox. Changes in _message.py: * Fix documentation so Message.sandbox is not a directory any more. This is part of #539
-
Jonathan Maw authored
-
Jonathan Maw authored
This is related to #539
-
Jonathan Maw authored
-
Jonathan Maw authored
i.e. instead of taking a directory that must contain "root" and "scratch", and treating "root" as the root, use the directory directly. In element.py: * __sandbox takes the `bare_sandbox` arg, to pass into the sandbox's constructor In sandbox.py: * If bare_sandbox, `_root` is the passed-in directory, and `__scratch` is None. * Trying to use `__scratch` when bare_sandbox is True is a bug. In _mount.py: * Don't get the value of `__scratch` if it's not needed. This is part of #539
-
Jonathan Maw authored
-
Jonathan Maw authored
This is related to #539
-
Jonathan Maw authored
Jonathan/debug remote failed builds See merge request !869
-
-
Tristan Van Berkom authored
_frontend/app.py: Set correct element-path in interactive bst-init See merge request !912
-
This includes a new command mimicking pytest-runner so that we can drop this dependency This was the only setup_requires dependency that we had and will make like easier for people behind proxies
-
Benjamin Schubert authored
Remove dependency on pytest-runner See merge request !886
-
Remove the 'MAKEFLAGS' and 'V' defaults. Now that there is a specialised 'make' element, these make-specific defaults don't make sense here. This element is meant to be a blank slate for folks to build on. Note that this is a breaking change, that will require some users to make changes to their .bst files if they are expecting these environment variable to be set. _versions.py: BST_FORMAT_VERSION bumped to 18. This fixes issue #718
-
Tristan Van Berkom authored
BREAK: manual.yaml: don't set any default env vars Closes #718 See merge request !916
-
Benjamin Schubert authored
This removes the `_instance` on the platform object that we use for caching and not recreating the object everytime at the start of every test. This is to ensure our tests share the least amount of state. The performance penalty is from 2 to 5% accross the whole test suite. The readings were done 5 times for each before and after the change and on the same computer.
-
Benjamin Schubert authored
Showing
- MANIFEST.in 2 additions, 0 deletionsMANIFEST.in
- NEWS 15 additions, 0 deletionsNEWS
- buildstream/_exceptions.py 2 additions, 4 deletionsbuildstream/_exceptions.py
- buildstream/_frontend/app.py 2 additions, 2 deletionsbuildstream/_frontend/app.py
- buildstream/_frontend/widget.py 0 additions, 11 deletionsbuildstream/_frontend/widget.py
- buildstream/_loader/loadelement.py 3 additions, 5 deletionsbuildstream/_loader/loadelement.py
- buildstream/_message.py 1 addition, 1 deletionbuildstream/_message.py
- buildstream/_stream.py 10 additions, 3 deletionsbuildstream/_stream.py
- buildstream/_versions.py 1 addition, 1 deletionbuildstream/_versions.py
- buildstream/_yaml.py 5 additions, 12 deletionsbuildstream/_yaml.py
- buildstream/element.py 19 additions, 10 deletionsbuildstream/element.py
- buildstream/plugin.py 1 addition, 1 deletionbuildstream/plugin.py
- buildstream/plugins/elements/manual.yaml 0 additions, 19 deletionsbuildstream/plugins/elements/manual.yaml
- buildstream/sandbox/_mount.py 1 addition, 1 deletionbuildstream/sandbox/_mount.py
- buildstream/sandbox/_sandboxbwrap.py 4 additions, 4 deletionsbuildstream/sandbox/_sandboxbwrap.py
- buildstream/sandbox/_sandboxchroot.py 4 additions, 4 deletionsbuildstream/sandbox/_sandboxchroot.py
- buildstream/sandbox/_sandboxdummy.py 4 additions, 0 deletionsbuildstream/sandbox/_sandboxdummy.py
- buildstream/sandbox/sandbox.py 13 additions, 5 deletionsbuildstream/sandbox/sandbox.py
- buildstream/utils.py 0 additions, 4 deletionsbuildstream/utils.py
- conftest.py 7 additions, 0 deletionsconftest.py