summaryrefslogtreecommitdiff
path: root/tests/frontend
Commit message (Collapse)AuthorAgeFilesLines
* tests/frontend/buildcheckout.py: Enable test_build_checkout_tarball_stdoutdanielsilverstone-ct/preserve-stdoutbschubert/fix-binary-output-captureDaniel Silverstone2018-10-261-2/+1
| | | | | | | 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>
* Fix some ruamel warnings during testsValentin David2018-10-261-2/+2
|
* yamlcache.py: Add YAML cache changed file testLachlan Mackenzie2018-10-151-3/+26
| | | | | * Test in same style as test_yamlcache_used * Move of project not required so removed
* yamlcache.py: Add yaml cache testsJonathan Maw2018-10-151-0/+119
|
* testing: Add regression test for workspace bugJosh Smith2018-10-041-1/+23
|
* tests: Add regression test for mirroring with project.refsJonathan Maw2018-10-031-0/+76
|
* tests/frontend/rebuild.py: Add strict/non-strict rebuild testjuerg/rebuildJürg Billeter2018-09-242-0/+40
| | | | | | Test rebuild that requires staging of weakly cached dependency. This is a regression test for #607.
* _stream.py: Ensure source-bundle's source directory existsChandan Singh2018-09-213-0/+55
| | | | | | | | | | | | Currently, `source-bundle` command is entirely broken as it tries to stage the sources in a directory that doesn't exist. Fix it by ensuring that we create the necessary directories before calling any methods that try to use those directories. This fix comes with a regression test to ensure that the basic use-case of `source-bundle` continues to work in future. Fixes https://gitlab.com/BuildStream/buildstream/issues/651.
* tests.py: Test skip on pushJosh Smith2018-09-191-0/+23
| | | | | Adds a test to ensure that BuildStream alerts the user of a skipped push when the remote already has the artifact cached.
* Rework Skipped usageJosh Smith2018-09-191-1/+2
| | | | | | | | | | The SKIPPED message type is now used to indicate the end of a task which was successful without having to perform the given task. This overhauls the use of `Queue.done()` and therefore queues do not need to provide a processed/skipped return value from `done()`. Instead this is replaced with the action of raising a `SkipJob` exception from within `Queue.process()`.
* Tidy relative workspace testsRichard Maw2018-09-141-17/+21
| | | | | | | | | | | | | They were moving the whole tmpdir to move the project repository. This moves the cache directories etc. as well, meaning cli.run can't find them. This was worked around by setting configure=False, but this has the side-effect of making use of the user's caches, which it should not be doing for reproducibility reasons. By changing the tempdir layout to have the project in a subdirectory we can move the project around for the relative workspace tests without losing track of the configured state directories, so we can leave configure=True and avoid touching the user's caches.
* tests: Use cli.configure for custom logging testRichard Maw2018-09-141-3/+2
| | | | | | Overriding the config with a custom config file on the command-line prevents it merging in the test-specific configuration and can permit it to attempt to initialise the user's cache.
* source.py: Added `primary` argument to URL marking APIsTristan Van Berkom2018-09-021-3/+15
| | | | | | | | | | | | | The Source must now mention whether the marked or translated URL is "primary" or not. Even when a Source may have multiple URLs, the auxilliary URLs are derived from the primary one, not only is this true for git, but it is mandated by our tracking API which assumes there is a primary URL. This adjusts the `git` source and the test `fetch_source.py` source to behave properly and advertize it's primary URL properly. This is a part of #620
* Report processing errors from trackingValentin David2018-08-301-0/+34
| | | | | | Failures to write files when tracking were not reported. Fixes #533.
* tests/frontend/mirror.py: Reenable test_mirror_fetch_upstream_absent[ostree]tristan/538-reenable-ostree-testTristan Van Berkom2018-08-301-4/+0
| | | | | This test was skipped because of issue #538, but #538 was fixed and the test was still not reenabled.
* Add tests that not-found objects in cache are shown as SKIPPEDbschubert/log-missed-cacheBenjamin Schubert2018-08-291-0/+19
|
* Fix E305 warningsJavier Jardón2018-08-281-0/+1
|
* tests/frontend/workspaces.py: Removing some redundant testsTristan Van Berkom2018-08-281-4/+4
| | | | | Removed redundant tests from recently merged !740, this new test does not need to run for every different source kind.
* tests/frontend/workspace.py: Add test for workspaced dependenciesValentin David2018-08-281-0/+70
| | | | This adds a regression test for #461.
* Improve error message for deleted open workspacesValentin David2018-08-231-0/+13
| | | | Fixes #576.
* Trying to mitigate a mtime granularity braking the cache testswillsalmon/CacheExpiryTestWilliam Salmon2018-08-162-2/+53
| | | | | This patch mitigates the granularity of the mtimes used on the default gitlab runners, Allowing the test suite to pass on these runners.
* Fix ostree repository mirroringValentin David2018-08-161-4/+0
| | | | | | | | | | | Ostree mirrors were not sharing the same local repository, so it was impossible the request refs from the right local repository when data was fetched from a mirror rather than upstream. Instead of having several repository with one remote each, we now have one repository with several remotes. This fixes #538.
* tests: Add tests for configurable warningsJosh Smith2018-08-158-0/+155
| | | | | | | | This adds multiple tests for custom plugin warnings and core warnings, providing checks for both cases which should cause warnings and errors when configured as fatal. Also adds tests for cache key calculations.
* _project.py: Add fatal-warnings configuration itemJosh Smith2018-08-151-10/+17
| | | | | | | | | | | | | | | | | | | | This allows for users to configure fatal-warnings to be either a list of warnings. This commit deprecates the use of fail-on-overlap within project.conf, this will now use the fatal-warnings configuration item. element.py: Cache key calculation now takes into account all of the fatal-warnings tests: This modifys the tests/frontend/overlaps.py tests to support the new fatal-warnings configuration. Backwards compatibility is also tested for `fail-on-overlap` _versions.py: BST_FORMAT_VERSION bumped to 15 for fatal-warnings BST_CORE_ARTIFACT_VERSION bumpted to 5 for fatal-warnings Fixes: #526
* Test we can discovered submodules on fallback mirrored git repositoriesValentin David2018-08-141-0/+96
|
* Test git mirroring fallback on submodules when main repo is not mirrored.Valentin David2018-08-141-0/+97
|
* tests: Add a test of the git source with submodulesJonathan Maw2018-08-143-0/+80
|
* tests: Test that fetching passes when upstream is absentJonathan Maw2018-08-141-0/+61
|
* tests/frontend/mirror.py: Re-enable a test for gitValentin David2018-08-141-4/+0
|
* Fix tracking of junctions used in project.conf.Valentin David2018-08-131-0/+22
| | | | | | | | | | | | | | Stream._load() now returns early without resolving build pipeline when only tracking. Resolving track pipelines does not require to fully load project configurations when when elements to track are only junctions. However build pipelines require to fully load project configurations. This might not be possible in the case a project configuration includes a file from a junction that yet needs to be tracked. Fixes #565.
* Implementing relative workspacesrelative_workspacesPhillip Smyth2018-08-101-11/+52
| | | | | | | This fixes #191 A note has been added to NEWS explaining backwards compatibility issues
* Add support for include '(@)' in project.conf and .bst filesValentin David2018-08-022-2/+293
| | | | Fixes #331.
* Move tests.frontend.generate_junction to test.testutilsValentin David2018-08-028-48/+12
|
* local plugin: validate project pathsTiago Gomes2018-08-021-11/+11
| | | | | | The autotools example had to be copied over inside of the junction example, as referring to a path outside of the project directory is now disallowed.
* element.py: Raise an exception on unbuilt element checkoutMartin Blanchard2018-08-011-0/+10
| | | | | Trying to checkout an element that has no cached artifacts should be and handled failure. See BuildStream/buildstream#447.
* tests: Add mirrored fetching and tracking testsJonathan Maw2018-07-272-0/+487
|
* _stream.py: Added functionality for workspace open -fPhillip Smyth2018-07-251-0/+52
| | | | tests/frontend/workspace.py: Added tests
* tests/frontend/show.py: Add test case for maximum recursion depth being exceededPhil Dawson2018-07-251-2/+58
| | | | | | | Add test to ensure gracefull handling of exception thrown while loading a pipeline due the python's max recursion depth being exceeded. This is part of the work for issue #203
* Add support for creating a tarball on bst checkouttiagogomes/tarball_checkoutTiago Gomes2018-07-201-1/+108
| | | | | | | | One of the tests added is configured to be skipped for now, as dumping binary data is causing a bad descriptor exception when using the pytest capture module. Closes #263.
* tests/frontend/buildcheckout.py: Added tests for "Add a `--deps` flag to ↵add_flag_to_checkoutPhillip Smyth2018-07-171-0/+36
| | | | `bst checkout`"
* tests/frontend/pull.py: Add pull test for missing blobs on the serverJürg Billeter2018-07-171-0/+42
|
* tests/frontend/push.py: Remove xfail mark from LRU cache testJürg Billeter2018-07-171-4/+0
| | | | The CAS server now supports LRU.
* tests: Test push/pull on all platformsJürg Billeter2018-07-172-11/+0
|
* tests/frontend/push.py: Use ArtifactShare statvfs mockingJürg Billeter2018-07-171-29/+9
| | | | | This makes it unnecessary to update the free space in the mock object in the middle of tests.
* tests: Use context manager for ArtifactShareJürg Billeter2018-07-172-422/+426
|
* tests/frontend/push.py: Add missing skip annotation for non-Linux468-source-bundle-except-argument-is-ignoredJürg Billeter2018-07-091-0/+1
|
* tests: Remove unneeded ArtifactShare.update_summary() methodJürg Billeter2018-07-092-24/+0
| | | | The OSTree summary file is no longer used.
* Allow tracking dependencies within sub-projects.Valentin David2018-06-082-0/+199
| | | | | | | --track-cross-junctions now concerns crossing junctions rather than forbidding elements in sub-project to be tracked. Part of #359.
* Handle cross junction elements in workspaces.Valentin David2018-06-081-0/+117
| | | | | | | | | | | Workspaces are now index by colon separated junction path. This now allows to create workspaces for elements in external projects. Workspaces are owned by context instead of root project. However it is initialized once top-level project is registered as we need to resolve paths relatively to this top-level project. Part of #359.
* Interpret names as colon separated junction path in loader.Valentin David2018-06-085-4/+159
| | | | | | 'a.bst:b.bst' gets interpreted as 'b.bst' from junction 'a.bst'. Part of #359.