aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-02-13 10:59:20 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-02-13 12:42:42 +0200
commit653371fa06c7589a1097b05f32d6ff26f2fbb337 (patch)
treecee903847b276dff2008d884f4a32389f5cf1e58 /tests
parent737877e62467b924eea0a43eab68258b0c13db78 (diff)
Use variable_cache for target type/pattern-specific prepend/append
Diffstat (limited to 'tests')
-rw-r--r--tests/buildfile2
-rw-r--r--tests/variable/buildfile5
-rw-r--r--tests/variable/override/buildfile5
-rw-r--r--tests/variable/override/testscript78
4 files changed, 89 insertions, 1 deletions
diff --git a/tests/buildfile b/tests/buildfile
index 0384c45..4b5f149 100644
--- a/tests/buildfile
+++ b/tests/buildfile
@@ -3,5 +3,5 @@
# license : MIT; see accompanying LICENSE file
./: directive/ eval/ expansion/ function/ search/ test/ value/ \
-file{common.test}
+variable/ file{common.test}
diff --git a/tests/variable/buildfile b/tests/variable/buildfile
new file mode 100644
index 0000000..65a0791
--- /dev/null
+++ b/tests/variable/buildfile
@@ -0,0 +1,5 @@
+# file : tests/variable/buildfile
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+./: override/
diff --git a/tests/variable/override/buildfile b/tests/variable/override/buildfile
new file mode 100644
index 0000000..5831ecd
--- /dev/null
+++ b/tests/variable/override/buildfile
@@ -0,0 +1,5 @@
+# file : tests/variable/override/buildfile
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+./: test{testscript} $b
diff --git a/tests/variable/override/testscript b/tests/variable/override/testscript
new file mode 100644
index 0000000..9b8efdf
--- /dev/null
+++ b/tests/variable/override/testscript
@@ -0,0 +1,78 @@
+# file : tests/variable/override/testscript
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+.include ../../common.test
+
+: cache-invalidation
+:
+{
+ : value-version
+ :
+ $* x+=01 y+=01 <<EOI >>EOO
+ x = [string] 0
+ print $x
+
+ x = [uint64] 1
+ print $x
+
+ y = 0
+ print $y
+
+ [uint64] y = [null]
+ print $y
+ EOI
+ 001
+ 2
+ 0 01
+ 1
+ EOO
+
+ : value-position
+ :
+ $* x+=01 <<EOI >>EOO
+ x = [string] 0
+
+ print $x
+ dir/:
+ {
+ print $x
+ }
+
+ dir/: x = [uint64] 1
+
+ print $x
+ dir/:
+ {
+ print $x
+ }
+
+ EOI
+ 001
+ 001
+ 001
+ 2
+ EOO
+}
+
+: override-cached
+: Test overriding cached target type/pattern-specific prepend/append
+:
+{
+ $* x+=X <<EOI >>EOO
+ x = 0
+ file{*}: x += a
+
+ print $(file{foo}:x)
+
+ x = 1 # Should invalidate both caches.
+ print $(file{foo}:x)
+
+ file{*}: x += b # Should invalidate both caches.
+ print $(file{foo}:x)
+ EOI
+ 0 a X
+ 1 a X
+ 1 a b X
+ EOO
+}