diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-26 09:53:46 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-05-03 15:23:09 +0200 |
commit | 57c4e39dcb8eb6013e22cfe82597111c5c6a55af (patch) | |
tree | eaf81473dbda167a187f01a632d39ba2f4908c71 /tests | |
parent | 4b9de5c80934772dbc5503e65e265da452ca356a (diff) |
Regularize directory target/scope-specific variable assignment syntax
Diffstat (limited to 'tests')
-rw-r--r-- | tests/eval/qual.test | 2 | ||||
-rw-r--r-- | tests/search/dir/testscript | 4 | ||||
-rw-r--r-- | tests/variable/override/testscript | 6 | ||||
-rw-r--r-- | tests/variable/scope-specific/buildfile | 5 | ||||
-rw-r--r-- | tests/variable/scope-specific/testscript | 54 | ||||
-rw-r--r-- | tests/variable/target-specific/buildfile | 5 | ||||
-rw-r--r-- | tests/variable/target-specific/testscript | 61 |
7 files changed, 131 insertions, 6 deletions
diff --git a/tests/eval/qual.test b/tests/eval/qual.test index f6e6592..341b315 100644 --- a/tests/eval/qual.test +++ b/tests/eval/qual.test @@ -12,7 +12,7 @@ $* <'print (foo/dir{}: bar)' >'dir{foo/}:bar' : scope : attribute : $* <'([string] foo:bar)' 2>>EOE != 0 -<stdin>:1:2: error: attributes before qualified variable name +<stdin>:1:2: error: attributes before target-qualified variable name EOE : leader diff --git a/tests/search/dir/testscript b/tests/search/dir/testscript index 4cd368b..e9ffa6a 100644 --- a/tests/search/dir/testscript +++ b/tests/search/dir/testscript @@ -30,14 +30,14 @@ $* <'./: bar/' >'bar' : existing-scope : $* <<EOI >'bar' -bar/: x = y +bar/ x = y ./: bar/ EOI : existing-target-implied : $* <<EOI >'bar' -dir{bar/}: x = y +dir{bar/}: x = y # @@ TMP ./: bar/ EOI diff --git a/tests/variable/override/testscript b/tests/variable/override/testscript index 9b8efdf..3529574 100644 --- a/tests/variable/override/testscript +++ b/tests/variable/override/testscript @@ -34,15 +34,15 @@ x = [string] 0 print $x - dir/: + dir/ { print $x } - dir/: x = [uint64] 1 + dir/ x = [uint64] 1 print $x - dir/: + dir/ { print $x } diff --git a/tests/variable/scope-specific/buildfile b/tests/variable/scope-specific/buildfile new file mode 100644 index 0000000..2f3de77 --- /dev/null +++ b/tests/variable/scope-specific/buildfile @@ -0,0 +1,5 @@ +# file : tests/variable/scope-specific/buildfile +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +./: test{testscript} $b diff --git a/tests/variable/scope-specific/testscript b/tests/variable/scope-specific/testscript new file mode 100644 index 0000000..1f5f5fb --- /dev/null +++ b/tests/variable/scope-specific/testscript @@ -0,0 +1,54 @@ +# file : tests/variable/scope-specific/testscript +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include ../../common.test + +: basic-line +: +$* <<EOI >>EOO +x = x +foo/ x = X +foo/ [uint64] y=00 +print $x +print $(foo/ x) +print $(foo/ y) +EOI +x +X +0 +EOO + +: basic-block +: +$* <<EOI >>EOO +x = x +foo/ +{ + x = X + [uint64] y = 00 + print $x +} +print $x +print $(foo/ y) +EOI +X +x +0 +EOO + +: expect-assignment +: +$* <<EOI 2>>EOE != 0 +foo/ [uint64] y +EOI +<stdin>:1:16: error: variable assignment expected instead of <newline> +EOE + +: unexpected-attribute +: +$* <<EOI 2>>EOE != 0 +[uint64] foo/ y = 0 +EOI +<stdin>:1:1: error: attributes before scope directory +EOE diff --git a/tests/variable/target-specific/buildfile b/tests/variable/target-specific/buildfile new file mode 100644 index 0000000..5a8178b --- /dev/null +++ b/tests/variable/target-specific/buildfile @@ -0,0 +1,5 @@ +# file : tests/variable/target-specific/buildfile +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +./: test{testscript} $b diff --git a/tests/variable/target-specific/testscript b/tests/variable/target-specific/testscript new file mode 100644 index 0000000..e8cc9c2 --- /dev/null +++ b/tests/variable/target-specific/testscript @@ -0,0 +1,61 @@ +# file : tests/variable/scope-specific/testscript +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include ../../common.test + +: basic-line +: +$* <<EOI >>EOO +x = x +#./: x = X @@ TMP +dir{./}: x = X +file{foo}: [uint64] y=00 +sub/ +{ + file{foo}: z = Z +} +print $x +print $(./: x) +print $(file{foo}: y) +print $(sub/file{foo}: z) +EOI +x +X +0 +Z +EOO + +: eval-qual +: +$* <<EOI >>EOO +print (foo:bar) +print (foo :bar) +print (foo: bar) +print (foo : bar) +print (foo/: bar) +print (foo/file{fox}: bar) +EOI +foo:bar +foo:bar +foo:bar +foo:bar +foo/:bar +foo/file{fox}:bar +EOO + +: eval-qual-name-expected +: +$* <<EOI 2>>EOE != 0 +print (foo:) +EOI +<stdin>:1:12: error: expected name instead of ')' +EOE + +: eval-qual-target-expected +: +$* <<EOI 2>>EOE != 0 +print (:foo) +EOI +<stdin>:1:8: error: expected target before ':' +EOE |