aboutsummaryrefslogtreecommitdiff
path: root/tests/scope/amalgamation
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scope/amalgamation')
-rw-r--r--tests/scope/amalgamation/build/bootstrap.build3
-rw-r--r--tests/scope/amalgamation/buildfile1
-rw-r--r--tests/scope/amalgamation/l1/build/bootstrap.build16
-rw-r--r--tests/scope/amalgamation/l1/buildfile37
-rw-r--r--tests/scope/amalgamation/l1/l2/build/bootstrap.build2
5 files changed, 59 insertions, 0 deletions
diff --git a/tests/scope/amalgamation/build/bootstrap.build b/tests/scope/amalgamation/build/bootstrap.build
new file mode 100644
index 0000000..ee73365
--- /dev/null
+++ b/tests/scope/amalgamation/build/bootstrap.build
@@ -0,0 +1,3 @@
+project = scope-amalgamation
+amalgamation = # Disabled.
+using config
diff --git a/tests/scope/amalgamation/buildfile b/tests/scope/amalgamation/buildfile
new file mode 100644
index 0000000..9f80de9
--- /dev/null
+++ b/tests/scope/amalgamation/buildfile
@@ -0,0 +1 @@
+./:
diff --git a/tests/scope/amalgamation/l1/build/bootstrap.build b/tests/scope/amalgamation/l1/build/bootstrap.build
new file mode 100644
index 0000000..6bde838
--- /dev/null
+++ b/tests/scope/amalgamation/l1/build/bootstrap.build
@@ -0,0 +1,16 @@
+project = scope-amalgamation-l1
+using config
+
+# At this stage we don't know ../ is a project. This
+# tests an out-of-project scope that will later be
+# replaced with an in-project scope. Note that the
+# replacement will only occur if src_root != out_root.
+# If they are the same, then this scope will simply
+# be "upgraded".
+#
+$src_root/../:
+{
+ print 0: $project
+ print 0: $src_base
+ print 0: $out_base
+}
diff --git a/tests/scope/amalgamation/l1/buildfile b/tests/scope/amalgamation/l1/buildfile
new file mode 100644
index 0000000..55d8c64
--- /dev/null
+++ b/tests/scope/amalgamation/l1/buildfile
@@ -0,0 +1,37 @@
+# Out of amalgamation.
+#
+../../:
+{
+ print -1: $project
+ print -1: $src_base
+ print -1: $out_base
+}
+
+# In amalgamation.
+#
+../s/:
+{
+ print 0: $project
+ print 0: $src_base
+ print 0: $out_base
+}
+
+# In project.
+#
+s/:
+{
+ print 1: $project
+ print 1: $src_base
+ print 1: $out_base
+}
+
+# In sub-project.
+#
+l2/s/:
+{
+ print 2: $project
+ print 2: $src_base
+ print 2: $out_base
+}
+
+./:
diff --git a/tests/scope/amalgamation/l1/l2/build/bootstrap.build b/tests/scope/amalgamation/l1/l2/build/bootstrap.build
new file mode 100644
index 0000000..0262763
--- /dev/null
+++ b/tests/scope/amalgamation/l1/l2/build/bootstrap.build
@@ -0,0 +1,2 @@
+project = scope-amalgamation-l2
+using config