diff options
Diffstat (limited to 'tests/test/script/common.testscript')
-rw-r--r-- | tests/test/script/common.testscript | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test/script/common.testscript b/tests/test/script/common.testscript new file mode 100644 index 0000000..b509818 --- /dev/null +++ b/tests/test/script/common.testscript @@ -0,0 +1,37 @@ +# file : tests/test/script/common.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Commonly-used build system test project setup and driver command line +# (test module using testscript tests). +# + ++mkdir build ++cat <<"EOI" >=build/bootstrap.build +project = test +amalgamation = + +using test +EOI + +# We assume the specified target if any is in out_base which would be two +# levels up from our working directory. +# ++if! $empty($target) + cat <<"EOI" >=build/root.build + target = \$src_root/../../$string([name] $target) + testscript{*}: test = \$target + EOI +end + +# The "cat & build" setup: first cat ($c) the testscript, then run build ($b) +# which will execute the testscript. We have to quote stdin because of the +# command line re-expansion. +# +# Note that the buildfile is clever hack that relies on the first target +# automatically becoming dir{./}'s prerequisite. +# +c = cat >=testscript +b = $0 --serial-stop --quiet --buildfile - test \ +<"'testscript{testscript}: \$target'" \ +&?test/*** |