A test case can be part of a test suite (just like we already have 'syntax-check'). This then allows developers to run only a subset of tests. For instance - when using valgrind test setup (`meson test -C _build/ --setup valgrind`) it makes zero sense to run syntax-check tests or other script based tests (e.g. check-augeas-*, check-remote_protocol, etc.). What does makes sense is to run compiled binaries. Strictly speaking, reaching that goal is as trivial as annotating only those compiled tests (declared in tests/meson.build) and running them selectively: meson test -C _build/ --setup valgrind --suite $TAG But it may be also desirable to run test scripts separately. Therefore, introduce two new tags: 'bin' for compiled tests, and 'script' for script based tests and annotate each test() accordingly. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- docs/advanced-tests.rst | 2 +- docs/html/meson.build | 1 + docs/meson.build | 1 + src/access/meson.build | 1 + src/meson.build | 10 ++++++++++ tests/meson.build | 11 +++++++++-- 6 files changed, 23 insertions(+), 3 deletions(-) diff --git a/docs/advanced-tests.rst b/docs/advanced-tests.rst index 370e24cc98..b9dae46c8a 100644 --- a/docs/advanced-tests.rst +++ b/docs/advanced-tests.rst @@ -16,7 +16,7 @@ by running :: - $ meson test --setup valgrind + $ meson test --setup valgrind --suite bin `Valgrind <https://valgrind.org/>`__ is a test that checks for memory management issues, such as leaks or use of uninitialized diff --git a/docs/html/meson.build b/docs/html/meson.build index 4d8d44d783..c0a666f4e1 100644 --- a/docs/html/meson.build +++ b/docs/html/meson.build @@ -126,4 +126,5 @@ test( '--nonet', '--noout', docs_html_paths, ], depends: docs_html_dep, + suite: 'script' ) diff --git a/docs/meson.build b/docs/meson.build index 70d271ec6e..b20ef1c926 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -360,4 +360,5 @@ test( meson.project_build_root() / 'docs' ], env: runutf8, + suite: 'script' ) diff --git a/src/access/meson.build b/src/access/meson.build index 07c703e8b5..e65f17c0a2 100644 --- a/src/access/meson.build +++ b/src/access/meson.build @@ -110,4 +110,5 @@ test( python3_prog, args: [ check_aclperms_prog.full_path(), access_perm_h, files('viraccessperm.c') ], env: runutf8, + suite: 'script' ) diff --git a/src/meson.build b/src/meson.build index c2b882d464..28e4d0cc4e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -923,6 +923,7 @@ if host_machine.system() == 'linux' python3_prog, args: [ check_symfile_prog.full_path(), libvirt_syms, libvirt_lib ], env: runutf8, + suite: 'script' ) if conf.has('WITH_REMOTE') @@ -931,6 +932,7 @@ if host_machine.system() == 'linux' python3_prog, args: [ check_symfile_prog.full_path(), libvirt_admin_syms, libvirt_admin_lib ], env: runutf8, + suite: 'script' ) endif endif @@ -944,6 +946,7 @@ test( files(sym_files, used_sym_files), ], env: runutf8, + suite: 'script' ) test( @@ -955,6 +958,7 @@ test( libvirt_admin_private_syms, ], env: runutf8, + suite: 'script' ) test( @@ -965,6 +969,7 @@ test( files('libvirt_public.syms'), libvirt_qemu_syms, libvirt_lxc_syms, ], env: runutf8, + suite: 'script' ) test( @@ -974,6 +979,7 @@ test( check_drivername_prog.full_path(), libvirt_admin_public_syms, ], env: runutf8, + suite: 'script' ) test( @@ -981,6 +987,7 @@ test( python3_prog, args: [ check_driverimpls_prog.full_path(), driver_source_files ], env: runutf8, + suite: 'script' ) test( @@ -988,6 +995,7 @@ test( python3_prog, args: [ check_aclrules_prog.full_path(), files('remote/remote_protocol.x'), stateful_driver_source_files ], env: runutf8, + suite: 'script' ) if augparse_prog.found() @@ -1000,6 +1008,7 @@ if augparse_prog.found() '-I', data['builddir'], data['file'].full_path(), ], + suite: 'script' ) endforeach endif @@ -1020,6 +1029,7 @@ if pdwtags_prog.found() and cc.get_id() != 'clang' ], env: runutf8, depends: [ lib ], + suite: 'script' ) endforeach endif diff --git a/tests/meson.build b/tests/meson.build index 0082446029..e6589ec555 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -595,7 +595,14 @@ foreach data : tests # default meson timeout timeout = 30 endif - test(data['name'], test_bin, env: tests_env, timeout: timeout, depends: tests_deps) + test( + data['name'], + test_bin, + env: tests_env, + timeout: timeout, + depends: tests_deps, + suite: 'bin' + ) endforeach @@ -695,7 +702,7 @@ endif foreach name : test_scripts script = find_program(name) - test(name, script, env: tests_env) + test(name, script, env: tests_env, suite: 'script') endforeach testenv = runutf8 -- 2.41.0