From d57d929b5a927bdd1d6f2ee9e2887892148fdbb0 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 20 Nov 2017 18:30:22 +0200 Subject: Add test for prerequisite-specific variables --- tests/variable/prerequisite-specific/buildfile | 5 ++ tests/variable/prerequisite-specific/testscript | 71 +++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 tests/variable/prerequisite-specific/buildfile create mode 100644 tests/variable/prerequisite-specific/testscript (limited to 'tests') diff --git a/tests/variable/prerequisite-specific/buildfile b/tests/variable/prerequisite-specific/buildfile new file mode 100644 index 0000000..e16519c --- /dev/null +++ b/tests/variable/prerequisite-specific/buildfile @@ -0,0 +1,5 @@ +# file : tests/variable/prerequisite-specific/buildfile +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +./: test{testscript} $b diff --git a/tests/variable/prerequisite-specific/testscript b/tests/variable/prerequisite-specific/testscript new file mode 100644 index 0000000..c4993f2 --- /dev/null +++ b/tests/variable/prerequisite-specific/testscript @@ -0,0 +1,71 @@ +# file : tests/variable/prerequisite-specific/testscript +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include ../../common.test + +# There is currently no support for expanding prerequisite-specific variables +# (since there is no way to id a prerequisite) so we use dump. +# + +: basic +: +$* <>/~%EOE% +dir{x}: fox = FOX +dir{x}: dir{a}: foo = FOO +dir{x}: dir{b}: fox += FOX +dir{x}: dir{c}: bar = [bool] true +dump dir{x} +EOI +:5:1: dump: +% dir\{.+/x/\}:% + { + fox = FOX + } +% dir\{.+/x/\}: .+:dir\{a/\}:% + { + foo = FOO + } +% dir\{.+/x/\}: .+:dir\{b/\}:% + { + fox = FOX FOX + } +% dir\{.+/x/\}: .+:dir\{c/\}:% + { + bar = [bool] true + } +EOE + +: multiple +: +$* <>/~%EOE% +dir{x} dir{y}: dir{a} dir{b}: foo = FOO +dump dir{x} dir{y} +EOI +:2:1: dump: +% dir\{.+/x/\}: .+:dir\{a/\}:% + { + foo = FOO + } +% dir\{.+/x/\}: .+:dir\{b/\}:% + { + foo = FOO + } + +% dir\{.+/y/\}: .+:dir\{a/\}:% + { + foo = FOO + } +% dir\{.+/y/\}: .+:dir\{b/\}:% + { + foo = FOO + } +EOE + +: expect-assignment +: +$* <>EOE != 0 +dir{x}: dir{a}: +EOI +:1:16: error: expected name instead of +EOE -- cgit v1.1