From 653371fa06c7589a1097b05f32d6ff26f2fbb337 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 13 Feb 2017 10:59:20 +0200 Subject: Use variable_cache for target type/pattern-specific prepend/append --- tests/variable/buildfile | 5 +++ tests/variable/override/buildfile | 5 +++ tests/variable/override/testscript | 78 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 tests/variable/buildfile create mode 100644 tests/variable/override/buildfile create mode 100644 tests/variable/override/testscript (limited to 'tests/variable') 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 <>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 <>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 <>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 +} -- cgit v1.1