From 77e7dc1ac70976e39f2bd3bb91f49ab1f25ef524 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 5 Apr 2016 12:53:45 +0200 Subject: Add support for scope/target-qualified variable expansion For example: print $(dir/:var) print $(file{target}:var) print $(dir/file{target}:var) Note that if the scope/target does not (yet) exists, it will be created. --- tests/variable/qualified/buildfile | 27 +++++++++++++++++++++++++++ tests/variable/qualified/test.out | 12 ++++++++++++ tests/variable/qualified/test.sh | 3 +++ 3 files changed, 42 insertions(+) create mode 100644 tests/variable/qualified/buildfile create mode 100644 tests/variable/qualified/test.out create mode 100755 tests/variable/qualified/test.sh (limited to 'tests/variable') diff --git a/tests/variable/qualified/buildfile b/tests/variable/qualified/buildfile new file mode 100644 index 0000000..90e75c7 --- /dev/null +++ b/tests/variable/qualified/buildfile @@ -0,0 +1,27 @@ +#v = (:bar) # error: expected name instead of ':' +#v = (foo:) # error: scope/target expected after ':' + +print (foo:bar) +print (foo :bar) +print (foo: bar) +print (foo : bar) +print (foo/: bar) +print (foo/file{fox}: bar) + +bar=bar +sub/: +{ + bar=Bar + fsdir{./}: bar=BAR + file{x}: bar=BBAARR +} + +print $(./:bar) +print $(sub/:bar) +print $(fsdir{sub/}:bar) +print $(sub/file{x}:bar) + +print $(sub/file{y}:bar) +print $(sup/:bar) + +./: diff --git a/tests/variable/qualified/test.out b/tests/variable/qualified/test.out new file mode 100644 index 0000000..5bf062e --- /dev/null +++ b/tests/variable/qualified/test.out @@ -0,0 +1,12 @@ +foo:bar +foo:bar +foo:bar +foo:bar +foo/:bar +foo/file{fox}:bar +bar +Bar +BAR +BBAARR +Bar +bar diff --git a/tests/variable/qualified/test.sh b/tests/variable/qualified/test.sh new file mode 100755 index 0000000..afcb3bd --- /dev/null +++ b/tests/variable/qualified/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +b -q | diff -u test.out - -- cgit v1.1