summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* frontend/workspace.py: Add tests for loading different versionsjjardon/versioned_docsRichard Maw2018-03-221-31/+112
|
* tests/sources/git.py: Test that we ignore inconsistent submodules.Tristan Van Berkom2018-03-222-0/+40
| | | | | | | Test this at `bst track` time, when encountering a new ref which adds a .gitmodules file but does not actually add the submodule, we check that the expected warning is in the stderr and that BuildStream does not error out for this.
* tests/testutils/repo/git.py: Add new add_file() convenienceTristan Van Berkom2018-03-221-1/+11
| | | | To write tests which add and commit a file.
* tests/frontend/fetch.py: Test failure modes of Source.get_consistency()Tristan Van Berkom2018-03-211-4/+29
| | | | | | | | | | Added a test that handled errors are reported at load time as expected. Added another test that we get the expected exception. This needs to be fixed, test contains FIXME: comment explaining that we could be doing much better here. This should be fixed in the context of issue #197
* tests/frontend/track.py: Test that we fail gracefully for post tracking errorsTristan Van Berkom2018-03-218-0/+110
| | | | | | This tests that we handle errors from Source.get_consistency() in the post tracking state updates gracefully, one test added for a handled failure, and another test added for an unhandled/unexpected exception.
* tests/frontend/track.py: Testing behavior of cross junction trackingTristan Van Berkom2018-03-205-0/+96
| | | | | | | | o Test that this fails gracefully when the toplevel project uses inline ref-storage o Test that we successfully track cross junctioned elements when the project uses project.refs
* tests/frontend/track.py: Test tracking with optionalityTristan Van Berkom2018-03-208-4/+132
| | | | | | | Tests that `bst track` sets the ref in the expected node if the node containing the ref is conditionalized with a project option. This tests both the regular inline behavior, and also the project.refs behavior.
* tests/frontend/track.py: Testing that this works with project.refsTristan Van Berkom2018-03-201-1/+18
| | | | | | Only added condition to the simplest case here, the other cases are mostly testing that track commands get the correct selection of elements when using `--deps all` and `--except` arguments.
* testutils/repo/git.py: Added branch() methodTristan Van Berkom2018-03-201-0/+3
| | | | | In order to test tracking on multiple branches, lets use the Git repo scaffolding.
* tests/format/project.py: Test that conditional statements are supported in ↵Tristan Van Berkom2018-03-204-0/+56
| | | | project.refs
* tests/pipeline/load.py: Testing source without load_ref() implementationTristan Van Berkom2018-03-204-0/+83
| | | | | | Test that we have no error when loading a project that doesnt use project.refs, and that we get the expected graceful failure when attempting to use project.refs with a Source which doesnt support it.
* tests/frontend/buildtrack.py: Modified to test saving with project.refsTristan Van Berkom2018-03-201-5/+44
| | | | | Test that we get the same functionality from the complex build + track test regardless of whether we are saving refs inline or to a project.refs file.
* Deprecate `--track-save` option from `bst build`Tristan Van Berkom2018-03-201-8/+2
| | | | | | | | | | | | | | | | | | It makes no sense to support this now that we are adding project.refs, instead of removing the option completely, we document it as deprecated and print a warning. o _frontend/cli.py: Mark the option as deprecated, warn if it's used o _scheduler/trackqueue.py: Remove save optionality o _pipeline.py: Remove save optionality o tests/frontend/buildtrack.py: Stop testing for no-save functionality, This test was actually broken, and only save functionality was being tested. This was due to using a list [True] or [False] in the @pytest.mark.parameterize() statement, both of which are truthy values.
* Remove other references to SequenceID from the code and testsJim MacArthur2018-03-131-2/+2
| | | | | widget.py: Remove SequenceID from the list of widgets. tests/frontend/logging.py: Remove %{sequence} check.
* 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-064-56/+83
| | | | | | | | | | | | | | 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: Add filter element testsJonathan Maw2018-03-0114-0/+168
|
* Add a test for default and custom loggingJim MacArthur2018-03-011-0/+81
|
* Update expected cache keys in testsJames Ennis2018-02-286-6/+6
|
* tests/integration/shell.py: Added tests for host-filesTristan Van Berkom2018-02-282-0/+98
| | | | | | | | | | | | | | | | | 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-282-7/+28
|
* tests/frontend/workspace.py: Add cache key checks to test_buildJürg Billeter2018-02-271-0/+2
| | | | Regression test for #273
* tests/frontend/pull.py: Do not use a workspace for the non-strict testJürg Billeter2018-02-271-2/+3
| | | | | The cache status of reverse dependencies of workspaced elements cannot always be determined upfront.
* Integration tests: Removing some dead codeTristan Van Berkom2018-02-278-29/+4
| | | | | | | | | | o Removing format_files() helper in testutils o Removing imports of format_files() o Removing imports of walk_dir() where it's not used o Removing `element_path` variables that are unused
* tests/frontend/push.py: Test that we don't push stuff that we just pulledSam Thursfield2018-02-262-0/+67
|
* tests/frontend: Summarize the existing push and pull testsSam Thursfield2018-02-262-0/+27
| | | | | These tests are too long to understand at a glance so a summary is needed of each.
* tests/integration/shell.py: Added tests for inheriting environment variablesTristan Van Berkom2018-02-252-3/+44
|
* 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.
* testutils/runcli.py: Print something helpful if BuildStream fails to exit ↵Tristan Van Berkom2018-02-251-0/+1
| | | | | | | | properly When testing a recent patch, I had missed a return of the exit code in `bst shell` resulting in the CLI exiting with `None`; this patch makes the fixture more helpful, where previously it just printed `None`
* tests/integration/base/generate-base.sh: Typo fix in commentSam Thursfield2018-02-211-1/+1
|
* tests/integration: Use a minimal custom base sysrootSam Thursfield2018-02-219-29/+83
| | | | | | | | | | | | | | | 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.
* tests/integration: Do not use C++ compiler in workspace-mount testJürg Billeter2018-02-213-8/+8
| | | | | | | This means that the integration test suite no longer requires a C++ compiler, and in practice this can allow us to avoid depending on the GNU C/C++ compilers altogether and instead use the vastly smaller Tiny C Compiler.
* tests/integration: Use a simpler CMake test projectSam Thursfield2018-02-215-31/+17
| | | | | | | | | | | The 'step7' tutorial was fine, but it requires a C++ compiler to build. I have replaced it with a simpler testcase which is based on the existing amhello testcase. This means that the integration test suite no longer requires a C++ compiler, and in practice this can allow us to avoid depending on the GNU C/C++ compilers altogether and instead use the vastly smaller Tiny C Compiler.
* tests: Add a git test that project overrides workJonathan Maw2018-02-194-0/+52
|
* tests: Add tests to verify git sources obey submodule checkout configJonathan Maw2018-02-192-0/+208
|
* testutils: Add support for git source controlling submodule checkoutJonathan Maw2018-02-191-6/+11
|
* tests: fix erroneous comment in git testJonathan Maw2018-02-191-1/+1
|
* _yaml.py: Prevent ruamel from removing underscoresPhillip Smyth2018-02-154-18/+44
| | | | | | | | | | The ruamel parser interprets values such as 1_2_3 as numbers, ignoring the underscores. However, for `track` we need the value as a verbatim string. This change configures ruamel to parse all values as strings, leaving potential conversions to node_get() with the `expected_type` parameter. This fixes #166 and adds tests
* test: Add tests that bzr workspace initialization acts as expectedJonathan Maw2018-02-121-0/+19
|
* Add integration tests for edge cases involving symlinks and overlapsSam Thursfield2018-02-125-0/+152
|
* Add test for project-specific artifact shares with junctionsJürg Billeter2018-02-0810-0/+121
|
* Add junction testsJürg Billeter2018-02-0847-0/+435
|
* Pass Project instance to LoaderJürg Billeter2018-02-085-23/+26
| | | | Project access will be required for junctions.
* Move cli_options from Context to ProjectJürg Billeter2018-02-086-11/+11
| | | | cli_options are project-specific.
* Add workspace mount integration test175-refactor-integration-testsTristan Maat2018-02-073-0/+50
|
* Merge integration tests into general testsTristan Maat2018-02-0730-2/+903
|
* Add bzr testTristan Maat2018-02-073-0/+49
|