@@ -84,7 +84,7 @@ msys2-64bit:
- ..\msys64\usr\bin\bash -lc 'make'
# qTests don't run successfully with "--without-default-devices",
# so let's exclude the qtests from CI for now.
- - ..\msys64\usr\bin\bash -lc 'make check MTESTARGS=\"--no-suite qtest\" || { cat meson-logs/testlog.txt; exit 1; } ;'
+ - ..\msys64\usr\bin\bash -lc 'make check MTESTARGS=\"--no-suite qtest migration\" || { cat meson-logs/testlog.txt; exit 1; } ;'
msys2-32bit:
extends: .shared_msys2_builder
@@ -369,14 +369,36 @@ foreach dir : target_dirs
test: executable(test, src, dependencies: deps)
}
endif
- test('qtest-@0@/@1@'.format(target_base, test),
- qtest_executables[test],
- depends: [test_deps, qtest_emulator, emulator_modules],
- env: qtest_env,
- args: ['--tap', '-k'],
- protocol: 'tap',
- timeout: slow_qtests.get(test, 30),
- priority: slow_qtests.get(test, 30),
- suite: ['qtest', 'qtest-' + target_base])
+
+ migtest = 'migration-test'
+ if test == migtest
+ migtests = run_command(python, files('gen_migration_tests_list.py'),
+ meson.current_source_dir() / 'migration-test.c',
+ check: true)
+
+ foreach item : migtests.stdout().strip().split('\n')
+ testname = '/@0@@1@'.format(target_base, item)
+
+ test(testname,
+ qtest_executables['migration-test'],
+ depends: [test_deps, qtest_emulator, emulator_modules],
+ env: qtest_env,
+ args: ['-k', '-p', testname],
+ protocol: 'tap',
+ timeout: slow_qtests.get(migtest),
+ priority: slow_qtests.get(migtest),
+ suite: ['migration'])
+ endforeach
+ else
+ test('qtest-@0@/@1@'.format(target_base, test),
+ qtest_executables[test],
+ depends: [test_deps, qtest_emulator, emulator_modules],
+ env: qtest_env,
+ args: ['--tap', '-k'],
+ protocol: 'tap',
+ timeout: slow_qtests.get(test, 30),
+ priority: slow_qtests.get(test, 30),
+ suite: ['qtest', 'qtest-' + target_base])
+ endif
endforeach
endforeach
Having glib tests (qtest) all defined in a single test file makes it hard to know which test has failed when running CI. Create a new 'migration' test suite and move the migration tests individually to meson. For now, use the global migration-test timeout value, but we could set a per-subtest timeout in the future. Sample output: $ ../configure --target-list=x86_64-softmmu,aarch64-softmmu ... $ make check-migration ... 36/469 qemu:migration / /x86_64/migration/precopy/unix/plain OK 34.25s 1 subtests passed 37/469 qemu:migration / /x86_64/migration/multifd/tcp/tls/x509/default-host OK 7.33s 1 subtests passed 39/469 qemu:migration / /x86_64/migration/multifd/tcp/tls/x509/allow-anon-client OK 7.32s 1 subtests passed 40/469 qemu:migration / /aarch64/migration/postcopy/compress/plain SKIP 0.04s 41/469 qemu:migration / /aarch64/migration/postcopy/recovery/compress/plain SKIP 0.04s 42/469 qemu:migration / /aarch64/migration/bad_dest OK 0.65s 1 subtests passed Signed-off-by: Fabiano Rosas <farosas@suse.de> --- .gitlab-ci.d/windows.yml | 2 +- tests/qtest/meson.build | 40 +++++++++++++++++++++++++++++++--------- 2 files changed, 32 insertions(+), 10 deletions(-)