From nobody Mon Sep 8 17:08:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1755621428; cv=none; d=zohomail.com; s=zohoarc; b=XJuAnELbOXKUiqJNsWCzcISzJrhySmAzw/JYcFOZgx6rRZS/qXnbPIXFY+q2bTDZAjFbWi4hPUfkqHZp5sZUAGHeuqz9/J5sBUQJAwQZA2I5JTRJ7BA9VBHx4hLDc1JTARHkqzzc56cPJdiF0dF5oWgjYMgtZmDDR7BggjDLlVo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1755621428; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=LMVRo/J2ESMfyT7Z4RL7r2vw+vC1+nXGJ/uAb8sgra8=; b=GEsIeIHY25/YT45EPq01RVnHAsRdgZSpSQYZc5ntNVfFqYcgxVINQUKVqDvfayX9X/pyQenKfhaZMOxPwZnoxQJnX3MAnvBNsaugC79SGIR0NUny4z44put+A+l2chhLJGcAItZcy64wSRNNYjGNkg1LwgJxEiKDA73hpLanDGA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1755621428859799.8592880878462; Tue, 19 Aug 2025 09:37:08 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id C4369E01; Tue, 19 Aug 2025 12:37:07 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id C4FAE1126; Tue, 19 Aug 2025 12:23:22 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 67826E6A; Tue, 19 Aug 2025 12:23:13 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4BE06CAA for ; Tue, 19 Aug 2025 12:22:54 -0400 (EDT) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-615-_vKSuU33NqKLJRto7MKlAw-1; Tue, 19 Aug 2025 12:22:52 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2FB811954209 for ; Tue, 19 Aug 2025 16:22:51 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.224.253]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 58EC21800447 for ; Tue, 19 Aug 2025 16:22:50 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755620573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TBWJs4zxMCSS5uhPgekVcFQAPvtTVPoNVua63G0ZzFY=; b=aPdzR9K3QscBToPdr0dqZvmdGgrl1oT9R1U6jgAzZgmThE+IU/XwmI0eScTfxis1+by8dc du2H4kb7p4ZfWQVNm7sGgffe9tHZDEajLLhFpdP2RmLP0UaGuWsHeIciye4bRWf8e4Tw0I 1FHUTMjzdYyL1AoJrwE0S0aMHUh0p5Y= X-MC-Unique: _vKSuU33NqKLJRto7MKlAw-1 X-Mimecast-MFC-AGG-ID: _vKSuU33NqKLJRto7MKlAw_1755620571 To: devel@lists.libvirt.org Subject: [PATCH 08/31] tests: Fix some usb-controller-*-unavailable cases Date: Tue, 19 Aug 2025 18:22:12 +0200 Message-ID: <20250819162235.468215-9-abologna@redhat.com> In-Reply-To: <20250819162235.468215-1-abologna@redhat.com> References: <20250819162235.468215-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 9WqfXI7_74Ee_cidzQupezfp8NfxlLDNrUMXytGwoKs_1755620571 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: MK4NGZWORPWL7RLPPRZZ4LI37CRK2SM3 X-Message-ID-Hash: MK4NGZWORPWL7RLPPRZZ4LI37CRK2SM3 X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Bolognani via Devel Reply-To: Andrea Bolognani X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1755621430780116600 Content-Type: text/plain; charset="utf-8"; x-default="true" These tests are intended to show what happens when the device that libvirt would use by default is not available in QEMU by dropping the corresponding capabilities, but we're not doing that correctly at the moment and so we still get the default USB controller instead of a failure. Note that the usb-controller-automatic-unavailable tests are still behaving the same despite dropping all the expected capabilities: the reason is that, for that scenario, we're not currently checking whether the device is available before using it. That's a separate issue that will be addressed in an upcoming commit. Signed-off-by: Andrea Bolognani --- ...ault-unavailable-nousb.aarch64-latest.args | 32 ------------------- ...fault-unavailable-nousb.aarch64-latest.err | 1 + ...fault-unavailable-nousb.aarch64-latest.xml | 2 +- ...t-unavailable-realview.aarch64-latest.args | 31 ------------------ ...lt-unavailable-realview.aarch64-latest.err | 1 + ...lt-unavailable-realview.aarch64-latest.xml | 2 +- tests/qemuxmlconftest.c | 12 ++++--- 7 files changed, 11 insertions(+), 70 deletions(-) delete mode 100644 tests/qemuxmlconfdata/usb-controller-default-unavailabl= e-nousb.aarch64-latest.args create mode 100644 tests/qemuxmlconfdata/usb-controller-default-unavailabl= e-nousb.aarch64-latest.err delete mode 100644 tests/qemuxmlconfdata/usb-controller-default-unavailabl= e-realview.aarch64-latest.args create mode 100644 tests/qemuxmlconfdata/usb-controller-default-unavailabl= e-realview.aarch64-latest.err diff --git a/tests/qemuxmlconfdata/usb-controller-default-unavailable-nousb= .aarch64-latest.args b/tests/qemuxmlconfdata/usb-controller-default-unavail= able-nousb.aarch64-latest.args deleted file mode 100644 index 0fb2909dd2..0000000000 --- a/tests/qemuxmlconfdata/usb-controller-default-unavailable-nousb.aarch6= 4-latest.args +++ /dev/null @@ -1,32 +0,0 @@ -LC_ALL=3DC \ -PATH=3D/bin \ -HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test \ -USER=3Dtest \ -LOGNAME=3Dtest \ -XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test/.local/share \ -XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test/.cache \ -XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test/.config \ -/usr/bin/qemu-system-aarch64 \ --name guest=3Daarch64test,debug-threads=3Don \ --S \ --object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-aarch64test/master-key.aes"}' \ --machine collie,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dstrongarm= .sdram \ --accel kvm \ --cpu host \ --m size=3D1048576k \ --object '{"qom-type":"memory-backend-ram","id":"strongarm.sdram","size":10= 73741824}' \ --overcommit mem-lock=3Doff \ --smp 1,sockets=3D1,cores=3D1,threads=3D1 \ --uuid 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ --mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ --rtc base=3Dutc \ --no-shutdown \ --boot strict=3Don \ --device '{"driver":"qemu-xhci","id":"usb"}' \ --audiodev '{"id":"audio1","driver":"none"}' \ --sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ --msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/usb-controller-default-unavailable-nousb= .aarch64-latest.err b/tests/qemuxmlconfdata/usb-controller-default-unavaila= ble-nousb.aarch64-latest.err new file mode 100644 index 0000000000..cac4e8e760 --- /dev/null +++ b/tests/qemuxmlconfdata/usb-controller-default-unavailable-nousb.aarch6= 4-latest.err @@ -0,0 +1 @@ +internal error: Unable to determine model for USB controller idx=3D0 diff --git a/tests/qemuxmlconfdata/usb-controller-default-unavailable-nousb= .aarch64-latest.xml b/tests/qemuxmlconfdata/usb-controller-default-unavaila= ble-nousb.aarch64-latest.xml index fa258c5671..ac5f270a3a 100644 --- a/tests/qemuxmlconfdata/usb-controller-default-unavailable-nousb.aarch6= 4-latest.xml +++ b/tests/qemuxmlconfdata/usb-controller-default-unavailable-nousb.aarch6= 4-latest.xml @@ -15,7 +15,7 @@ destroy /usr/bin/qemu-system-aarch64 - + diff --git a/tests/qemuxmlconfdata/usb-controller-default-unavailable-realv= iew.aarch64-latest.args b/tests/qemuxmlconfdata/usb-controller-default-unav= ailable-realview.aarch64-latest.args deleted file mode 100644 index 446ca8aa42..0000000000 --- a/tests/qemuxmlconfdata/usb-controller-default-unavailable-realview.aar= ch64-latest.args +++ /dev/null @@ -1,31 +0,0 @@ -LC_ALL=3DC \ -PATH=3D/bin \ -HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test \ -USER=3Dtest \ -LOGNAME=3Dtest \ -XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test/.local/share \ -XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test/.cache \ -XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-aarch64test/.config \ -/usr/bin/qemu-system-aarch64 \ --name guest=3Daarch64test,debug-threads=3Don \ --S \ --object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-aarch64test/master-key.aes"}' \ --machine realview-pbx-a9,usb=3Doff,dump-guest-core=3Doff \ --accel kvm \ --cpu host \ --m size=3D1048576k \ --overcommit mem-lock=3Doff \ --smp 1,sockets=3D1,cores=3D1,threads=3D1 \ --uuid 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ --mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ --rtc base=3Dutc \ --no-shutdown \ --boot strict=3Don \ --device '{"driver":"qemu-xhci","id":"usb"}' \ --audiodev '{"id":"audio1","driver":"none"}' \ --sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ --msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/usb-controller-default-unavailable-realv= iew.aarch64-latest.err b/tests/qemuxmlconfdata/usb-controller-default-unava= ilable-realview.aarch64-latest.err new file mode 100644 index 0000000000..cac4e8e760 --- /dev/null +++ b/tests/qemuxmlconfdata/usb-controller-default-unavailable-realview.aar= ch64-latest.err @@ -0,0 +1 @@ +internal error: Unable to determine model for USB controller idx=3D0 diff --git a/tests/qemuxmlconfdata/usb-controller-default-unavailable-realv= iew.aarch64-latest.xml b/tests/qemuxmlconfdata/usb-controller-default-unava= ilable-realview.aarch64-latest.xml index f37501b769..dfa8ef8dbe 100644 --- a/tests/qemuxmlconfdata/usb-controller-default-unavailable-realview.aar= ch64-latest.xml +++ b/tests/qemuxmlconfdata/usb-controller-default-unavailable-realview.aar= ch64-latest.xml @@ -15,7 +15,7 @@ destroy /usr/bin/qemu-system-aarch64 - + diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c index dea8b1af14..26afdf7a7e 100644 --- a/tests/qemuxmlconftest.c +++ b/tests/qemuxmlconftest.c @@ -1944,7 +1944,7 @@ mymain(void) ARG_CAPS_ARCH, "armv7l", ARG_CAPS_VER, "latest", ARG_FLAGS, FLAG_EXPECT_FAILURE, - ARG_QEMU_CAPS_DEL, QEMU_CAPS_PCI_OHCI, QEMU_CAPS_LAST, + ARG_QEMU_CAPS_DEL, QEMU_CAPS_DEVICE_QEMU_XHCI, QEMU_CAPS_= NEC_USB_XHCI, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PCI_OHCI, QEMU_CAPS_LAST, ARG_END); =20 DO_TEST_CAPS_ARCH_LATEST("usb-controller-automatic-realview", "aarch64= "); @@ -1952,7 +1952,7 @@ mymain(void) ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", ARG_FLAGS, FLAG_EXPECT_FAILURE, - ARG_QEMU_CAPS_DEL, QEMU_CAPS_PCI_OHCI, QEMU_CAPS_LAST, + ARG_QEMU_CAPS_DEL, QEMU_CAPS_DEVICE_QEMU_XHCI, QEMU_CAPS_= NEC_USB_XHCI, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PCI_OHCI, QEMU_CAPS_LAST, ARG_END); =20 DO_TEST_FULL("usb-controller-automatic-unavailable-pseries", ".ppc64-l= atest", @@ -2045,7 +2045,7 @@ mymain(void) ARG_CAPS_ARCH, "armv7l", ARG_CAPS_VER, "latest", ARG_FLAGS, FLAG_EXPECT_FAILURE, - ARG_QEMU_CAPS_DEL, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PC= I_OHCI, QEMU_CAPS_LAST, + ARG_QEMU_CAPS_DEL, QEMU_CAPS_DEVICE_QEMU_XHCI, QEMU_CAPS_= NEC_USB_XHCI, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PCI_OHCI, QEMU_CAPS_LAST, ARG_END); =20 DO_TEST_CAPS_ARCH_LATEST("usb-controller-default-realview", "aarch64"); @@ -2057,7 +2057,8 @@ mymain(void) DO_TEST_FULL("usb-controller-default-unavailable-realview", ".aarch64-= latest", ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_QEMU_CAPS_DEL, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PC= I_OHCI, QEMU_CAPS_LAST, + ARG_FLAGS, FLAG_EXPECT_FAILURE, + ARG_QEMU_CAPS_DEL, QEMU_CAPS_DEVICE_QEMU_XHCI, QEMU_CAPS_= NEC_USB_XHCI, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PCI_OHCI, QEMU_CAPS_LAST, ARG_END); =20 /* The '-nousb' test case tests machine without a built-in USB control= ler */ @@ -2070,7 +2071,8 @@ mymain(void) DO_TEST_FULL("usb-controller-default-unavailable-nousb", ".aarch64-lat= est", ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_QEMU_CAPS_DEL, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PC= I_OHCI, QEMU_CAPS_LAST, + ARG_FLAGS, FLAG_EXPECT_FAILURE, + ARG_QEMU_CAPS_DEL, QEMU_CAPS_DEVICE_QEMU_XHCI, QEMU_CAPS_= NEC_USB_XHCI, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PCI_OHCI, QEMU_CAPS_LAST, ARG_END); =20 DO_TEST_FULL("usb-controller-default-fallback-g3beige", ".ppc64-latest= ", --=20 2.50.1