# file      : tests/test/script/common.test
# copyright : Copyright (c) 2014-2017 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)
  test{*}: 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 <"'test{testscript}: \$target'" \
&?test/***