diff options
Diffstat (limited to 'libbuild2/test/script/parser+include.test.testscript')
-rw-r--r-- | libbuild2/test/script/parser+include.test.testscript | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/libbuild2/test/script/parser+include.test.testscript b/libbuild2/test/script/parser+include.test.testscript new file mode 100644 index 0000000..c86b583 --- /dev/null +++ b/libbuild2/test/script/parser+include.test.testscript @@ -0,0 +1,104 @@ +# file : libbuild2/test/script/parser+include.test.testscript +# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +: none +: +$* <<EOI +.include +.include --once +EOI + +: empty +: +touch foo.testscript; +$* <<EOI +.include foo.testscript +.include --once foo.testscript +EOI + +: one +: +cat <"cmd" >=foo.testscript; +$* <<EOI >>EOO +.include foo.testscript +EOI +cmd +EOO + +: multiple +: +cat <"cmd foo" >=foo.testscript; +cat <"cmd bar" >=bar.testscript; +$* <<EOI >>EOO +.include foo.testscript bar.testscript +EOI +cmd foo +cmd bar +EOO + +: once +: +cat <"cmd" >=foo.testscript; +$* <<EOI >>EOO +.include foo.testscript +x +.include --once foo.testscript +.include --once bar/../foo.testscript +y +.include ../once/foo.testscript +EOI +cmd +x +y +cmd +EOO + +: group-id +: +cat <<EOI >=foo.testscript; +{ + x = b +} +EOI +$* -s -i <<EOI >>EOO +x = a +.include foo.testscript +EOI +{ + { # 2-foo-1 + } +} +EOO + +: test-id +: +cat <<EOI >=foo.testscript; +cmd +EOI +$* -s -i <<EOI >>EOO +x = a +.include foo.testscript +EOI +{ + { # 2-foo-1 + cmd + } +} +EOO + +: invalid-path +: +$* <<EOI 2>>EOE != 0 +.include "" +EOI +testscript:1:2: error: invalid testscript include path '' +EOE + +: unable-open +: +$* <<EOI 2>>~/EOE/ != 0 +.include foo.testscript +EOI +/testscript:1:2: error: unable to read testscript foo.testscript: .+/ +EOE |