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/buildfile | 2 +- tests/variable/buildfile | 5 +++ tests/variable/override/buildfile | 5 +++ tests/variable/override/testscript | 78 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 tests/variable/buildfile create mode 100644 tests/variable/override/buildfile create mode 100644 tests/variable/override/testscript (limited to 'tests') 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 <>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