summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan van Berkom <tristan@codethink.co.uk>2020-10-05 15:50:07 +0900
committerTristan van Berkom <tristan@codethink.co.uk>2020-10-05 15:53:21 +0900
commit6c415b5a7353d74ed72a06888216482ac0bf7a36 (patch)
treef4a8dc47bdb66025873b3601ddfdcaf3dfd05022
parent5c92cfbea8789fdaebab880db5397e7890fbbd7c (diff)
downloadbuildstream-tristan/fix-overriding-links.tar.gz
tests/format/junctions.py: Test multiple layers of link indirection in overridestristan/fix-overriding-links
-rw-r--r--tests/format/junctions.py3
-rw-r--r--tests/format/junctions/overrides/subproject-with-deep-override-indirect-link.bst8
-rw-r--r--tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject-link.bst4
-rw-r--r--tests/format/junctions/overrides/subproject/subsubsubproject-indirect-link.bst4
-rw-r--r--tests/format/junctions/overrides/target-overridden-subsubsubproject-indirect-link.bst7
5 files changed, 26 insertions, 0 deletions
diff --git a/tests/format/junctions.py b/tests/format/junctions.py
index c4536bff7..c4eea2d1c 100644
--- a/tests/format/junctions.py
+++ b/tests/format/junctions.py
@@ -406,6 +406,8 @@ def test_full_path_not_found(cli, tmpdir, datafiles, target, provenance):
("target-overridden-subsubsubproject.bst", "surprise.txt"),
# Test that we can override a subproject junction of a subproject's subproject, which using links to address them
("target-overridden-subsubsubproject-link.bst", "surprise.txt"),
+ # Test that we can override a subproject junction of a subproject's subproject, using various levels of links indirection
+ ("target-overridden-subsubsubproject-indirect-link.bst", "surprise.txt"),
# Test that we can override a subproject junction with a deep subproject path
("target-overridden-with-deepsubproject.bst", "deepsurprise.txt"),
],
@@ -414,6 +416,7 @@ def test_full_path_not_found(cli, tmpdir, datafiles, target, provenance):
"override-subproject-link",
"override-subsubproject",
"override-subsubproject-link",
+ "override-subsubproject-indirect-link",
"override-subproject-with-subsubproject",
],
)
diff --git a/tests/format/junctions/overrides/subproject-with-deep-override-indirect-link.bst b/tests/format/junctions/overrides/subproject-with-deep-override-indirect-link.bst
new file mode 100644
index 000000000..c356f3ff0
--- /dev/null
+++ b/tests/format/junctions/overrides/subproject-with-deep-override-indirect-link.bst
@@ -0,0 +1,8 @@
+kind: junction
+sources:
+- kind: local
+ path: subproject
+
+config:
+ overrides:
+ subsubsubproject-indirect-link.bst: overridden-subsubsubproject.bst
diff --git a/tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject-link.bst b/tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject-link.bst
new file mode 100644
index 000000000..1c7d844a3
--- /dev/null
+++ b/tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject-link.bst
@@ -0,0 +1,4 @@
+kind: link
+
+config:
+ target: subsubsubproject.bst
diff --git a/tests/format/junctions/overrides/subproject/subsubsubproject-indirect-link.bst b/tests/format/junctions/overrides/subproject/subsubsubproject-indirect-link.bst
new file mode 100644
index 000000000..f6a16edae
--- /dev/null
+++ b/tests/format/junctions/overrides/subproject/subsubsubproject-indirect-link.bst
@@ -0,0 +1,4 @@
+kind: link
+
+config:
+ target: subsubproject-link.bst:subsubsubproject-link.bst
diff --git a/tests/format/junctions/overrides/target-overridden-subsubsubproject-indirect-link.bst b/tests/format/junctions/overrides/target-overridden-subsubsubproject-indirect-link.bst
new file mode 100644
index 000000000..1ce1c62cc
--- /dev/null
+++ b/tests/format/junctions/overrides/target-overridden-subsubsubproject-indirect-link.bst
@@ -0,0 +1,7 @@
+kind: stack
+
+# Similar test as target-overridden-subsubsubproject.bst, except that
+# we use links in the addressing of overrides.
+#
+depends:
+- subproject-with-deep-override-indirect-link.bst:subsubproject.bst:subsubsubproject.bst:target.bst