summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* tests/frontend/push.py: Add test_push_after_rebuildjuerg/artifact-blob-not-foundJürg Billeter2020-04-203-1/+74
|
* tests/frontend/pull.py: Add test_pull_missing_blob_split_shareJürg Billeter2020-04-201-29/+63
| | | | | This is identical to `test_pull_missing_blob` except that it uses separate servers for artifact proto index and CAS.
* tests/internals/cascache.py: Increase sleep duration to fix flaky testJürg Billeter2020-04-201-2/+2
| | | | | Increase sleep duration in test_casd_redirects_stderr_to_file_and_rotate from 0.05s to 0.5s to reduce risk of test failure.
* tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinksjuerg/tar-hardlinksJürg Billeter2020-04-201-1/+6
| | | | | | Don't recursively add `contents` to the tar file as the order is not guaranteed. We need to add `elsewhere` before `to_extract` as the latter references the former in `linkname`.
* tests/frontend/buildcheckout.py: Add non-strict testJürg Billeter2020-04-161-0/+22
| | | | | Test that a clean build in non-strict mode produces an artifact matching the strict cache key.
* Process options in includes files with the options of their junctionvalentindavid/include-options-from-junctionValentin David2020-04-1516-1/+135
| | | | | | | | | Unfortunately the options from main project cannot always be processed in the include processing since project configuration might load option declarations from a separate file. For that reason the result of `Include.process` should still be passed through the option processor. But all options files included from junctioned are already evaluated.
* tests/frontend/buildcheckout.py: Check mode and uid/gid in tarballjuerg/export-to-tarJürg Billeter2020-04-081-2/+13
|
* _project.py: resolve options before running the final assertionsabderrahim/optionsAbderrahim Kitouni2020-04-052-0/+37
| | | | | | otherwise, having an optional list append in theh configuration wouldn't work This also avoids special casing for element and source overrides
* tests/integration/script.py: Drop read-only root xfail for buildbox-runJürg Billeter2020-04-041-4/+0
| | | | buildbox-fuse now supports SubtreeReadOnly.
* tests/integration/build-uid.py: Don't skip tests with buildbox-runJürg Billeter2020-04-041-4/+16
| | | | buildbox-run-bubblewrap now supports custom uid/gid.
* tests/format/junctions.py: Drop Python 3.5 compatibilityJürg Billeter2020-04-021-6/+3
|
* cascache.py: Create cas logs in the buildstream cache directorybschubert152020-03-245-17/+20
| | | | | | This moves the cas logs outside of the cas directory. Since BuildStream is responsible for creating and handling the logs, it should not be in the cas directory.
* Canonicalize OS nameJürg Billeter2020-02-2728-28/+28
| | | | This matches the REAPI platform lexicon.
* tests/integration/autotools.py: Check build logJürg Billeter2020-02-201-0/+8
|
* _project.py: fix the case where a simple string is passed to host-filesabderrahim/simple-host-filesAbderrahim Kitouni2020-02-171-4/+7
| | | | also add a test
* tests/remoteexecution/workspace.py: Fix test and enable incrementaljuerg/incremental-workspace-buildJürg Billeter2020-02-111-15/+15
|
* tests/integration/workspace.py: Test incremental build after failureJürg Billeter2020-02-114-0/+74
|
* tests/integration/workspace.py: Add incremental build testJürg Billeter2020-02-113-0/+84
| | | | Verify basic incremental build and proper mtime handling.
* _workspaces.py: Drop `prepared`Jürg Billeter2020-02-111-2/+2
| | | | | | This will no longer be used in incremental builds. Successful configure commands will be recorded with a marker file in the buildtree of the last build artifact.
* _workspaces.py: Drop `running_files`Jürg Billeter2020-02-111-5/+2
| | | | | | This will no longer be used in incremental builds. As source and build files are separated now, we can trigger a clean rebuild when dependencies change.
* _workspaces.py: Increment format version, drop support for old versionsJürg Billeter2020-02-111-50/+4
| | | | | Do not accept old versions as bst 1.x workspaces do not separate source and build files.
* tests/integration/workspace.py: Fix test_incremental_configure...Jürg Billeter2020-02-111-1/+5
| | | | | Add file to workspace directory to ensure second `bst build` is actually building the element.
* tests/integration/workspace.py: Fix test_workspace_commanddirJürg Billeter2020-02-111-3/+10
| | | | Object files are no longer stored in the workspace directory.
* tests: Remove stray workspaces.yml filesJürg Billeter2020-02-112-0/+0
|
* .gitlab-ci/buildgrid-compose.yml: Switch to buildbox-workerJürg Billeter2020-02-111-7/+2
| | | | | | | | | Use buildbox-worker with buildbox-run-bubblewrap and buildbox-fuse from the buildbox-nightly docker image instead of the Python buildbox worker as the latter still uses the obsolete `buildbox` command. buildbox-worker launch is delayed as it fails if started before the BuildGrid server is ready.
* sandbox: Remove unused _mounter.pyJürg Billeter2020-02-101-52/+0
|
* tests/internals/storage.py: Add merge testsTristan Maat2020-02-0554-0/+207
|
* tests/remoteexecution/workspace.py: Improve testDarius Makovsky2020-02-051-79/+96
|
* tests/remoteexecution: Remove xfail for non-incremental-time workspaceDarius Makovsky2020-02-051-6/+1
|
* tests/internals/storage_vdir_import.py: Test mtimesDarius Makovsky2020-02-051-4/+15
|
* utils.py: Add file timestamp helpersDarius Makovsky2020-02-051-1/+22
|
* tests: Avoid testing file times along with umaskDarius Makovsky2020-02-051-5/+4
| | | | | | Avoids testing for file times when testing for umask. These tests are known to be flaky and are overly specific in that they implicitly test more than just umask.
* tests/integration/shell.py: xfail updateJürg Billeter2020-02-031-3/+12
|
* tests/integration/interactive_build.py: Relax expect for buildbox-runjuerg/buildbox-run-testJürg Billeter2020-02-031-2/+1
| | | | | When commands are batched, the failure message can't include the command group label with buildbox-run.
* Add Git source test for depth=1 fetch with exact tag reftmewett/git-sourceTom Mewett2020-01-241-0/+28
|
* testing: Add functions to generate yaml filesThomas Coldrick2020-01-248-136/+95
| | | | | | | Adds functions to the `buildstream.testing` package to allow plugins to dump elements and projects on the fly. Before this plugins were just accessing the private yaml API for tests and loading/dumping directly. I also allow access to just `_yaml.load()` from testing.
* exceptions: Expose ErrorDomain, ErrorLoadReasonThomas Coldrick2020-01-2362-62/+66
| | | | | | | Plugin tests are already accessing this API, but using imports from private modules. For motivation for this to be exposed publicly, note that ErrorDomain is an argument for most things in runcli.py, and LoadErrorReason may be another.
* _frontend/cli.py: Make show() --use-buildtree respect pull semanticsTom Pollard2020-01-211-7/+27
| | | | | | | Ensure that if a buildtree isn't cached locally, it's only fetched if --pull and pull-buildtrees config are set. Also, only attempt to fetch if it's plausible that it could be pulled, with appropriate messaging based on local cached state.
* Remove "deb" surce plugin, it has beem moved to bst-plugins-experimentaljjardon/move_deb_sourceJavier Jardón2020-01-1724-202/+0
|
* element.py: Compute whether an element is cached only on `is_cached`Benjamin Schubert2020-01-161-2/+6
| | | | | | | | | | | This removes the early call to get whether sources are locally cached in `_update_source_state` by delegating it to the call of `is_cached`. Once it is cached, the element is assumed to stay that way for the duration of the pipeline, we can therefore cache the result once it is true. Also remove `Consistency.IS_CACHED`, which is not used anywhere else.
* source.py: Remove 'get_consistency' completelyBenjamin Schubert2020-01-1611-51/+17
| | | | | This is not needed now that we have 'is_resolved' and 'is_cached'. We can therefore drop all calling places and implementations of it.
* source.py: Remove the reliance on consistency to get whether a source is cachedBenjamin Schubert2020-01-168-2/+20
| | | | | | | | | | | | | | | | | This removes the need to use consistency in Sources, by asking explicitely whether the source is cached or not. This introduces a new public method on source: `is_cached` that needs implementation and that should return whether the source has a local copy or not. - On fetch, also reset whether the source was cached or set if as cached when we know it was. - Validate the cache's source after fetching it This doesn't need to be run in the scheduler's process and can be offloaded to the child, which will allow better multiprocessing
* source.py: Add a new 'is_resolved' to get whether a source is resolved.Benjamin Schubert2020-01-165-1/+16
| | | | | | | | | | | | | | | `get_consistency` is coarse grained and hard to optimize, in addition to being un-userfriendly. This adds a new `is_resolved` that has for default implementation `get_ref() is not None`, which is true for most sources in BuildStream. Sources for which this is not true can override the method to give a more accurate description. Checking for this before looking whether the source is cached can reduce the amount of work necessary in some pipeline and opens the door for more optimizations and the removal of the source state check.
* element.py: Rename '_source_cached' to '_has_all_sources_in_source_cache'Benjamin Schubert2020-01-163-11/+11
| | | | | | '_source_cached' is not explicit enough as it doesn't distinguishes between sources in their respective caches and sources in the global sourcecache.
* tests/integration/project.conf: Remove unused external pluginschandan/remove-bst-experimental-unusedChandan Singh2020-01-151-6/+0
| | | | | There are no tests that rely on these plugins anymore, so remove the corresponding declarations from project.conf.
* tox.ini: Add a external plugins environment test and run it in CIBenjamin Schubert2020-01-131-1/+14
| | | | | | | | | | | This runs two versions of the plugins: - The latest stable is not allowed failures and is run on every platform - The master version is allowed failure, and only runs on a single architecture This also adds a new entrypoint to register source tests to run against BuildStream.
* tox.ini: Remove external plugins testsBenjamin Schubert2020-01-131-84/+0
| | | | | These tests don't do anything, as they have no plugins registered at all.
* tests: Remove some ostree stuffThomas Coldrick2020-01-132-2/+0
|
* Tests: Remove bst-plugins-experimental dependencyThomas Coldrick2020-01-1313-98/+2
| | | | This stops the tests from being interlinked for BuildStream itself.
* Remove integration tests for moved pluginsThomas Coldrick2020-01-137-150/+0
|