Pierrick kindly helped me to resolve this issue which ended
being trivial (to him!). Not tested on Windows so far.
I'm still having some meson dependency problem, even on Linux:
$ make check-functional-aarch64
...
Traceback (most recent call last):
File "python/qemu/qmp/protocol.py", line 834, in _bh_close_stream
await wait_closed(self._writer)
File "python/qemu/qmp/util.py", line 130, in wait_closed
await writer.wait_closed()
File "/usr/lib/python3.10/asyncio/streams.py", line 343, in wait_closed
await self._protocol._get_close_waiter(self)
File "/usr/lib/python3.10/asyncio/selector_events.py", line 862, in
_read_ready__data_received
data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "python/qemu/machine/machine.py", line 448, in launch
self._launch()
File "python/qemu/machine/machine.py", line 497, in _launch
self._post_launch()
File "python/qemu/machine/machine.py", line 381, in _post_launch
self._qmp.connect()
File "python/qemu/qmp/legacy.py", line 153, in connect
self._sync(
File "python/qemu/qmp/legacy.py", line 102, in _sync
return self._aloop.run_until_complete(
File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in
run_until_complete
return future.result()
File "/usr/lib/python3.10/asyncio/tasks.py", line 408, in wait_for
return await fut
File "python/qemu/qmp/protocol.py", line 382, in connect
await self._session_guard(
File "python/qemu/qmp/protocol.py", line 456, in _session_guard
raise ConnectError(emsg, err) from err
qemu.qmp.protocol.ConnectError: Failed to establish session: [Errno 104]
Connection reset by peer
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "tests/functional/test_aarch64_tcg_plugins.py", line 80, in
test_aarch64_virt_insn
self.run_vm(kernel_path, kernel_command_line,
File "tests/functional/test_aarch64_tcg_plugins.py", line 52, in run_vm
raise excp
File "tests/functional/test_aarch64_tcg_plugins.py", line 46, in run_vm
vm.launch()
File "python/qemu/machine/machine.py", line 461, in launch
raise VMLaunchFailure(
qemu.machine.machine.VMLaunchFailure: ConnectError: Failed to establish
session: [Errno 104] Connection reset by peer
Exit code: 1
Command: build/plugins/qemu-system-aarch64 -display none -vga none
-chardev socket,id=mon,fd=6 -mon chardev=mon,mode=control -machine virt
-chardev socket,id=console,fd=11 -serial chardev:console -cpu cortex-a53
-kernel
/home/philippe.mathieu-daude/.cache/qemu/download/ce95a7101a5fecebe0fe630deee6bd97b32ba41bc8754090e9ad8961ea8674c7
-append printk.time=1 panic=-1 console=ttyAMA0 -plugin
tests/tcg/plugins/libinsn.so -d plugin -D /tmp/plugini36uailv.log -net none
-no-reboot
Output: qemu-system-aarch64: Could not load plugin
tests/tcg/plugins/libinsn.so: tests/tcg/plugins/libinsn.so: cannot open shared
object file: No such file or directory
make[1]: *** [Makefile.mtest:26: do-meson-check] Error 1
I don't mind much building the plugins manually:
$ make tests/tcg/plugins/libinsn.so
[1/2] Compiling C object tests/tcg/plugins/libinsn.so.p/insn.c.o
[2/2] Linking target tests/tcg/plugins/libinsn.so
Then tests pass.
Philippe Mathieu-Daudé (2):
tests/functional: Introduce the dso_suffix() helper
tests/functional: Allow running TCG plugins tests on non-Linux/BSD
hosts
tests/functional/qemu_test/__init__.py | 2 +-
tests/functional/qemu_test/cmd.py | 6 ++++++
tests/functional/test_aarch64_tcg_plugins.py | 10 +++++++---
3 files changed, 14 insertions(+), 4 deletions(-)
--
2.47.1