aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-06-16 13:07:31 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-06-16 13:07:31 +0200
commit50e725ae23124a10d56a615fb8b0ae80d0d2b4d3 (patch)
treeab916fa1916d7e435a3bf4e25ef205ce4eccbd08 /tests
parentaf73b1603d851dcb2ce7ae84bd57df0c2f9a716d (diff)
Add metadata for exe{b}, including whether it is statically-linked
Use this information to omit ad hoc C++ recipe tests is testing statically- linked build system.
Diffstat (limited to 'tests')
-rw-r--r--tests/build/root.build5
-rw-r--r--tests/dependency/recipe/testscript3
-rw-r--r--tests/recipe/cxx/testscript4
3 files changed, 11 insertions, 1 deletions
diff --git a/tests/build/root.build b/tests/build/root.build
index 4ac2957..e3f0f61 100644
--- a/tests/build/root.build
+++ b/tests/build/root.build
@@ -19,8 +19,11 @@ if ($cxx.class == 'msvc')
# path.
#
import.build2 = [null]
+import! [metadata] b = build2%exe{b}
+
+static = $($b:b.static) # True if testing statically-linked build system.
+shared = (!$static) # For '$shared || exit' idiom.
-import b = build2%exe{b}
testscript{*}: test = $b
# Specify the test target for cross-testing.
diff --git a/tests/dependency/recipe/testscript b/tests/dependency/recipe/testscript
index 5f9bdf1..bd33bcc 100644
--- a/tests/dependency/recipe/testscript
+++ b/tests/dependency/recipe/testscript
@@ -708,6 +708,8 @@ EOE
:
: Disable when cross-testing for the sake of simplicity.
:
+ #\
+ # @@ There is now metadata and name in exe{b}.
if ($test.target == $build.host)
{
$* <<EOI 2>>/~%EOE% != 0
@@ -724,6 +726,7 @@ EOE
info: or provide custom low-verbosity diagnostics with the 'diag' builtin
EOE
}
+ #\
: program
:
diff --git a/tests/recipe/cxx/testscript b/tests/recipe/cxx/testscript
index 3eb8015..6601c0a 100644
--- a/tests/recipe/cxx/testscript
+++ b/tests/recipe/cxx/testscript
@@ -1,6 +1,10 @@
# file : tests/recipe/cxx/testscript
# license : MIT; see accompanying LICENSE file
+# Ad hoc C++ recipes not supported in a statically-linked build system.
+#
++$shared || exit
+
+mkdir build
+cat <<EOI >=build/bootstrap.build
project = test