From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 48777158013 for ; Mon, 4 Dec 2023 20:39:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 88BC22BC01A; Mon, 4 Dec 2023 20:39:37 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 69E6A2BC01A for ; Mon, 4 Dec 2023 20:39:37 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9F041335CB4 for ; Mon, 4 Dec 2023 20:39:36 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 37256AF6 for ; Mon, 4 Dec 2023 20:39:35 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1701722371.6b00547810a925620aedaa409bc6c63359668d92.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/python-openstackclient/files/, dev-python/python-openstackclient/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild X-VCS-Directories: dev-python/python-openstackclient/files/ dev-python/python-openstackclient/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 6b00547810a925620aedaa409bc6c63359668d92 X-VCS-Branch: master Date: Mon, 4 Dec 2023 20:39:35 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: fd500212-1bc1-4592-984b-df1b0a616831 X-Archives-Hash: ac2c65675690c7762536bd4d7a18653d commit: 6b00547810a925620aedaa409bc6c63359668d92 Author: Michał Górny gentoo org> AuthorDate: Mon Dec 4 20:33:25 2023 +0000 Commit: Michał Górny gentoo org> CommitDate: Mon Dec 4 20:39:31 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b005478 dev-python/python-openstackclient: Backport test fix Closes: https://bugs.gentoo.org/918417 Signed-off-by: Michał Górny gentoo.org> .../files/python-openstackclient-6.3.0-test.patch | 254 +++++++++++++++++++++ .../python-openstackclient-6.3.0.ebuild | 5 + 2 files changed, 259 insertions(+) diff --git a/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch new file mode 100644 index 000000000000..b82097f36ae7 --- /dev/null +++ b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch @@ -0,0 +1,254 @@ +From fb2e0ced6e2413f5641e65bdc44ff1350a172a24 Mon Sep 17 00:00:00 2001 +From: Stephen Finucane +Date: Mon, 11 Sep 2023 10:46:23 +0100 +Subject: [PATCH] tests: Explicitly specify port fields for output + +Rather than excluding the few fields we don't want, explicitly indicate +the ones we do want. We were already in-effect doing this in our tests, +so this is simply moving the definition from tests to the main code. + +Note that this is a problem in the tests for virtually all commands +that will be seen as the SDK continues to evolve and new fields are +added to existing resources. This is a problem that be solved over +time though, rather than in a big bang commit. + +Change-Id: Iaa64e97450f5c73cab2e2c3b0c741aec1495b4f1 +Signed-off-by: Stephen Finucane +--- + openstackclient/network/v2/port.py | 52 +++++++++++++++---- + .../tests/unit/network/v2/test_port.py | 36 ++++++------- + 2 files changed, 59 insertions(+), 29 deletions(-) + +diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py +index 6ca069bb..710e8fe3 100644 +--- a/openstackclient/network/v2/port.py ++++ b/openstackclient/network/v2/port.py +@@ -55,18 +55,48 @@ _formatters = { + + + def _get_columns(item): +- column_map = { +- 'binding:host_id': 'binding_host_id', +- 'binding:profile': 'binding_profile', +- 'binding:vif_details': 'binding_vif_details', +- 'binding:vif_type': 'binding_vif_type', +- 'binding:vnic_type': 'binding_vnic_type', +- 'is_admin_state_up': 'admin_state_up', +- 'is_port_security_enabled': 'port_security_enabled', ++ column_data_mapping = { ++ 'admin_state_up': 'is_admin_state_up', ++ 'allowed_address_pairs': 'allowed_address_pairs', ++ 'binding_host_id': 'binding_host_id', ++ 'binding_profile': 'binding_profile', ++ 'binding_vif_details': 'binding_vif_details', ++ 'binding_vif_type': 'binding_vif_type', ++ 'binding_vnic_type': 'binding_vnic_type', ++ 'created_at': 'created_at', ++ 'data_plane_status': 'data_plane_status', ++ 'description': 'description', ++ 'device_id': 'device_id', ++ 'device_owner': 'device_owner', ++ 'device_profile': 'device_profile', ++ 'dns_assignment': 'dns_assignment', ++ 'dns_domain': 'dns_domain', ++ 'dns_name': 'dns_name', ++ 'extra_dhcp_opts': 'extra_dhcp_opts', ++ 'fixed_ips': 'fixed_ips', ++ 'hints': 'hints', ++ 'id': 'id', ++ 'ip_allocation': 'ip_allocation', ++ 'mac_address': 'mac_address', ++ 'name': 'name', ++ 'network_id': 'network_id', ++ 'numa_affinity_policy': 'numa_affinity_policy', ++ 'port_security_enabled': 'is_port_security_enabled', ++ 'project_id': 'project_id', ++ 'propagate_uplink_status': 'propagate_uplink_status', ++ 'resource_request': 'resource_request', ++ 'revision_number': 'revision_number', ++ 'qos_network_policy_id': 'qos_network_policy_id', ++ 'qos_policy_id': 'qos_policy_id', ++ 'security_group_ids': 'security_group_ids', ++ 'status': 'status', ++ 'tags': 'tags', ++ 'trunk_details': 'trunk_details', ++ 'updated_at': 'updated_at', + } +- hidden_columns = ['location', 'tenant_id'] +- return utils.get_osc_show_columns_for_sdk_resource( +- item, column_map, hidden_columns ++ return ( ++ tuple(column_data_mapping.keys()), ++ tuple(column_data_mapping.values()), + ) + + +diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py +index 59755bb9..c897a1af 100644 +--- a/openstackclient/tests/unit/network/v2/test_port.py ++++ b/openstackclient/tests/unit/network/v2/test_port.py +@@ -172,7 +172,7 @@ class TestCreatePort(TestPort): + ) + self.assertFalse(self.network_client.set_tags.called) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_full_options(self): +@@ -245,7 +245,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_invalid_json_binding_profile(self): +@@ -309,7 +309,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_with_security_group(self): +@@ -347,7 +347,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_port_with_dns_name(self): +@@ -380,7 +380,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_with_security_groups(self): +@@ -420,7 +420,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_with_no_security_groups(self): +@@ -449,7 +449,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_with_no_fixed_ips(self): +@@ -478,7 +478,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_port_with_allowed_address_pair_ipaddr(self): +@@ -520,7 +520,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_port_with_allowed_address_pair(self): +@@ -571,7 +571,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_port_with_qos(self): +@@ -608,7 +608,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_port_security_enabled(self): +@@ -738,7 +738,7 @@ class TestCreatePort(TestPort): + else: + self.assertFalse(self.network_client.set_tags.called) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_with_tags(self): +@@ -787,7 +787,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_with_uplink_status_propagation_enabled(self): +@@ -893,7 +893,7 @@ class TestCreatePort(TestPort): + create_args['numa_affinity_policy'] = numa_affinity_policy + self.network_client.create_port.assert_called_once_with(**create_args) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_with_numa_affinity_policy_required(self): +@@ -940,7 +940,7 @@ class TestCreatePort(TestPort): + 'device_profile': 'cyborg_device_profile_1', + } + self.network_client.create_port.assert_called_once_with(**create_args) +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_hints_invalid_json(self): +@@ -1032,7 +1032,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + def test_create_hints_valid_json(self): +@@ -1067,7 +1067,7 @@ class TestCreatePort(TestPort): + } + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + +@@ -2496,7 +2496,7 @@ class TestShowPort(TestPort): + self._port.name, ignore_missing=False + ) + +- self.assertEqual(set(self.columns), set(columns)) ++ self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.data, data) + + +-- +2.43.0 + diff --git a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild index 90321acb3163..a331211dd91a 100644 --- a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild +++ b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild @@ -50,6 +50,11 @@ BDEPEND=" distutils_enable_tests unittest src_prepare() { + local PATCHES=( + # backport from master + "${FILESDIR}/${P}-test.patch" + ) + # Depends on specific runner sed -e 's/test_command_has_logger/_&/' -i openstackclient/tests/unit/common/test_command.py || die