On 1/8/25 13:10, Alex Bennée wrote:
I was seeing failures on vnc-display-test on FreeBSD:
make vm-build-freebsd V=1 TARGET_LIST=aarch64-softmmu
BUILD_TARGET=check-qtest QEMU_LOCAL=1 DEBUG=1
Leads to:
qemu-system-aarch64: -vnc none: could not read keymap file: 'en-us'
Broken pipe
../src/tests/qtest/libqtest.c:196: kill_qemu() tried to terminate QEMU
process but encountered exit status 1 (expected 0)
which was as far as I could tell because we don't populate the
$BLD/pc-bios/keymaps (although something attempts to symlink
qemu-bundle/usr/local/share/qemu/keymaps/ to that dir).
That something being scripts/symlink-install-tree.py.
This is where QEMU looks for the keymaps and your patch ensures that it
is populated before running the test. Please add the above info to the
commit message just for accuracy; otherwise:
Reviewed-by: Paolo Bonzini <[email protected]>
Paolo
Signed-off-by: Alex Bennée <[email protected]>
Cc: Paolo Bonzini <[email protected]>
---
pc-bios/keymaps/meson.build | 17 ++++++++---------
tests/qtest/meson.build | 2 +-
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
index 0bd8ce0077..a79a09b276 100644
--- a/pc-bios/keymaps/meson.build
+++ b/pc-bios/keymaps/meson.build
@@ -39,19 +39,18 @@ else
native_qemu_keymap = qemu_keymap
endif
+keymap_targets = []
if native_qemu_keymap.found()
- t = []
foreach km, args: keymaps
# generate with qemu-kvm
- t += custom_target(km,
- build_by_default: true,
- output: km,
- command: [native_qemu_keymap, '-f', '@OUTPUT@',
args.split()],
- install: have_system,
- install_dir: qemu_datadir / 'keymaps')
+ keymap_targets += custom_target(km,
+ build_by_default: true,
+ output: km,
+ command: [native_qemu_keymap, '-f',
'@OUTPUT@', args.split()],
+ install: have_system,
+ install_dir: qemu_datadir / 'keymaps')
endforeach
-
- alias_target('update-keymaps', t)
+ alias_target('update-keymaps', keymap_targets)
else
install_data(keymaps.keys(), install_dir: qemu_datadir / 'keymaps')
endif
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index c5a70021c5..f75c1057a4 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -383,7 +383,7 @@ qtests = {
if vnc.found()
gvnc = dependency('gvnc-1.0', method: 'pkg-config', required: false)
if gvnc.found()
- qtests += {'vnc-display-test': [gvnc]}
+ qtests += {'vnc-display-test': [gvnc, keymap_targets]}
qtests_generic += [ 'vnc-display-test' ]
endif
endif