summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Maat <tristan.maat@codethink.co.uk>2017-11-09 14:53:01 +0000
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-11-18 18:57:43 +0900
commitdc3169ec201db997574025963736c85aea71befc (patch)
tree54f048bee5dd993886189e083256ce39005409b4
parent486372e9d79641412214f2079112b5200bbc82d5 (diff)
downloadbuildstream-dc3169ec201db997574025963736c85aea71befc.tar.gz
load.py: Add test to check intersection exceptions
-rw-r--r--tests/pipeline/load.py20
-rw-r--r--tests/pipeline/load/remove/unrelated.bst4
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/pipeline/load.py b/tests/pipeline/load.py
index eeeeb1dc5..cc818dc3b 100644
--- a/tests/pipeline/load.py
+++ b/tests/pipeline/load.py
@@ -130,3 +130,23 @@ def test_remove_elements(cli, datafiles, tmpdir):
assert(element_list[2] == 'first-level-1.bst')
assert(element_list[3] == 'first-level-2.bst')
assert(element_list[4] == 'build.bst')
+
+
+@pytest.mark.datafiles(os.path.join(DATA_DIR, 'remove'))
+def test_remove_unrelated_element(cli, datafiles, tmpdir):
+ basedir = os.path.join(datafiles.dirname, datafiles.basename)
+ elements = ['build.bst']
+ except_ = ['unrelated.bst']
+
+ # Ensure that we don't just except the given element, but the
+ # first row of intersection elements, while still including things
+ # that are accessible through another route.
+ element_list = cli.get_pipeline(basedir, elements, except_=except_, scope='all')
+
+ assert(len(element_list) == 5)
+
+ assert(element_list[0] == 'fourth-level-2.bst')
+ assert(element_list[1] == 'third-level-2.bst')
+ assert(element_list[2] == 'first-level-1.bst')
+ assert(element_list[3] == 'first-level-2.bst')
+ assert(element_list[4] == 'build.bst')
diff --git a/tests/pipeline/load/remove/unrelated.bst b/tests/pipeline/load/remove/unrelated.bst
new file mode 100644
index 000000000..10de373ca
--- /dev/null
+++ b/tests/pipeline/load/remove/unrelated.bst
@@ -0,0 +1,4 @@
+kind: autotools
+description: Unrelated to the rest of the pipeline, not loaded when targeting build.bst
+depends:
+ - second-level-1.bst