From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org, "John Snow" <jsnow@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Radoslaw Biernacki" <rad@semihalf.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Leif Lindholm" <leif.lindholm@oss.qualcomm.com>,
"Eric Auger" <eric.auger@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Aurelien Jarno" <aurelien@aurel32.net>,
"BALATON Zoltan" <balaton@eik.bme.hu>,
"Glenn Miles" <milesg@linux.ibm.com>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Harsh Prateek Bora" <harshpb@linux.ibm.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Alistair Francis" <alistair.francis@wdc.com>,
"Weiwei Li" <liwei1518@gmail.com>,
"Daniel Henrique Barboza" <dbarboza@ventanamicro.com>,
"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
"Zhao Liu" <zhao1.liu@intel.com>,
"Jiaxun Yang" <jiaxun.yang@flygoat.com>
Subject: [PATCH for-11.0 04/15] tests/functional/x86_64/test_virtio_gpu: Fix various issues reported by pylint
Date: Wed, 19 Nov 2025 09:26:25 +0100 [thread overview]
Message-ID: <20251119082636.43286-5-thuth@redhat.com> (raw)
In-Reply-To: <20251119082636.43286-1-thuth@redhat.com>
From: Thomas Huth <thuth@redhat.com>
Use the recommended order for import statements, specify the kind of
exceptions that we try to catch, use f-strings where it makes sense,
rewrite the vug_log_file part with a proper "with" statement and
fix some FIXMEs by checking for the availability of the devices, etc.
Message-Id: <20251113114015.490303-1-thuth@redhat.com>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/functional/x86_64/test_virtio_gpu.py | 56 +++++++++++-----------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/tests/functional/x86_64/test_virtio_gpu.py b/tests/functional/x86_64/test_virtio_gpu.py
index be96de24da2..58b0f72ba42 100755
--- a/tests/functional/x86_64/test_virtio_gpu.py
+++ b/tests/functional/x86_64/test_virtio_gpu.py
@@ -5,22 +5,23 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
+import os
+import socket
+import subprocess
from qemu_test import QemuSystemTest, Asset
from qemu_test import wait_for_console_pattern
from qemu_test import exec_command_and_wait_for_pattern
from qemu_test import is_readable_executable_file
-
-import os
-import socket
-import subprocess
+from qemu.machine.machine import VMLaunchFailure
def pick_default_vug_bin(test):
bld_dir_path = test.build_file("contrib", "vhost-user-gpu", "vhost-user-gpu")
if is_readable_executable_file(bld_dir_path):
return bld_dir_path
+ return None
class VirtioGPUx86(QemuSystemTest):
@@ -46,8 +47,8 @@ def wait_for_console_pattern(self, success_message, vm=None):
)
def test_virtio_vga_virgl(self):
- # FIXME: should check presence of virtio, virgl etc
self.require_accelerator('kvm')
+ self.require_device('virtio-vga-gl')
kernel_path = self.ASSET_KERNEL.fetch()
initrd_path = self.ASSET_INITRD.fetch()
@@ -68,7 +69,7 @@ def test_virtio_vga_virgl(self):
)
try:
self.vm.launch()
- except:
+ except VMLaunchFailure:
# TODO: probably fails because we are missing the VirGL features
self.skipTest("VirGL not enabled?")
@@ -78,8 +79,8 @@ def test_virtio_vga_virgl(self):
)
def test_vhost_user_vga_virgl(self):
- # FIXME: should check presence of vhost-user-gpu, virgl, memfd etc
self.require_accelerator('kvm')
+ self.require_device('vhost-user-vga')
vug = pick_default_vug_bin(self)
if not vug:
@@ -95,27 +96,29 @@ def test_vhost_user_vga_virgl(self):
os.set_inheritable(qemu_sock.fileno(), True)
os.set_inheritable(vug_sock.fileno(), True)
- self._vug_log_path = self.log_file("vhost-user-gpu.log")
- self._vug_log_file = open(self._vug_log_path, "wb")
- self.log.info('Complete vhost-user-gpu.log file can be '
- 'found at %s', self._vug_log_path)
-
- vugp = subprocess.Popen(
- [vug, "--virgl", "--fd=%d" % vug_sock.fileno()],
- stdin=subprocess.DEVNULL,
- stdout=self._vug_log_file,
- stderr=subprocess.STDOUT,
- shell=False,
- close_fds=False,
- )
- self._vug_log_file.close()
-
+ vug_log_path = self.log_file("vhost-user-gpu.log")
+ self.log.info('Complete vhost-user-gpu.log file can be found at %s',
+ vug_log_path)
+ with open(vug_log_path, "wb") as vug_log_file:
+ with subprocess.Popen([vug, "--virgl", f"--fd={vug_sock.fileno()}"],
+ stdin=subprocess.DEVNULL,
+ stdout=vug_log_file,
+ stderr=subprocess.STDOUT,
+ shell=False,
+ close_fds=False) as vugp:
+ self._test_vhost_user_vga_virgl(qemu_sock,
+ kernel_path, initrd_path)
+ qemu_sock.close()
+ vug_sock.close()
+ vugp.terminate()
+
+ def _test_vhost_user_vga_virgl(self, qemu_sock, kernel_path, initrd_path):
self.vm.set_console()
self.vm.add_args("-cpu", "host")
self.vm.add_args("-m", "2G")
self.vm.add_args("-object", "memory-backend-memfd,id=mem,size=2G")
self.vm.add_args("-machine", "pc,memory-backend=mem,accel=kvm")
- self.vm.add_args("-chardev", "socket,id=vug,fd=%d" % qemu_sock.fileno())
+ self.vm.add_args("-chardev", f"socket,id=vug,fd={qemu_sock.fileno()}")
self.vm.add_args("-device", "vhost-user-vga,chardev=vug")
self.vm.add_args("-display", "egl-headless")
self.vm.add_args(
@@ -128,17 +131,14 @@ def test_vhost_user_vga_virgl(self):
)
try:
self.vm.launch()
- except:
+ except VMLaunchFailure:
# TODO: probably fails because we are missing the VirGL features
self.skipTest("VirGL not enabled?")
self.wait_for_console_pattern("as init process")
exec_command_and_wait_for_pattern(self, "/usr/sbin/modprobe virtio_gpu",
"features: +virgl +edid")
self.vm.shutdown()
- qemu_sock.close()
- vug_sock.close()
- vugp.terminate()
- vugp.wait()
+
if __name__ == '__main__':
QemuSystemTest.main()
--
2.51.1
next prev parent reply other threads:[~2025-11-19 8:27 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-19 8:26 [PATCH for-11.0 00/15] tests/functional: Check Python code with pylint Thomas Huth
2025-11-19 8:26 ` [PATCH for-11.0 01/15] tests/functional: Add a pylintrc file Thomas Huth
2025-11-19 8:26 ` [PATCH for-11.0 02/15] tests/functional/riscv64/test_sifive_u: Remove unused import statement Thomas Huth
2025-11-19 8:26 ` [PATCH for-11.0 03/15] tests/functional/arm/test_aspeed_ast2600_buildroot: Fix pylint warnings Thomas Huth
2025-11-19 8:26 ` Thomas Huth [this message]
2025-11-20 15:01 ` [PATCH for-11.0 04/15] tests/functional/x86_64/test_virtio_gpu: Fix various issues reported by pylint Zhao Liu
2025-11-19 8:26 ` [PATCH for-11.0 05/15] tests/functional/mips/test_malta: Silence warnings " Thomas Huth
2025-11-19 8:26 ` [PATCH for-11.0 06/15] tests/functional/ppc64/test_hv: " Thomas Huth
2025-11-19 8:26 ` [PATCH for-11.0 07/15] tests/functional/x86_64/test_reverse_debug: Silence pylint warning Thomas Huth
2025-11-19 10:22 ` Philippe Mathieu-Daudé
2025-11-20 15:01 ` Zhao Liu
2025-11-19 8:26 ` [PATCH for-11.0 08/15] tests/functional/x86_64/test_memlock: Silence pylint warnings Thomas Huth
2025-11-20 10:56 ` Philippe Mathieu-Daudé
2025-11-20 15:02 ` Zhao Liu
2025-11-19 8:26 ` [PATCH for-11.0 09/15] tests/functional/ppc/test_amiga: Fix issues reported by pylint and flake8 Thomas Huth
2025-11-19 10:22 ` Philippe Mathieu-Daudé
2025-11-19 8:26 ` [PATCH for-11.0 10/15] tests/functional/ppc/test_ppe42: Fix style issues reported by pylint Thomas Huth
2025-11-19 16:29 ` Miles Glenn
2025-11-20 10:55 ` Philippe Mathieu-Daudé
2025-11-19 8:26 ` [PATCH for-11.0 11/15] tests/functional/aarch64/test_virt_gpu: Fix style issues Thomas Huth
2025-11-19 8:26 ` [PATCH for-11.0 12/15] tests/functional/aarch64/test_reverse_debug: Fix issues reported by pylint Thomas Huth
2025-11-19 10:23 ` Philippe Mathieu-Daudé
2025-11-19 8:26 ` [PATCH for-11.0 13/15] tests/functional/aarch64/test_smmu: Silence warning from pylint Thomas Huth
2025-11-19 8:26 ` [PATCH for-11.0 14/15] tests/functional/aarch64/test_rme_sbsaref: Silence issues reported by pylint Thomas Huth
2025-11-19 10:24 ` Philippe Mathieu-Daudé
2025-11-19 8:26 ` [PATCH for-11.0 15/15] tests/functional: Add a generic test that checks the files with pylint Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251119082636.43286-5-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=alistair.francis@wdc.com \
--cc=aurelien@aurel32.net \
--cc=balaton@eik.bme.hu \
--cc=berrange@redhat.com \
--cc=dbarboza@ventanamicro.com \
--cc=eric.auger@redhat.com \
--cc=harshpb@linux.ibm.com \
--cc=jiaxun.yang@flygoat.com \
--cc=jsnow@redhat.com \
--cc=leif.lindholm@oss.qualcomm.com \
--cc=liwei1518@gmail.com \
--cc=milesg@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rad@semihalf.com \
--cc=zhao1.liu@intel.com \
--cc=zhiwei_liu@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).