tests/functional: Skip the screendump tests if the command is not available

It is possible nowadays to compile QEMU without pixman support - in that
case the screendump command is not available and the related tests fail.
Thus skip these tests if the screendump command could not be executed.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20250325081713.283490-2-thuth@redhat.com>
This commit is contained in:
Thomas Huth 2025-03-25 09:17:13 +01:00
parent 7c312d8539
commit c23d3339ce
3 changed files with 12 additions and 6 deletions

View file

@ -73,8 +73,10 @@ class IntegratorMachine(QemuSystemTest):
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')
self.vm.cmd('human-monitor-command',
command_line='screendump %s' % screendump_path)
res = self.vm.cmd('human-monitor-command',
command_line='screendump %s' % screendump_path)
if 'unknown command' in res:
self.skipTest('screendump not available')
logger = logging.getLogger('framebuffer')
cpu_count = 1

View file

@ -32,8 +32,10 @@ class NextCubeMachine(QemuSystemTest):
# TODO: wait for the 'displaysurface_create 1120x832' trace-event.
time.sleep(2)
self.vm.cmd('human-monitor-command',
command_line='screendump %s' % screenshot_path)
res = self.vm.cmd('human-monitor-command',
command_line='screendump %s' % screenshot_path)
if 'unknown command' in res:
self.skipTest('screendump not available')
@skipIfMissingImports("PIL")
def test_bootrom_framebuffer_size(self):

View file

@ -155,8 +155,10 @@ class MaltaMachineFramebuffer(LinuxKernelTest):
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')
self.vm.cmd('human-monitor-command',
command_line='screendump %s' % screendump_path)
res = self.vm.cmd('human-monitor-command',
command_line='screendump %s' % screendump_path)
if 'unknown command' in res:
self.skipTest('screendump not available')
logger = logging.getLogger('framebuffer')
match_threshold = 0.95