summaryrefslogtreecommitdiff
path: root/tests/format/junctions/conflicts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/format/junctions/conflicts')
-rw-r--r--tests/format/junctions/conflicts/include-conflict-target.bst5
-rw-r--r--tests/format/junctions/conflicts/include-conflict.bst7
-rw-r--r--tests/format/junctions/conflicts/nested-conflict-toplevel.bst4
-rw-r--r--tests/format/junctions/conflicts/override-conflict.bst8
-rw-r--r--tests/format/junctions/conflicts/plugin-conflict.bst4
-rw-r--r--tests/format/junctions/conflicts/project.conf2
-rw-r--r--tests/format/junctions/conflicts/simple-conflict.bst5
-rw-r--r--tests/format/junctions/conflicts/subproject-override-conflicting-path.bst13
-rw-r--r--tests/format/junctions/conflicts/subproject.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/project.conf2
-rw-r--r--tests/format/junctions/conflicts/subproject/sub.txt1
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject-conflict-target.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject-conflict.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject-conflict/deepsurprise.txt1
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject-conflict/project.conf2
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject-conflict/target.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject/project.conf2
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject/subsub.txt1
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/project.conf2
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/subsubsub.txt1
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/target.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/subsubproject/target.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject/target.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject2.bst4
-rw-r--r--tests/format/junctions/conflicts/subproject2/inc.yaml1
-rw-r--r--tests/format/junctions/conflicts/subproject2/plugins/found.py19
-rw-r--r--tests/format/junctions/conflicts/subproject2/project.conf8
-rw-r--r--tests/format/junctions/conflicts/subproject2/sub2.txt1
-rw-r--r--tests/format/junctions/conflicts/subproject2/target.bst4
31 files changed, 133 insertions, 0 deletions
diff --git a/tests/format/junctions/conflicts/include-conflict-target.bst b/tests/format/junctions/conflicts/include-conflict-target.bst
new file mode 100644
index 000000000..237989cd7
--- /dev/null
+++ b/tests/format/junctions/conflicts/include-conflict-target.bst
@@ -0,0 +1,5 @@
+kind: stack
+
+depends:
+- include-conflict.bst
+- subproject.bst:target.bst
diff --git a/tests/format/junctions/conflicts/include-conflict.bst b/tests/format/junctions/conflicts/include-conflict.bst
new file mode 100644
index 000000000..9c1ecab25
--- /dev/null
+++ b/tests/format/junctions/conflicts/include-conflict.bst
@@ -0,0 +1,7 @@
+kind: manual
+
+variables:
+ (@): subproject2.bst:inc.yaml
+
+depends:
+- subproject2.bst:target.bst
diff --git a/tests/format/junctions/conflicts/nested-conflict-toplevel.bst b/tests/format/junctions/conflicts/nested-conflict-toplevel.bst
new file mode 100644
index 000000000..445ac0799
--- /dev/null
+++ b/tests/format/junctions/conflicts/nested-conflict-toplevel.bst
@@ -0,0 +1,4 @@
+kind: stack
+
+depends:
+- subproject.bst:subsubproject-conflict-target.bst
diff --git a/tests/format/junctions/conflicts/override-conflict.bst b/tests/format/junctions/conflicts/override-conflict.bst
new file mode 100644
index 000000000..3f0728d29
--- /dev/null
+++ b/tests/format/junctions/conflicts/override-conflict.bst
@@ -0,0 +1,8 @@
+kind: stack
+
+#
+# To trigger the conflict, we need to traverse the path of
+# the overridden `subsubproject.bst` junction.
+#
+depends:
+- subproject-override-conflicting-path.bst:subsubproject.bst:target.bst
diff --git a/tests/format/junctions/conflicts/plugin-conflict.bst b/tests/format/junctions/conflicts/plugin-conflict.bst
new file mode 100644
index 000000000..b9061d14b
--- /dev/null
+++ b/tests/format/junctions/conflicts/plugin-conflict.bst
@@ -0,0 +1,4 @@
+kind: found
+
+depends:
+- subproject.bst:target.bst
diff --git a/tests/format/junctions/conflicts/project.conf b/tests/format/junctions/conflicts/project.conf
new file mode 100644
index 000000000..20636c446
--- /dev/null
+++ b/tests/format/junctions/conflicts/project.conf
@@ -0,0 +1,2 @@
+name: test
+min-version: 2.0
diff --git a/tests/format/junctions/conflicts/simple-conflict.bst b/tests/format/junctions/conflicts/simple-conflict.bst
new file mode 100644
index 000000000..5aaf3a8ab
--- /dev/null
+++ b/tests/format/junctions/conflicts/simple-conflict.bst
@@ -0,0 +1,5 @@
+kind: stack
+
+depends:
+- subproject.bst:target.bst
+- subproject2.bst:target.bst
diff --git a/tests/format/junctions/conflicts/subproject-override-conflicting-path.bst b/tests/format/junctions/conflicts/subproject-override-conflicting-path.bst
new file mode 100644
index 000000000..3861d97df
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject-override-conflicting-path.bst
@@ -0,0 +1,13 @@
+kind: junction
+sources:
+- kind: local
+ path: subproject
+
+#
+# Here we are declaring a junction to subproject, and trying to override
+# it's subproject with a deep subproject, using a different junction to
+# the same subproject `subproject.bst`
+#
+config:
+ overrides:
+ subsubproject.bst: subproject.bst:subsubproject.bst:subsubsubproject.bst
diff --git a/tests/format/junctions/conflicts/subproject.bst b/tests/format/junctions/conflicts/subproject.bst
new file mode 100644
index 000000000..c88189cb0
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject.bst
@@ -0,0 +1,4 @@
+kind: junction
+sources:
+- kind: local
+ path: subproject
diff --git a/tests/format/junctions/conflicts/subproject/project.conf b/tests/format/junctions/conflicts/subproject/project.conf
new file mode 100644
index 000000000..39a53e2ab
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/project.conf
@@ -0,0 +1,2 @@
+name: subtest
+min-version: 2.0
diff --git a/tests/format/junctions/conflicts/subproject/sub.txt b/tests/format/junctions/conflicts/subproject/sub.txt
new file mode 100644
index 000000000..f73f3093f
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/sub.txt
@@ -0,0 +1 @@
+file
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject-conflict-target.bst b/tests/format/junctions/conflicts/subproject/subsubproject-conflict-target.bst
new file mode 100644
index 000000000..e9bf1c57e
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject-conflict-target.bst
@@ -0,0 +1,4 @@
+kind: stack
+
+depends:
+- subsubproject-conflict.bst:target.bst
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject-conflict.bst b/tests/format/junctions/conflicts/subproject/subsubproject-conflict.bst
new file mode 100644
index 000000000..e4715ea1d
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject-conflict.bst
@@ -0,0 +1,4 @@
+kind: junction
+sources:
+- kind: local
+ path: subsubproject-conflict
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject-conflict/deepsurprise.txt b/tests/format/junctions/conflicts/subproject/subsubproject-conflict/deepsurprise.txt
new file mode 100644
index 000000000..f73f3093f
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject-conflict/deepsurprise.txt
@@ -0,0 +1 @@
+file
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject-conflict/project.conf b/tests/format/junctions/conflicts/subproject/subsubproject-conflict/project.conf
new file mode 100644
index 000000000..20636c446
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject-conflict/project.conf
@@ -0,0 +1,2 @@
+name: test
+min-version: 2.0
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject-conflict/target.bst b/tests/format/junctions/conflicts/subproject/subsubproject-conflict/target.bst
new file mode 100644
index 000000000..981f29da3
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject-conflict/target.bst
@@ -0,0 +1,4 @@
+kind: import
+sources:
+- kind: local
+ path: deepsurprise.txt
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject.bst b/tests/format/junctions/conflicts/subproject/subsubproject.bst
new file mode 100644
index 000000000..f535ab0e0
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject.bst
@@ -0,0 +1,4 @@
+kind: junction
+sources:
+- kind: local
+ path: subsubproject
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject/project.conf b/tests/format/junctions/conflicts/subproject/subsubproject/project.conf
new file mode 100644
index 000000000..d11bcbb30
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject/project.conf
@@ -0,0 +1,2 @@
+name: subsubtest
+min-version: 2.0
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject/subsub.txt b/tests/format/junctions/conflicts/subproject/subsubproject/subsub.txt
new file mode 100644
index 000000000..f73f3093f
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject/subsub.txt
@@ -0,0 +1 @@
+file
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject.bst b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject.bst
new file mode 100644
index 000000000..bce64597b
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject.bst
@@ -0,0 +1,4 @@
+kind: junction
+sources:
+- kind: local
+ path: subsubsubproject
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/project.conf b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/project.conf
new file mode 100644
index 000000000..e508da808
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/project.conf
@@ -0,0 +1,2 @@
+name: subsubsubtest
+min-version: 2.0
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/subsubsub.txt b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/subsubsub.txt
new file mode 100644
index 000000000..f73f3093f
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/subsubsub.txt
@@ -0,0 +1 @@
+file
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/target.bst b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/target.bst
new file mode 100644
index 000000000..351c9a22d
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/target.bst
@@ -0,0 +1,4 @@
+kind: import
+sources:
+- kind: local
+ path: subsubsub.txt
diff --git a/tests/format/junctions/conflicts/subproject/subsubproject/target.bst b/tests/format/junctions/conflicts/subproject/subsubproject/target.bst
new file mode 100644
index 000000000..afafac601
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/subsubproject/target.bst
@@ -0,0 +1,4 @@
+kind: import
+sources:
+- kind: local
+ path: subsub.txt
diff --git a/tests/format/junctions/conflicts/subproject/target.bst b/tests/format/junctions/conflicts/subproject/target.bst
new file mode 100644
index 000000000..e24d9bbb4
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject/target.bst
@@ -0,0 +1,4 @@
+kind: import
+sources:
+- kind: local
+ path: sub.txt
diff --git a/tests/format/junctions/conflicts/subproject2.bst b/tests/format/junctions/conflicts/subproject2.bst
new file mode 100644
index 000000000..2343652e1
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject2.bst
@@ -0,0 +1,4 @@
+kind: junction
+sources:
+- kind: local
+ path: subproject2
diff --git a/tests/format/junctions/conflicts/subproject2/inc.yaml b/tests/format/junctions/conflicts/subproject2/inc.yaml
new file mode 100644
index 000000000..bbc78380f
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject2/inc.yaml
@@ -0,0 +1 @@
+test: Pony
diff --git a/tests/format/junctions/conflicts/subproject2/plugins/found.py b/tests/format/junctions/conflicts/subproject2/plugins/found.py
new file mode 100644
index 000000000..34a7e4398
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject2/plugins/found.py
@@ -0,0 +1,19 @@
+from buildstream import Element
+
+
+class Found(Element):
+ BST_MIN_VERSION = "2.0"
+
+ def configure(self, node):
+ pass
+
+ def preflight(self):
+ pass
+
+ def get_unique_key(self):
+ return {}
+
+
+# Plugin entry point
+def setup():
+ return Found
diff --git a/tests/format/junctions/conflicts/subproject2/project.conf b/tests/format/junctions/conflicts/subproject2/project.conf
new file mode 100644
index 000000000..286045aa0
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject2/project.conf
@@ -0,0 +1,8 @@
+name: subtest
+min-version: 2.0
+
+plugins:
+- origin: local
+ path: plugins
+ elements:
+ - found
diff --git a/tests/format/junctions/conflicts/subproject2/sub2.txt b/tests/format/junctions/conflicts/subproject2/sub2.txt
new file mode 100644
index 000000000..f73f3093f
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject2/sub2.txt
@@ -0,0 +1 @@
+file
diff --git a/tests/format/junctions/conflicts/subproject2/target.bst b/tests/format/junctions/conflicts/subproject2/target.bst
new file mode 100644
index 000000000..a1d15e942
--- /dev/null
+++ b/tests/format/junctions/conflicts/subproject2/target.bst
@@ -0,0 +1,4 @@
+kind: import
+sources:
+- kind: local
+ path: sub2.txt