From nobody Fri May 3 09:23:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 153269506929134.86088008668423; Fri, 27 Jul 2018 05:37:49 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8D6BA3001530; Fri, 27 Jul 2018 12:37:47 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 58F1420DB06C; Fri, 27 Jul 2018 12:37:47 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id EC6193F7FE; Fri, 27 Jul 2018 12:37:46 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6RCbjwc004261 for ; Fri, 27 Jul 2018 08:37:45 -0400 Received: by smtp.corp.redhat.com (Postfix) id A9B342026D74; Fri, 27 Jul 2018 12:37:45 +0000 (UTC) Received: from inaba.usersys.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 492C22026D6B for ; Fri, 27 Jul 2018 12:37:45 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Fri, 27 Jul 2018 14:37:38 +0200 Message-Id: <20180727123741.28513-2-abologna@redhat.com> In-Reply-To: <20180727123741.28513-1-abologna@redhat.com> References: <20180727123741.28513-1-abologna@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [dbus PATCH 1/4] tests: Drop pytest.mark.usefixtures from test_nodedev X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Fri, 27 Jul 2018 12:37:48 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" We're already using node_device_create explicitly for all test cases in order to retrieve the result of the fixture, so using pytest.mark.usefixtures as well is pointless. Additionally, we're soon going to add some test cases where we need the fixture *not* to run automatically. Signed-off-by: Andrea Bolognani Reviewed-by: Katerina Koukiou --- tests/test_nodedev.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_nodedev.py b/tests/test_nodedev.py index 22c8d60..082cf0b 100755 --- a/tests/test_nodedev.py +++ b/tests/test_nodedev.py @@ -5,7 +5,6 @@ import libvirttest import pytest =20 =20 -@pytest.mark.usefixtures("node_device_create") class TestNodeDevice(libvirttest.BaseTestClass): """ Tests for methods and properties of the NodeDevice interface """ --=20 2.17.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 09:23:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 153269516417766.99594984371345; Fri, 27 Jul 2018 05:39:24 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F367930E266E; Fri, 27 Jul 2018 12:37:54 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8719D62A39; Fri, 27 Jul 2018 12:37:52 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 350EE3F7D2; Fri, 27 Jul 2018 12:37:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6RCbkV3004266 for ; Fri, 27 Jul 2018 08:37:46 -0400 Received: by smtp.corp.redhat.com (Postfix) id 568F42026D74; Fri, 27 Jul 2018 12:37:46 +0000 (UTC) Received: from inaba.usersys.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E99C52026D6B for ; Fri, 27 Jul 2018 12:37:45 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Fri, 27 Jul 2018 14:37:39 +0200 Message-Id: <20180727123741.28513-3-abologna@redhat.com> In-Reply-To: <20180727123741.28513-1-abologna@redhat.com> References: <20180727123741.28513-1-abologna@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [dbus PATCH 2/4] tests: Move some test cases to test_nodedev X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Fri, 27 Jul 2018 12:38:17 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" For whatever reason, a few nodedev-related test cases have ended up in test_connect instead of the more appropriate test_nodedev. Move them. Signed-off-by: Andrea Bolognani Reviewed-by: Katerina Koukiou --- tests/test_connect.py | 27 --------------------------- tests/test_nodedev.py | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/tests/test_connect.py b/tests/test_connect.py index f481356..9cc51db 100755 --- a/tests/test_connect.py +++ b/tests/test_connect.py @@ -161,19 +161,6 @@ class TestConnect(libvirttest.BaseTestClass): =20 self.main_loop() =20 - @pytest.mark.usefixtures("node_device_create") - @pytest.mark.parametrize("lookup_method_name,lookup_item", [ - ("NodeDeviceLookupByName", 'Name'), - ]) - def test_connect_node_device_lookup_by_property(self, lookup_method_na= me, lookup_item, node_device_create): - """Parameterized test for all NodeDeviceLookupBy* API calls of Con= nect interface - """ - original_path =3D node_device_create - obj =3D self.bus.get_object('org.libvirt', original_path) - prop =3D obj.Get('org.libvirt.NodeDevice', lookup_item, dbus_inter= face=3Ddbus.PROPERTIES_IFACE) - path =3D getattr(self.connect, lookup_method_name)(prop) - assert original_path =3D=3D path - @pytest.mark.parametrize("lookup_method_name,lookup_item", [ ("NetworkLookupByName", 'Name'), ("NetworkLookupByUUID", 'UUID'), @@ -186,20 +173,6 @@ class TestConnect(libvirttest.BaseTestClass): path =3D getattr(self.connect, lookup_method_name)(prop) assert original_path =3D=3D path =20 - def test_connect_node_device_create_xml(self): - def node_device_created(path, event, _detail): - if event !=3D libvirttest.NodeDeviceEvent.CREATED: - return - assert isinstance(path, dbus.ObjectPath) - self.loop.quit() - - self.connect.connect_to_signal('NodeDeviceEvent', node_device_crea= ted) - - path =3D self.connect.NodeDeviceCreateXML(xmldata.minimal_node_dev= ice_xml, 0) - assert isinstance(path, dbus.ObjectPath) - - self.main_loop() - def test_connect_node_get_cpu_stats(self): stats =3D self.connect.NodeGetCPUStats(0, 0) assert isinstance(stats, dbus.Dictionary) diff --git a/tests/test_nodedev.py b/tests/test_nodedev.py index 082cf0b..c68cb66 100755 --- a/tests/test_nodedev.py +++ b/tests/test_nodedev.py @@ -3,11 +3,37 @@ import dbus import libvirttest import pytest +import xmldata =20 =20 class TestNodeDevice(libvirttest.BaseTestClass): """ Tests for methods and properties of the NodeDevice interface """ + @pytest.mark.parametrize("lookup_method_name,lookup_item", [ + ("NodeDeviceLookupByName", 'Name'), + ]) + def test_connect_node_device_lookup_by_property(self, lookup_method_na= me, lookup_item, node_device_create): + """Parameterized test for all NodeDeviceLookupBy* API calls of Con= nect interface + """ + original_path =3D node_device_create + obj =3D self.bus.get_object('org.libvirt', original_path) + prop =3D obj.Get('org.libvirt.NodeDevice', lookup_item, dbus_inter= face=3Ddbus.PROPERTIES_IFACE) + path =3D getattr(self.connect, lookup_method_name)(prop) + assert original_path =3D=3D path + + def test_connect_node_device_create(self): + def node_device_created(path, event, _detail): + if event !=3D libvirttest.NodeDeviceEvent.CREATED: + return + assert isinstance(path, dbus.ObjectPath) + self.loop.quit() + + self.connect.connect_to_signal('NodeDeviceEvent', node_device_crea= ted) + + path =3D self.connect.NodeDeviceCreateXML(xmldata.minimal_node_dev= ice_xml, 0) + assert isinstance(path, dbus.ObjectPath) + + self.main_loop() =20 def test_node_device_destroy(self, node_device_create): def node_device_deleted(path, event, _detail): --=20 2.17.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 09:23:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532695074719232.79159235839165; Fri, 27 Jul 2018 05:37:54 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2E8BB308FB8C; Fri, 27 Jul 2018 12:37:53 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BD99F307D986; Fri, 27 Jul 2018 12:37:52 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 72FFB3F646; Fri, 27 Jul 2018 12:37:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6RCblwe004274 for ; Fri, 27 Jul 2018 08:37:47 -0400 Received: by smtp.corp.redhat.com (Postfix) id 035C52026D74; Fri, 27 Jul 2018 12:37:47 +0000 (UTC) Received: from inaba.usersys.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 96F6A2026D6B for ; Fri, 27 Jul 2018 12:37:46 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Fri, 27 Jul 2018 14:37:40 +0200 Message-Id: <20180727123741.28513-4-abologna@redhat.com> In-Reply-To: <20180727123741.28513-1-abologna@redhat.com> References: <20180727123741.28513-1-abologna@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [dbus PATCH 3/4] tests: Don't open-code node_device_create() X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Fri, 27 Jul 2018 12:37:53 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The fixture is pretty trivial right now, so open-coding it is not a big deal; however, we're going to add more logic to it soon and we definitely don't want to end up having to worry about duplicated code. Signed-off-by: Andrea Bolognani Reviewed-by: Katerina Koukiou --- tests/test_nodedev.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_nodedev.py b/tests/test_nodedev.py index c68cb66..ce70dfc 100755 --- a/tests/test_nodedev.py +++ b/tests/test_nodedev.py @@ -3,7 +3,6 @@ import dbus import libvirttest import pytest -import xmldata =20 =20 class TestNodeDevice(libvirttest.BaseTestClass): @@ -30,7 +29,7 @@ class TestNodeDevice(libvirttest.BaseTestClass): =20 self.connect.connect_to_signal('NodeDeviceEvent', node_device_crea= ted) =20 - path =3D self.connect.NodeDeviceCreateXML(xmldata.minimal_node_dev= ice_xml, 0) + path =3D self.node_device_create() assert isinstance(path, dbus.ObjectPath) =20 self.main_loop() --=20 2.17.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 09:23:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532695113165459.31864368262984; Fri, 27 Jul 2018 05:38:33 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CC3BA36A5DA; Fri, 27 Jul 2018 12:37:56 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8C97D65974; Fri, 27 Jul 2018 12:37:56 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 3CF9718037F2; Fri, 27 Jul 2018 12:37:56 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6RCblJc004282 for ; Fri, 27 Jul 2018 08:37:47 -0400 Received: by smtp.corp.redhat.com (Postfix) id A43AC2026D74; Fri, 27 Jul 2018 12:37:47 +0000 (UTC) Received: from inaba.usersys.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 43A072026D6B for ; Fri, 27 Jul 2018 12:37:47 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Fri, 27 Jul 2018 14:37:41 +0200 Message-Id: <20180727123741.28513-5-abologna@redhat.com> In-Reply-To: <20180727123741.28513-1-abologna@redhat.com> References: <20180727123741.28513-1-abologna@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [dbus PATCH 4/4] tests: Make node_device_create() work with libvirt 3.0.0 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 27 Jul 2018 12:38:30 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The scsi_host2 nodedev, which our test nodedev uses as its parent, was added to the test driver with commit 5c2ff641e10c, which is included in libvirt 3.1.0; before that, there was a similar device called test-scsi-host-vport, which is no longer present after libvirt 3.0.0. Since there's no nodedev that we can use as parent both with libvirt 3.0.0 and with later versions, our only option is to perform a lookup at runtime and use whatever's available. Signed-off-by: Andrea Bolognani Reviewed-by: Katerina Koukiou --- tests/libvirttest.py | 17 ++++++++++++++++- tests/xmldata.py | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/tests/libvirttest.py b/tests/libvirttest.py index 776b12d..14baf5b 100644 --- a/tests/libvirttest.py +++ b/tests/libvirttest.py @@ -91,7 +91,22 @@ class BaseTestClass(): This fixture should be used in the setup of every test manipulating with node devices. """ - path =3D self.connect.NodeDeviceCreateXML(xmldata.minimal_node_dev= ice_xml, 0) + # We need a usable parent nodedev: possible candidates are + # scsi_host2 (available since libvirt 3.1.0) and + # test-scsi-host-vport (available until libvirt 3.0.0). + # + # Looking up a non-existing nodedev raises an exception, so + # we need to ignore them here: that's okay, because if we + # can't find any then NodeDeviceCreateXML() itself will fail + xml =3D xmldata.minimal_node_device_xml + for parent in ['scsi_host2', 'test-scsi-host-vport']: + try: + if self.connect.NodeDeviceLookupByName(parent): + xml =3D xml.replace('@parent@', parent) + break + except dbus.exceptions.DBusException: + pass + path =3D self.connect.NodeDeviceCreateXML(xml, 0) return path =20 @pytest.fixture diff --git a/tests/xmldata.py b/tests/xmldata.py index a70bac1..8075052 100644 --- a/tests/xmldata.py +++ b/tests/xmldata.py @@ -41,7 +41,7 @@ minimal_network_xml =3D ''' minimal_node_device_xml =3D ''' scsi_host22 - scsi_host2 + @parent@ 22 22 --=20 2.17.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list