diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-02-13 10:59:20 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-02-13 12:42:42 +0200 |
commit | 653371fa06c7589a1097b05f32d6ff26f2fbb337 (patch) | |
tree | cee903847b276dff2008d884f4a32389f5cf1e58 /tests/variable/override | |
parent | 737877e62467b924eea0a43eab68258b0c13db78 (diff) |
Use variable_cache for target type/pattern-specific prepend/append
Diffstat (limited to 'tests/variable/override')
-rw-r--r-- | tests/variable/override/buildfile | 5 | ||||
-rw-r--r-- | tests/variable/override/testscript | 78 |
2 files changed, 83 insertions, 0 deletions
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 +} |