aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/test/script/parser/directive.test
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-01-04 17:44:39 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-01-04 17:44:39 +0200
commita63e1809afd9a837821d6e8376cb14a36e7fc26e (patch)
tree92a79a14dbab94c7893dee8994d03ab645690852 /unit-tests/test/script/parser/directive.test
parentaab54ca12373bc7df1323017e4fb0b9594dcb835 (diff)
Treat any testscript line that starts with dot as directive
Even though we currently only recognize the include directive, we reserve any line that begins with a dot for future.
Diffstat (limited to 'unit-tests/test/script/parser/directive.test')
-rw-r--r--unit-tests/test/script/parser/directive.test70
1 files changed, 70 insertions, 0 deletions
diff --git a/unit-tests/test/script/parser/directive.test b/unit-tests/test/script/parser/directive.test
new file mode 100644
index 0000000..07cb65c
--- /dev/null
+++ b/unit-tests/test/script/parser/directive.test
@@ -0,0 +1,70 @@
+: not-directive
+:
+$* <<EOI >>EOO
+x = x
+".include" foo.test
+\.include foo.test
+EOI
+.include foo.test
+.include foo.test
+EOO
+
+: expected-name
+:
+$* <<EOI 2>>EOE != 0
+.$
+EOI
+testscript:1:2: error: expected directive name instead of '$'
+EOE
+
+: unknown-name
+:
+$* <<EOI 2>>EOE != 0
+.bogus
+EOI
+testscript:1:2: error: unknown directive 'bogus'
+EOE
+
+: separated
+:
+touch foo.test;
+$* <<EOI
+. include foo.test
+EOI
+
+: not-separated
+:
+touch foo.test;
+$* <<EOI
+x = foo.test
+.include$x
+EOI
+
+: var-expansion
+:
+cat <<EOI >>>"foo-$(build.version).test";
+cmd
+EOI
+$* <<EOI >>EOO
+.include "foo-$(build.version).test"
+EOI
+cmd
+EOO
+
+: after-semi
+:
+$* <<EOI 2>>EOE != 0
+cmd;
+.include foo.test
+EOI
+testscript:2:1: error: directive after ';'
+EOE
+
+: semi-after
+:
+$* <<EOI 2>>EOE != 0
+.include foo.test;
+cmd
+EOI
+testscript:1:18: error: ';' after directive
+EOE