diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2020-06-16 13:07:31 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2020-06-16 13:07:31 +0200 |
commit | 50e725ae23124a10d56a615fb8b0ae80d0d2b4d3 (patch) | |
tree | ab916fa1916d7e435a3bf4e25ef205ce4eccbd08 /tests | |
parent | af73b1603d851dcb2ce7ae84bd57df0c2f9a716d (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.build | 5 | ||||
-rw-r--r-- | tests/dependency/recipe/testscript | 3 | ||||
-rw-r--r-- | tests/recipe/cxx/testscript | 4 |
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 |