diff options
Diffstat (limited to 'tests/test/script-integration')
-rw-r--r-- | tests/test/script-integration/buildfile | 8 | ||||
-rw-r--r-- | tests/test/script-integration/testscript | 81 |
2 files changed, 89 insertions, 0 deletions
diff --git a/tests/test/script-integration/buildfile b/tests/test/script-integration/buildfile new file mode 100644 index 0000000..4249e1f --- /dev/null +++ b/tests/test/script-integration/buildfile @@ -0,0 +1,8 @@ +# file : tests/test/script-integration/buildfile +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Test integration of testscript into build system. +# + +./: test{testscript} $b diff --git a/tests/test/script-integration/testscript b/tests/test/script-integration/testscript new file mode 100644 index 0000000..914ff30 --- /dev/null +++ b/tests/test/script-integration/testscript @@ -0,0 +1,81 @@ +# file : tests/test/script-integration/testscript +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include ../common.test + +: script-files +: +{ + +touch testscript foo.test bar.test + + : testscript-and-other + : + $* <<EOI 2>>~%EOE% != 0 + ./: test{../testscript ../foo} + EOI + %error: both 'testscript' and other names specified for dir\{\.[/\\]\}% + EOE + + : other-and-testscript + : + $* <<EOI 2>>~%EOE% != 0 + ./: test{../foo ../testscript} + EOI + %error: both 'testscript' and other names specified for dir\{\.[/\\]\}% + EOE + + : others + : + $* <<EOI + ./: test{../foo ../bar} + EOI +} + +: wd-is-file +: +touch foo.test; +touch test; +$* <<EOI 2>>~%EOE% != 0 +./: test{foo} +EOI +%error: working directory test[/\\] is a file/symlink% +EOE + +: wd-exists-before +: +touch foo.test; +mkdir test &!test/; +$* <<EOI 2>>~%EOE% +./: test{foo} +EOI +%warning: working directory test[/\\] exists at the beginning of the test% +EOE + +: wd-not-empty-before +: +touch foo.test; +mkdir test &!test/; +touch test/dummy &!test/dummy; +$* <<EOI 2>>~%EOE% +./: test{foo} +EOI +%warning: working directory test[/\\] exists and is not empty at the beginning of the test% +EOE + +: wd-not-empty-after +: +: The idea here is to run a nested testscript that creates (but does not +: clean up) a file in our working directory. Note that an implicit cleanup +: cancelation is not required as the file is out of the test root directory +: scope. Also note that we still have to remove everything after detecting the +: failure. +: +cat <<EOI >>>foo.test; +touch ../../dummy +EOI +$* <<EOI 2>>~%EOE% &test/*** != 0 +./: test{foo} +EOI +%error: working directory test[/\\] is not empty at the end of the test% +EOE |