aboutsummaryrefslogtreecommitdiff
path: root/tests/common.testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/common.testscript')
-rw-r--r--tests/common.testscript45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/common.testscript b/tests/common.testscript
new file mode 100644
index 0000000..369c798
--- /dev/null
+++ b/tests/common.testscript
@@ -0,0 +1,45 @@
+# file : tests/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.
+#
+
+# If the includer indicated that no cross-testing should be supported, then
+# use the build system driver that is building, not the one being built.
+#
+# In many cases expecting a cross-compiled driver to perform a native build
+# under emulation is pushing things a bit too far. Plus, we have no way of
+# knowing the native compiler name/path.
+#
+# So the idea here is to test cross-compilation with the understanding that
+# the build system driver we are testing is not the one being cross-compiled
+# but rather the one doing the cross-compilation.
+#
+if ($null($crosstest))
+ crosstest = true
+end
+
+if (!$crosstest && $test.target != $build.host)
+ test = $recall($build.path)
+end
+
+# Common bootstrap.build.
+#
++mkdir build
++cat <<EOI >=build/bootstrap.build
+project = test
+amalgamation =
+EOI
+
+test.options += --serial-stop --quiet
+
+if ($null($buildfile) || !$buildfile)
+ test.options += --buildfile -
+end
+
+# By default just load the buildfile.
+#
+if ($null($test.arguments))
+ test.arguments = noop
+end