]> xenbits.xensource.com Git - osstest/openstack-nova.git/commitdiff
Port ironic unit tests to Python 3
authorChangBo Guo(gcb) <eric.guo@easystack.cn>
Thu, 17 Nov 2016 10:55:53 +0000 (18:55 +0800)
committerChangBo Guo(gcb) <eric.guo@easystack.cn>
Tue, 29 Nov 2016 05:04:17 +0000 (13:04 +0800)
* Use sorted(dict.keys()) because dict.keys() has no sort() method
  on Python 3

* Dicts are not orderable in Python 3, need work around. For more
  information, please see:
  http://stackoverflow.com/questions/22333388/dicts-are-not-orderable-in-python-3

Partially-Implements: blueprint goal-python35

Co-Authored-By: Davanum Srinivas <davanum@gmail.com>
Change-Id: Icf7fd0e392fc0d174d6312badf024367ba72fd8f

nova/tests/unit/virt/ironic/test_driver.py
nova/tests/unit/virt/ironic/test_patcher.py
tests-py3.txt

index a928b8cc8e2cedc606b7af590cd0b87e9fc01ebe..23e1e23814cd342c80e24353bb1f292d3a20b109 100644 (file)
@@ -281,8 +281,7 @@ class IronicDriverTestCase(test.NoDBTestCase):
                     "stats",
                     "numa_topology", "resource_class"]
         wantkeys.sort()
-        gotkeys = result.keys()
-        gotkeys.sort()
+        gotkeys = sorted(result.keys())
         self.assertEqual(wantkeys, gotkeys)
 
         if has_inst_info:
index 2fc7d094b7b9be9d23931449eca934e51c974f46..4ae37ad8be641892fa04101382eebb527d8d0f3a 100644 (file)
@@ -13,6 +13,8 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import operator
+
 from oslo_config import cfg
 
 from nova import context as nova_context
@@ -60,6 +62,12 @@ class IronicDriverFieldsTestCase(test.NoDBTestCase):
              'op': 'add'}
         ]
 
+    def assertPatchEqual(self, expected, observed):
+        self.assertEqual(
+            sorted(expected, key=operator.itemgetter('path', 'value')),
+            sorted(observed, key=operator.itemgetter('path', 'value'))
+        )
+
     def test_create_generic(self):
         node = ironic_utils.get_test_node(driver='pxe_fake')
         patcher_obj = patcher.create(node)
@@ -69,7 +77,7 @@ class IronicDriverFieldsTestCase(test.NoDBTestCase):
         node = ironic_utils.get_test_node(driver='fake')
         patch = patcher.create(node).get_deploy_patch(
                 self.instance, self.image_meta, self.flavor)
-        self.assertEqual(sorted(self._expected_deploy_patch), sorted(patch))
+        self.assertPatchEqual(self._expected_deploy_patch, patch)
 
     def test_generic_get_deploy_patch_capabilities(self):
         node = ironic_utils.get_test_node(driver='fake')
@@ -80,7 +88,7 @@ class IronicDriverFieldsTestCase(test.NoDBTestCase):
         expected += self._expected_deploy_patch
         patch = patcher.create(node).get_deploy_patch(
                 self.instance, self.image_meta, self.flavor)
-        self.assertEqual(sorted(expected), sorted(patch))
+        self.assertPatchEqual(expected, patch)
 
     def test_generic_get_deploy_patch_capabilities_op(self):
         node = ironic_utils.get_test_node(driver='fake')
@@ -91,7 +99,7 @@ class IronicDriverFieldsTestCase(test.NoDBTestCase):
         expected += self._expected_deploy_patch
         patch = patcher.create(node).get_deploy_patch(
                 self.instance, self.image_meta, self.flavor)
-        self.assertEqual(sorted(expected), sorted(patch))
+        self.assertPatchEqual(expected, patch)
 
     def test_generic_get_deploy_patch_capabilities_nested_key(self):
         node = ironic_utils.get_test_node(driver='fake')
@@ -102,7 +110,7 @@ class IronicDriverFieldsTestCase(test.NoDBTestCase):
         expected += self._expected_deploy_patch
         patch = patcher.create(node).get_deploy_patch(
                 self.instance, self.image_meta, self.flavor)
-        self.assertEqual(sorted(expected), sorted(patch))
+        self.assertPatchEqual(expected, patch)
 
     def test_generic_get_deploy_patch_ephemeral(self):
         CONF.set_override('default_ephemeral_format', 'testfmt')
@@ -120,7 +128,7 @@ class IronicDriverFieldsTestCase(test.NoDBTestCase):
                      'value': 'testfmt',
                      'op': 'add'}]
         expected += self._expected_deploy_patch
-        self.assertEqual(sorted(expected), sorted(patch))
+        self.assertPatchEqual(expected, patch)
 
     def test_generic_get_deploy_patch_preserve_ephemeral(self):
         node = ironic_utils.get_test_node(driver='fake')
@@ -131,4 +139,4 @@ class IronicDriverFieldsTestCase(test.NoDBTestCase):
             expected = [{'path': '/instance_info/preserve_ephemeral',
                          'value': str(preserve), 'op': 'add', }]
             expected += self._expected_deploy_patch
-            self.assertEqual(sorted(expected), sorted(patch))
+            self.assertPatchEqual(expected, patch)
index 4180632eacd24f0ebb4a1acc4997db90401c358c..3e7c2c4c90b006645177362d5961e010692cd807 100644 (file)
@@ -37,8 +37,6 @@ nova.tests.unit.test_configdrive2.ConfigDriveTestCase
 nova.tests.unit.test_matchers.TestDictMatches.test__str__
 nova.tests.unit.test_wsgi.TestWSGIServerWithSSL
 nova.tests.unit.virt.disk.mount.test_nbd.NbdTestCase
-nova.tests.unit.virt.ironic.test_driver.IronicDriverTestCase
-nova.tests.unit.virt.ironic.test_patcher.IronicDriverFieldsTestCase
 nova.tests.unit.virt.libvirt.storage.test_rbd.RbdTestCase
 nova.tests.unit.virt.libvirt.test_driver.LibvirtConnTestCase
 nova.tests.unit.virt.libvirt.test_driver.LibvirtDriverTestCase