# file : tests/test/script/integration/testscript # copyright : Copyright (c) 2014-2018 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file # Note: using common.test from test/, not script/. # .include ../../common.test : script-files : { +touch testscript foo.test bar.test : testscript-and-other : $* <<EOI 2>>/EOE != 0 ./: ../testscript test{../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 : : Note that here we can not use portable path modifier as not all slashes are : path separators. : 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