summaryrefslogtreecommitdiff
path: root/tests/frontend
Commit message (Collapse)AuthorAgeFilesLines
* tests/frontend/show.py: Test behavior of unfetched/inconsistent workspaced ↵tristan/fix-workspaced-junctions-1.2Tristan Van Berkom2019-05-241-6/+37
| | | | | | | | | junctions We already test the behavior without workspaces, lets just augment these tests to also run with a workspaced junction and check the results. This guards against regressions of #1030.
* tests/frontend/buildtrack.py: Test that tracking builds in non-strict mode ↵tristan/fix-build-track-all-no-strict-1.2Tristan Van Berkom2019-05-091-1/+77
| | | | | | actually build This is a regression test for issue #1014
* tests/frontend/buildtrack.py: Extending tests to ensure we build after trackingTristan Van Berkom2019-05-091-2/+15
| | | | | This adds a check to test_build_track() to ensure that the target is cached as a result of building with tracking of selected elements.
* tests/frontend/push.py: Test pushing artifacts in non-strict modetristan/fix-non-strict-push-1.2Tristan Van Berkom2019-04-151-0/+46
| | | | This is a regression test for issue #990
* tests/frontend/track.py: Use test_track_recurse() to stress test SourcesTristan Van Berkom2019-04-141-13/+47
| | | | | | | | This causes multiple source instances to interact with the same backing data store at the same time, increasing the likelyhood of triggering issues around concurrent access. This more reliably triggers issue #868
* tests/frontend/workspace.py: Test that all elements build with workspace in playtristan/backport-update-state-changes-1.2Tristan Van Berkom2019-03-2423-0/+157
| | | | | | | | | | | | | | | | | - Tests that the target is still built even when a workspace is open on a runtime dependency of a build-only dependency. - Tests that the target is still built even when a workspace is open on a runtime dependency of a runtime dependency of a build-only dependency This adds the regression test provided by Matthew Yates for issue #919 This test differs from the one committed in master as: - We have an orthogonal bug in 1.2.x where buildable elements show up in a waiting state instead of a buildable state - Some new APIs were used in the test case added in master, adjusted to use only 1.2 APIs for the test case.
* tests/frontend/overlaps.py: Added regression test for cross project overlapsTristan Van Berkom2019-02-227-8/+61
| | | | | | | | | This test ensures the overlap failure vs warning policy in one project only ever affects the artifacts created for the project which declares it and does not force it's policy onto another consuming project. A regression test against issue #926
* buildstream/_artifactcache/cascache.py: Set 0644 rights to pulled filesvalentindavid/pull-chmod-bug-1.2Valentin David2019-02-131-0/+68
| | | | This was broken by 9252a18180ce79d70c193768293baa0f0eff9981.
* Cleanup cache in cas server more agressivelyValentin David2018-11-291-0/+4
| | | | | When there is less than 2GB left, it cleans up have 10GB available. These values are configurable.
* Ensure `--deps=none` option works for `bst checkout`Chandan Singh2018-10-293-12/+19
| | | | | | | | | | | This is a backport of !819. --- Currently, `bst checkout --deps none` command always produces empty output. Fix this issue and add regression test for the same. Fixes #670.
* 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()`.
* source.py: Added `primary` argument to URL marking APIsTristan Van Berkom2018-09-031-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-test-1.2Tristan 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 SKIPPEDBenjamin Schubert2018-08-291-0/+19
|
* tests/frontend/workspaces.py: Removing some redundant testsjuerg/workspaced-dependencies-1.2Tristan 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 workspacestristan/inconsistent-workspace-1.2Valentin David2018-08-231-0/+13
| | | | Fixes #576.
* 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.
* Test we can discovered submodules on fallback mirrored git repositoriesvalentindavid/fallback_mirror_git-1.2Valentin David2018-08-161-0/+96
|
* Test git mirroring fallback on submodules when main repo is not mirrored.Valentin David2018-08-161-0/+97
|
* tests: Add a test of the git source with submodulesJonathan Maw2018-08-163-0/+80
|
* tests: Test that fetching passes when upstream is absentJonathan Maw2018-08-161-0/+61
|
* tests/frontend/mirror.py: Re-enable a test for gitValentin David2018-08-161-4/+0
|
* element.py: Raise an exception on unbuilt element checkoutMartin Blanchard2018-08-141-0/+10
| | | | | Trying to checkout an element that has no cached artifacts should be and handled failure. See BuildStream/buildstream#447.
* tests/frontend/show.py: Add test case for maximum recursion depth being exceededPhil Dawson2018-08-141-1/+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
* _stream.py: Added functionality for workspace open -fPhillip Smyth2018-08-131-0/+52
| | | | tests/frontend/workspace.py: Added tests
* 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.
* Add support for include '(@)' in project.conf and .bst filesValentin David2018-08-032-2/+293
| | | | Fixes #331.
* Move tests.frontend.generate_junction to test.testutilsValentin David2018-08-038-48/+12
|
* local plugin: validate project pathsTiago Gomes2018-08-021-11/+11
|
* tests: Add mirrored fetching and tracking testsJonathan Maw2018-07-292-0/+487
|
* Add support for creating a tarball on bst checkouttiagogomes/tarball_checkout_1.2Tiago 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.
* pushreceive.py: Ensure huge artifacts are not pushedJames Ennis2018-06-071-1/+0
|
* push.py: Add tests to test remote cache expiryJames Ennis2018-06-071-1/+184
| | | | | | | | The tests include a new environment variable: BST_CACHE_QUOTA. This variable is used in receive_main() in pushreceive.py. Test names: test_artifact_expires, test_large_artifact_is_not_cached_remotely test_recently_pulled_artifact_does_not_expire: marked as xfail until we implement LRU expiry in remote share
* element.py: Fix consistency of workspaced elements when ref is missingChandan Singh2018-05-171-0/+32
| | | | Fixes #393.
* bst-init: Ensure --element-path is respected by the commandchandan/fix-bst-init-element-path288-kill-element-normal_name-variableChandan Singh2018-05-111-0/+3
| | | | | | | | | | | Previously "elements" was hard-coded as the path for the elements directory whereas it was supposed to be configurable via the `element_path` option to `init_project()`. This led to incorrect behavior when `bst init` was run `--element-path` option. Also, extend tests to test the creation of elements directory. Fixes #398.
* _stream.py: Do not force `PipelineSelection.ALL` for build with trackingJürg Billeter2018-05-111-1/+1
| | | | | | With the dynamic plan using `_set_required()` we can avoid pulling/fetching/building unneeded elements even if elements are being tracked.