# 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 : : 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