On Wed, 10 Jun 2026 00:47, Pierrick Bouvier <[email protected]>
wrote:
We add possibility to duplicate a test executable for a given source
file. This is needed when different cflags need to be used (like
vectorized vs non-vectorized for instance, like sve tests in aarch64).
Signed-off-by: Pierrick Bouvier <[email protected]>
---
tests/tcg/meson.build | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build
index 72d1a9f8986..2c6d85c586a 100644
--- a/tests/tcg/meson.build
+++ b/tests/tcg/meson.build
@@ -11,6 +11,7 @@ tcg_tests = {}
# 'tests': [
# {
# 'src_file': {
+# 'exe_name': ['provide an alternative binary name'],
# }
# },
# ...
@@ -18,10 +19,10 @@ tcg_tests = {}
# }
# }
#
-# Every test executable, is built only once.
+# Every test executable, identified by 'exe_name' is built only once.
# Tests for a given src use the same executable by default, and their definition
# is guaranteed to be unique also.
-# Default name is derived from src.
+# Default name is derived from src if 'exe_name' is omitted.
# plugins come first, as we need to build the list
subdir('plugins')
@@ -47,11 +48,23 @@ foreach target, plan: tcg_tests
foreach t : tests
foreach src, setup: t
+ # return a clear error if user mispell a setup entry
Minor typo:
If user misspells*
Reviewed-by: Manos Pitsidianakis <[email protected]>
+ foreach key, _ : setup
+ if key not in [
+ 'exe_name',
+ ]
+ error('unknown tcg setup entry \'' + key + '\' for test ' + src)
+ endif
+ endforeach
+
# meson '/' operator drops left operand if right is an absolute path
src = folder / src
file = files(src)
test = fs.name(file)
exe_name = fs.stem(src)
+ if 'exe_name' in setup
+ exe_name = setup['exe_name']
+ endif
exe_name = target + '-' + exe_name
test_name = exe_name
--
2.43.0