diff options
Diffstat (limited to 'libbuild2/test/script/parser+directive.test.testscript')
-rw-r--r-- | libbuild2/test/script/parser+directive.test.testscript | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/libbuild2/test/script/parser+directive.test.testscript b/libbuild2/test/script/parser+directive.test.testscript new file mode 100644 index 0000000..9d04ce7 --- /dev/null +++ b/libbuild2/test/script/parser+directive.test.testscript @@ -0,0 +1,74 @@ +# file : libbuild2/test/script/parser+directive.test.testscript +# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +: not-directive +: +$* <<EOI >>EOO +x = x +".include" foo.testscript +\.include foo.testscript +EOI +.include foo.testscript +.include foo.testscript +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.testscript; +$* <<EOI +. include foo.testscript +EOI + +: not-separated +: +touch foo.testscript; +$* <<EOI +x = foo.testscript +.include$x +EOI + +: var-expansion +: +cat <<EOI >="foo-$(build.verson.project).testscript"; +cmd +EOI +$* <<EOI >>EOO +.include "foo-$(build.verson.project).testscript" +EOI +cmd +EOO + +: after-semi +: +$* <<EOI 2>>EOE != 0 +cmd; +.include foo.testscript +EOI +testscript:2:1: error: directive after ';' +EOE + +: semi-after +: +$* <<EOI 2>>EOE != 0 +.include foo.testscript; +cmd +EOI +testscript:1:24: error: ';' after directive +EOE |