Merge "Reproduce that only half of the PCI devs are removed"

This commit is contained in:
Zuul
2025-09-02 11:08:42 +00:00
committed by Gerrit Code Review
+15 -2
View File
@@ -878,12 +878,25 @@ class PciDevTrackerTestCase(test.NoDBTestCase):
self._fake_pci_device_destroy)
self.destroy_called = 0
self.assertEqual(len(self.tracker.pci_devs), 3)
dev = self.tracker.pci_devs[0]
dev1 = self.tracker.pci_devs[0]
dev2 = self.tracker.pci_devs[1]
self.update_called = 0
dev.remove()
dev1.remove()
dev2.remove()
self.tracker.save(self.fake_context)
# This is https://bugs.launchpad.net/nova/+bug/2115729 as
# only one half of the removed devices are destroyed.
self.assertEqual(len(self.tracker.pci_devs), 2)
self.assertEqual(self.destroy_called, 1)
# a subsequent save will destroy half of the remaining removed devices
self.tracker.save(self.fake_context)
self.assertEqual(len(self.tracker.pci_devs), 1)
self.assertEqual(self.destroy_called, 2)
# after the fix we should see that a single save causes all the
# removed devices destroyed
# self.assertEqual(len(self.tracker.pci_devs), 1)
# self.assertEqual(self.destroy_called, 2)
def test_clean_usage(self):
inst_2 = copy.copy(self.inst)