diff mbox series

[21/22] tests/qtest: Add support for check-qtest-<subsystem>

Message ID 20241105180837.5990-22-farosas@suse.de (mailing list archive)
State New
Headers show
Series tests/qtest: migration-test refactoring | expand

Commit Message

Fabiano Rosas Nov. 5, 2024, 6:08 p.m. UTC
Allow qtests to be ran by subsystem. Some subsystems, such as
migration, have a large number of tests and we could benefit from
being able to access them from make check without having to run the
full set of qtests.

This adds the following make check targets:

make check-qtest-migration

Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
I did not include check-qtest-<arch>-<subsys> because meson generates a
long line that affects readability.
---
 tests/qtest/meson.build | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index 806af512d0..e0ba858f5b 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -36,6 +36,13 @@  if enable_modules
   qtests_generic += [ 'modules-test' ]
 endif
 
+qtest_subsystems = {
+  'migration-test-smoke': ['migration'],
+  'migration-test': ['migration'],
+  'cdrom-test': ['block'],
+  'ahci-test': ['block'],
+}
+
 qtests_pci = \
   (config_all_devices.has_key('CONFIG_VGA') ? ['display-vga-test'] : []) +                  \
   (config_all_devices.has_key('CONFIG_IVSHMEM_DEVICE') ? ['ivshmem-test'] : [])
@@ -431,6 +438,12 @@  foreach dir : target_dirs
         test: executable(test, src, dependencies: deps)
       }
     endif
+
+    suites = ['qtest', 'qtest-' + target_base]
+    foreach subsys: qtest_subsystems.get(test, [])
+      suites += ['qtest-' + subsys]
+    endforeach
+
     test('qtest-@0@/@1@'.format(target_base, test),
          qtest_executables[test],
          depends: [test_deps, qtest_emulator, emulator_modules],
@@ -439,6 +452,6 @@  foreach dir : target_dirs
          protocol: 'tap',
          timeout: slow_qtests.get(test, 60),
          priority: slow_qtests.get(test, 60),
-         suite: ['qtest', 'qtest-' + target_base])
+         suite: suites)
   endforeach
 endforeach