summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* tests: Check that progress tallies are correct, including across junctionsJonathan Maw2019-07-261-0/+44
|
* Mark xfail test that only fail in CIWilliam Salmon2019-07-2522-3/+113
|
* Mark buildbox tests as xfail if they require non implemented featuresWilliam Salmon2019-07-2517-19/+67
|
* Test that commands can be found on PATH when links are presentWilliam Salmon2019-07-253-0/+42
| | | | | This test reflects functionality that freedesktop-SDK use's but that bst was not testing.
* Fix descend can not follow symlinksWilliam Salmon2019-07-251-1/+141
|
* Implmented export_to_tar for casbaseddirectoryWilliam Salmon2019-07-255-0/+49
|
* element.py: clobber sources with workspaceDarius Makovsky2019-07-2229-29/+28
| | | | add name to sources in cache key dict
* tests: Add regression test for issue #1086Chandan Singh2019-07-192-0/+25
| | | | | | Ensure that any changes made by user in an open workspace are not overridden when calling `bst workspace open` again with `--force` and `--no-checkout` options.
* Make the Cli verbose for updatingtraveltissues/fix-update-scriptDarius Makovsky2019-07-181-1/+4
| | | | Return if there is no result from parsing the element
* Mock BST_TEST_SUITE env when running update.pyDarius Makovsky2019-07-181-1/+7
| | | | | If this is not present in the env the cli will throw an exception closes #1074
* Store Platform reference in Context instance variableJürg Billeter2019-07-174-33/+0
| | | | | This allows us to remove the platform reset helpers in tests/conftest.py.
* _variables: Fix reporting of missing variableBenjamin Schubert2019-07-172-2/+7
| | | | | | | When the missing variable was not defined, we would get an exception as a string doesn't contain provenance information. - Add a test to prevent regression
* node: Add 'get_str_list' on 'MappingNode'Benjamin Schubert2019-07-175-15/+15
| | | | | | `mapping.get_sequence(...).as_str_list()` is a very common pattern seen both in plugins and the core. Adding a helper to reduce the number of operations will make usage smoother
* Allowing tar files to be compressedbecky/tar_compressionRebecca Grayson2019-07-161-0/+95
| | | | | | | Changes made to cli.py and _stream.py in order to support tar compression. Compression flag has been added, which overrides any file extensions given. Where no compression or file extension provided, default to uncompressed .tar.
* tests/sourcecache: Fix typos in commentsJürg Billeter2019-07-163-3/+3
| | | | Spotted by Darius.
* tests/sourcecache/staging.py: Use dummy_context()Jürg Billeter2019-07-161-62/+48
|
* tests/sourcecache/push.py: Use dummy_context()Jürg Billeter2019-07-161-29/+26
|
* tests/sourcecache/fetch.py: Use dummy_context()Jürg Billeter2019-07-161-86/+74
|
* tests/internals/pluginloading.py: Use dummy_context()Jürg Billeter2019-07-161-22/+19
|
* tests/internals/loader.py: Use dummy_context()Jürg Billeter2019-07-161-32/+17
|
* tests/internals/context.py: Use dummy_context()Jürg Billeter2019-07-161-4/+5
|
* tests/format/include_composition.py: Use dummy_context()Jürg Billeter2019-07-161-79/+84
|
* tests/artifactcache/push.py: Use dummy_context()Jürg Billeter2019-07-161-80/+63
|
* tests/artifactcache/pull.py: Use dummy_context()Jürg Billeter2019-07-161-125/+100
|
* tests/artifactcache/config.py: Use dummy_context()Jürg Billeter2019-07-161-10/+10
|
* tests/testutils: Add dummy_context() helperJürg Billeter2019-07-162-0/+47
|
* Checkout to default dir if no tar or directory:Rebecca Grayson2019-07-161-0/+18
| | | | | | | When neither --tar nor --directory are provided, bst artifact checkout will no longer error out. Defaults to a suitable directory, consistent with bst workspace open. Test for new feature has been added
* element.py: Introduce __update_strict_cache_key_of_rdeps()James Ennis2019-07-161-1/+1
| | | | | | | | | | | | | | | | Once an Element's strict cache key is determined, we should attempt to update the strict cache key of it's reverse dependencies. The state of a reverse dependency will be updated once all of its dependencies have strict cache keys This patch introduces the potential for a RecursionError because _update_state() can now trigger further _update_state calls (on reverse dependencies). Therefore, the maximum recursion limit for our "test_max_recursion_depth" test has been lowered. If this becomes a problem, we can always consider setting a larger recursion limit, for now, this change has been tested with the Debian stack and works as expected.
* _pipeline.py, loader.py: Move Element._preflight() to new_from_meta()James Ennis2019-07-161-2/+0
| | | | | | | It's essential to call preflight() when loading/resolving the Elements. This patch moves the preflight call to new_from_meta, so that it is called as soon as the Element is created. This avoids the need for having multiple callsites.
* tests/frontend/show.py: Test proper resolution of max-jobsTristan Van Berkom2019-07-161-0/+51
| | | | | | | | This tests that the resolution of the `max-jobs` automatic variable is properly controlled by the new user configuration and command line option, including the default automatic '0' value. Regression test for #1033
* _frontend: Added toplevel `--max-jobs` configurationTristan Van Berkom2019-07-161-0/+1
| | | | | | | | | | | | | | | | While this is currently only relevant for `bst build`, it is a current implementation detail that user configuration which gets overridden by command line options must use toplevel options. This patch allows invocations such as the following to override the max-jobs: bst --max-jobs 16 build target.bst This also updates the completions test to expect the new toplevel option. This is a part of #1033
* node: Rename 'copy' to 'clone'Benjamin Schubert2019-07-151-1/+1
| | | | | | | | A 'clone' operation has an implicit understanding that it is expensive, which is not the case of a 'copy' operation, which is more usually a shallow copy. Therefore renaming to 'clone'
* _yaml: Split Node-related parts into 'node.pyx'Benjamin Schubert2019-07-153-23/+23
| | | | | This makes the 'Node' API public, and available for use directly for plugins.
* _yaml: Mark 'strip_node_info' as buildstream-privateBenjamin Schubert2019-07-153-6/+6
|
* _yaml: Set 'MappingNode' public-private APIBenjamin Schubert2019-07-151-7/+7
| | | | | | | - _composite -> __composite (internal) - composite -> _composite (BuildStream private) - composite_under -> _composite_under (BuildStream private) - get -> _get (internal)
* _yaml: Mark attributes in ProvenanceInformation as Buildstream-privateBenjamin Schubert2019-07-151-4/+4
| | | | | Users should not need to get access to any of those, and should only need access to the ProvenanceInformation to print it.
* _yaml: Remove 'node_get_provenance' and add 'Node.get_provenance'Benjamin Schubert2019-07-155-13/+13
| | | | | | | | This replaces the helper method by adding a 'get_provenance' on the node directly - Adapt all call sites - Delay getting provenance wherever possible without major refactor
* _yaml: Remove 'indices' from 'node_get_provenance'Benjamin Schubert2019-07-151-3/+3
| | | | | | | | | With nodes being propagated better, we now don't need to extract provenance beforehand. Therefore removing the ability to provide indiced when getting provenance. - Also add 'scalar_at' on 'SequenceNode', in order to fetch a scalar node at a specific indice
* _yaml: Move 'value' of Node in each sub nodeBenjamin Schubert2019-07-151-7/+14
| | | | | | | | This allows us to type its value more strictly, allowing for more efficient access. - Also implement 'node_at' on 'SequenceNode', to allow some tests to test some internals generically.
* _yaml: Remove 'node_validate' and replace by 'MappingNode.validate_keys'Benjamin Schubert2019-07-153-5/+5
| | | | - adapt all call sites to use the new API
* _yaml: Create 'from_dict' on Node and remove node creation methodsBenjamin Schubert2019-07-151-1/+1
| | | | | | | Using 'Node.from_dict({})' can replace new_empty_node, and the rest is not needed anymore. - Adapt all call sites
* _yaml: Remove 'node_extend_list' and add 'SequenceNode.append'Benjamin Schubert2019-07-151-14/+0
| | | | | | | There was a single place using 'node_extend_list', which we can replace more easily with 'SequenceNode.append'. Also rewrite _projectrefs.py:_lookup to use the new API more effectively
* _yaml: Add a 'from_dict' on Node to create new nodes from dictsBenjamin Schubert2019-07-152-17/+17
| | | | | | | This new methods is here to replace the previous 'new_node_from_dict' that will be moved to a private method. Adapt all call sites to use the new 'from_dict' method.
* _yaml: Move 'node_composite' to a method on 'MappingNode'Benjamin Schubert2019-07-151-7/+7
| | | | | - Also take care of node_composite_move in the same way. - Adapt all calling places
* tests/yaml: Stop using 'composite_dict' and use 'composite' insteadBenjamin Schubert2019-07-151-7/+7
| | | | | 'composite_dict' is a more internal method and we don't really need to access it there
* _yaml: remove node_sanitizeBenjamin Schubert2019-07-151-3/+3
| | | | | | | | | Some call places do not need calls to 'node_sanitize' anymore, therefore removing the call entirely. Other still use it for convenience, but that doesn't seem the right way to do it for consistency. Those places have been replaced by calls to 'Node.strip_node_info()'.
* _yaml: Decomission 'dump()'. 'roundtrip_dump' is an equivalent function nowBenjamin Schubert2019-07-151-2/+2
| | | | | Remove completely '_yaml.dump()' and replace all notions and call by 'roundtrip_dump'
* tests: Change all calls to _yaml.dump to _yaml.rountrip_dumpBenjamin Schubert2019-07-1560-280/+264
| | | | | Now that both are equivalent, we can skip the sanitization part before the yaml call.
* _cachekey: Remove the 'node_sanitization' done before the json stringBenjamin Schubert2019-07-151-1/+1
| | | | | | | | Since ujson already sorts the keys, we just need to be able to jsonify Nodes sensibly. This is done by implementing __json__ on the 'Node' base class. This does not break the cache keys.
* _yaml: Remove 'node_find_target' and replace by 'MappingNode.find'Benjamin Schubert2019-07-151-2/+2
|