diff mbox series

[v4,30/32] pc-bios: ensure keymaps dependencies set vnc tests

Message ID 20250108121054.1126164-31-alex.bennee@linaro.org
State New
Headers show
Series testing/next: functional tests, qtest clocks, vm and keymaps (pre-PR-FINAL) | expand

Commit Message

Alex Bennée Jan. 8, 2025, 12:10 p.m. UTC
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).

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
---
 pc-bios/keymaps/meson.build | 17 ++++++++---------
 tests/qtest/meson.build     |  2 +-
 2 files changed, 9 insertions(+), 10 deletions(-)

Comments

Paolo Bonzini Jan. 9, 2025, 12:13 p.m. UTC | #1
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 <pbonzini@redhat.com>

Paolo

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   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
diff mbox series

Patch

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