We add one test for each plugin by picking a different user and system multiarch test.
Tested-by: Alex Bennée <[email protected]> Signed-off-by: Pierrick Bouvier <[email protected]> --- tests/tcg/meson.build | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index d3ec735e7c3..48bf747b316 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -87,6 +87,51 @@ subdir('plugins') # multiarch comes second, so it can be referenced by other arch after subdir('multiarch') +# Generic Plugin tests +# add a single test for each plugin in user/system multiarch set +plugin_tests_exclude = ['patch'] +foreach target: ['multiarch-linux-user', 'multiarch-softmmu'] + plugin_tests = [] + tests = tcg_tests[target]['tests'] + normal_tests = [] + + # filter tests that are not plugin or gdb tests + foreach t: tests + foreach src, setup: t + if 'plugin_test' in setup or 'gdb_test' in setup + continue + endif + normal_tests += {src: setup} + endforeach + endforeach + + idx = 0 + foreach plugin_name, _: test_plugins + if plugin_name in plugin_tests_exclude + continue + endif + + # pick one different test for each plugin + foreach src, setup: normal_tests[idx % normal_tests.length()] + # copy existing setup and remove existing cflags + new_setup = {} + foreach key, val: setup + if key == 'cflags' + continue + endif + new_setup += {key: val} + endforeach + new_setup += {'plugin_test': {'plugin': plugin_name}} + plugin_tests += {src: new_setup} + endforeach + + idx += 1 + endforeach + + # replace list of tests with old and new ones + tcg_tests += {target: {'tests': tests + plugin_tests}} +endforeach + image_targets = {} exe_targets = [] # Finally, we can create all test executables and test targets -- 2.47.3
