diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-09-16 05:00:53 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-09-30 19:11:36 +0200 |
commit | fd5eef85fed024387d41adc4f7ca502c14ff62be (patch) | |
tree | 49176a00729123b189e5bb159284a52347572ce7 | |
parent | 61f86416441a902f0244e4f26ca1a510b0273050 (diff) | |
download | qemu-fd5eef85fed024387d41adc4f7ca502c14ff62be.zip qemu-fd5eef85fed024387d41adc4f7ca502c14ff62be.tar.gz qemu-fd5eef85fed024387d41adc4f7ca502c14ff62be.tar.bz2 |
meson: qtest: set "depends" correctly
This does not have any effect on Meson's behavior itself, since "meson test"
always rebuilds everything (that is one reason why we are not using it...).
However, mtest2make can use this information to do a selective rebuild
for the requested suite.
Cc: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | meson.build | 7 | ||||
-rw-r--r-- | tests/qtest/meson.build | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/meson.build b/meson.build index 34d4ff9..32f614b 100644 --- a/meson.build +++ b/meson.build @@ -1103,7 +1103,7 @@ common_all = static_library('common', feature_to_c = find_program('scripts/feature_to_c.sh') -emulators = [] +emulators = {} foreach target : target_dirs config_target = config_target_mak[target] target_name = config_target['TARGET_NAME'] @@ -1222,7 +1222,8 @@ foreach target : target_dirs }] endif foreach exe: execs - emulators += executable(exe['name'], exe['sources'], + emulators += {exe['name']: + executable(exe['name'], exe['sources'], install: true, c_args: c_args, dependencies: arch_deps + deps + exe['dependencies'], @@ -1231,6 +1232,7 @@ foreach target : target_dirs link_depends: [block_syms, qemu_syms] + exe.get('link_depends', []), link_args: link_args, gui_app: exe['gui']) + } if 'CONFIG_TRACE_SYSTEMTAP' in config_host foreach stp: [ @@ -1276,7 +1278,6 @@ if xkbcommon.found() dependencies: [qemuutil, xkbcommon], install: have_tools) endif -qemu_block_tools = [] if have_tools qemu_img = executable('qemu-img', [files('qemu-img.c'), hxdep], dependencies: [authz, block, crypto, io, qom, qemuutil], install: true) diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build index 874b5be..4f7757e 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build @@ -228,10 +228,15 @@ foreach dir : target_dirs endif target_base = dir.split('-')[0] + qtest_emulator = emulators['qemu-system-' + target_base] qtests = get_variable('qtests_' + target_base, []) + qtests_generic + test_deps = [] qtest_env = environment() - qtest_env.set('QTEST_QEMU_IMG', './qemu-img') + if have_tools + qtest_env.set('QTEST_QEMU_IMG', './qemu-img') + test_deps += [qemu_img] + endif qtest_env.set('G_TEST_DBUS_DAEMON', meson.source_root() / 'tests/dbus-vmstate-daemon.sh') qtest_env.set('QTEST_QEMU_BINARY', './qemu-system-' + target_base) @@ -248,6 +253,7 @@ foreach dir : target_dirs # FIXME: missing dependency on the emulator binary and qemu-img test('qtest-@0@: @1@'.format(target_base, test), qtest_executables[test], + depends: [test_deps, qtest_emulator], env: qtest_env, args: ['--tap', '-k'], protocol: 'tap', |