summaryrefslogtreecommitdiff
path: root/tests/integration/shell.py
Commit message (Collapse)AuthorAgeFilesLines
* Expose basic api for testing external plugins.phil/plugin-testing-apiPhil Dawson2019-02-081-2/+1
| | | | | | | | | | | | | | | | | | We want external plugins to be able to make use of the core testing utils. This commit exposes the basic utilities which are currently in use in bst-external plugins. If necessary, more utilities could be exposed in the future. Moves the following files from tests/testutils/ to buildstream/plugintestingutils/: o runcli.py o integration.py As part of this, this commit makes the following changes to runcli.py and integration.py: o runcli.py: Fix linting errors o runcli.py: Add user facing documentation o Integration.py: Add user facing documentation
* tests: Skip tests that use sandboxes on WSLJonathan Maw2019-02-061-15/+15
|
* Mark 'old' checkout command as obsoleteJames Ennis2019-01-221-1/+1
| | | | | | | | | | | This commit marks 'bst checkout' as a 'hidden' command. If used, the user will be prompted to use the new 'bst artifact checkout' command. All tests which used 'bst checkout' have been modified to use the new artifact sub-command. This partially solves #822.
* tests: Add tests for guessing element namesJonathan Maw2018-12-111-3/+13
| | | | This is a part of #222
* tests: Test bst commands from an external workspaceJonathan Maw2018-12-111-0/+26
| | | | This is a part of #222
* Workspace CLI updateWilliam Salmon2018-11-211-1/+1
| | | | | | | This is to update the workspace CLI to as agreed on the mailing list https://mail.gnome.org/archives/buildstream-list/2018-September/msg00046.html This patch also introduces the default workspace directory.
* Ensure tests requiring bubblewrap are correctly markedBenjamin Schubert2018-11-201-0/+14
|
* tests: Add tests for 'bst shell --sysroot'Jonathan Maw2018-10-301-0/+29
| | | | This is related to #539
* element.py: Always clean up the rootdirJonathan Maw2018-10-301-42/+0
| | | | | | | | | | | | | 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
* tests: test that integration commands can use /devRichard Maw2018-09-181-0/+10
|
* _stream.py: Add StreamError exceptionTristan Van Berkom2018-05-081-1/+1
| | | | Use Stream error for Stream errors.
* tests/integration/shell.py: Test that workspaced files are visible in a bst ↵Tristan Van Berkom2018-04-111-0/+77
| | | | | | | | | | shell Test both in regular `bst shell --build`, and on a failed build sysroot with `bst shell --sysroot`, the latter being the semantic used when debugging a failed build. This guards against regressions of issue #346
* Removing all traces of `environment-inherit` shell configuration.Tristan Van Berkom2018-03-061-27/+7
| | | | | This is made redundant by the more complete `environment` configuration, so lets quickly remove the former in this new format version 4.
* tests/integration/shell.py: Testing new shell environment configurationTristan Van Berkom2018-03-061-2/+42
|
* tests/integration/shell.py: Adding tests for env var expansions in `host-files`tristan/shell-enhancementsTristan Van Berkom2018-03-061-0/+25
|
* integration tests: Refactoring for dynamic project configurationsTristan Van Berkom2018-03-061-45/+19
| | | | | | | | | | | | | | o CliIntegration.run() now takes a `project_config` option, this will be composited on top of the existing, substituted project.conf o Removing gnomesdk alias from integration tests project.conf o Using `sysroot` alias instead of `gnome7` alias o Make base-alpine.bst use the `sysroot` alias now o Removed `create_project_config()` from shell.py tests, now use the new built-in feature for this which is cleaner.
* tests/integration/shell.py: Updated shell testsTristan Van Berkom2018-03-041-32/+34
| | | | | | | | | | | o Added new test for `bst shell --mount` o Removed the test that a directory is refused in `host-files`, this is no longer a requirement o Updated names of the `host-files` mount specification members o Test the new `optional` feature of the mount specifications
* tests/integration/shell.py: Added tests for host-filesTristan Van Berkom2018-02-281-0/+97
| | | | | | | | | | | | | | | | | Newly added tests: o Test that bind mounting a file works o Test that bind mounting a file into a non-existing directory works o Test that bind mounting is disabled in an isolated shell o Test that the shell still works, but a warning is printed and the mount is refused in case the specified file on the host was found to be a directory o Test that the shell still works, but a warning is printed in the case that the file specified on the host does not exist
* tests/integration/shell.py: Generate project.conf on the flyTristan Van Berkom2018-02-281-0/+28
|
* tests/integration/shell.py: Added tests for inheriting environment variablesTristan Van Berkom2018-02-251-3/+37
|
* tests/integration/shell.py: Dont use shlex, use command vectorsTristan Van Berkom2018-02-251-9/+15
| | | | | | | | | Using shlex messes with the argv we want to pass to a shell, this was not working for the newly added test which passes "${var}" strings as arguments to the shell. Also, removed a redundant line to explicitly build something in the 'no_shell' test; that is taken care of by the helper.
* tests/integration: Use a minimal custom base sysrootSam Thursfield2018-02-211-1/+1
| | | | | | | | | | | | | | | We have been using the Freedesktop SDK binaries to provide a base system to run the integration tests. This works OK but it weighs in at 985MB of content, and there is no simple way to customize it so that we only download the bits we actually need. This commit changes the tests to use a custom sysroot based on the Alpine Linux distribution. The sysroot is 155MB unpacked, and packs down to a 27MB .tar.xz. This speeds up the integration tests significantly as we greatly reduce the amount of network traffic required and the amount of data that gets copied around when creating the staging area.
* Merge integration tests into general testsTristan Maat2018-02-071-0/+81