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(a)redhat.com>
---
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