Commit 9a9d6a4f6e for qemu.org
commit 9a9d6a4f6e4aeca954a7709106b9e33e1dbc8fb2
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Fri Sep 4 16:12:13 2026 +0400
tests/functional: replace HMP with QMP
Replace HMP with QMP equivalent.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
diff --git a/tests/functional/arm/test_integratorcp.py b/tests/functional/arm/test_integratorcp.py
index 23ae919359..b79e813935 100755
--- a/tests/functional/arm/test_integratorcp.py
+++ b/tests/functional/arm/test_integratorcp.py
@@ -14,6 +14,7 @@
import logging
+from qemu.qmp.qmp_client import ExecuteError
from qemu_test import QemuSystemTest, Asset
from qemu_test import wait_for_console_pattern
from qemu_test import skipIfMissingImports, skipUntrustedTest
@@ -72,11 +73,13 @@ def test_framebuffer_tux_logo(self):
self.boot_integratorcp()
framebuffer_ready = 'Console: switching to colour frame buffer device'
wait_for_console_pattern(self, framebuffer_ready)
- self.vm.cmd('human-monitor-command', command_line='stop')
- res = self.vm.cmd('human-monitor-command',
- command_line='screendump %s' % screendump_path)
- if 'unknown command' in res:
- self.skipTest('screendump not available')
+ self.vm.cmd('stop')
+ try:
+ self.vm.cmd('screendump', filename=screendump_path)
+ except ExecuteError as e:
+ if e.error_class == 'CommandNotFound':
+ self.skipTest('screendump command not found')
+ raise
cpu_count = 1
match_threshold = 0.92
diff --git a/tests/functional/m68k/test_nextcube.py b/tests/functional/m68k/test_nextcube.py
index d917cf5424..f3d92034b1 100755
--- a/tests/functional/m68k/test_nextcube.py
+++ b/tests/functional/m68k/test_nextcube.py
@@ -9,6 +9,7 @@
import time
+from qemu.qmp.qmp_client import ExecuteError
from qemu_test import QemuSystemTest, Asset
from qemu_test import skipIfMissingImports, skipIfMissingCommands
from qemu_test.tesseract import tesseract_ocr
@@ -39,10 +40,12 @@ def check_bootrom_framebuffer(self, screenshot_path):
break
time.sleep(0.1)
- res = self.vm.cmd('human-monitor-command',
- command_line=f"screendump {screenshot_path}")
- if 'unknown command' in res:
- self.skipTest('screendump not available')
+ try:
+ self.vm.cmd('screendump', filename=screenshot_path)
+ except ExecuteError as e:
+ if e.error_class == 'CommandNotFound':
+ self.skipTest('screendump command not found')
+ raise
@skipIfMissingImports("PIL")
def test_bootrom_framebuffer_size(self):
diff --git a/tests/functional/mips64el/test_malta.py b/tests/functional/mips64el/test_malta.py
index 163bbaf5ca..4544f950d9 100755
--- a/tests/functional/mips64el/test_malta.py
+++ b/tests/functional/mips64el/test_malta.py
@@ -11,6 +11,7 @@
import os
+from qemu.qmp.qmp_client import ExecuteError
from qemu_test import LinuxKernelTest, Asset
from qemu_test import exec_command_and_wait_for_pattern
from qemu_test import skipIfMissingImports, skipFlakyTest, skipUntrustedTest
@@ -154,11 +155,13 @@ def do_test_i6400_framebuffer_logo(self, cpu_cores_count):
self.vm.launch()
framebuffer_ready = 'Console: switching to colour frame buffer device'
self.wait_for_console_pattern(framebuffer_ready)
- self.vm.cmd('human-monitor-command', command_line='stop')
- res = self.vm.cmd('human-monitor-command',
- command_line=f'screendump {screendump_path}')
- if 'unknown command' in res:
- self.skipTest('screendump not available')
+ self.vm.cmd('stop')
+ try:
+ self.vm.cmd('screendump', filename=screendump_path)
+ except ExecuteError as e:
+ if e.error_class == 'CommandNotFound':
+ self.skipTest('screendump command not found')
+ raise
match_threshold = 0.95
screendump_bgr = cv2.imread(screendump_path, cv2.IMREAD_COLOR)