From 1d08b8f12c1576a122c0d208aa98835b99a0a7c7 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Mon, 12 Nov 2018 12:57:26 -0500 Subject: [PATCH] ceph-volume tests patch Device() by splitting parametrized method This was causing failures on systems where there is no LVM or where the device names don't match. Patching is always recommended to avoid conflicts with the system testing Signed-off-by: Alfredo Deza (cherry picked from commit 82d96f876484c9668e2fc4726057691ba2c50f06) --- .../ceph_volume/tests/util/test_device.py | 50 +++++++++++++------ 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/src/ceph-volume/ceph_volume/tests/util/test_device.py b/src/ceph-volume/ceph_volume/tests/util/test_device.py index 3d646a22c782b..74e817c6a5dfc 100644 --- a/src/ceph-volume/ceph_volume/tests/util/test_device.py +++ b/src/ceph-volume/ceph_volume/tests/util/test_device.py @@ -117,21 +117,41 @@ class TestDevice(object): disk = device.Device("/dev/sda") assert not disk.used_by_ceph - disk1 = device.Device("/dev/sda") - disk2 = device.Device("/dev/sdb") - disk2._valid = False - disk3 = device.Device("/dev/sdc") - disk4 = device.Device("/dev/sdd") - disk4._valid = False - - @pytest.mark.parametrize("diska, diskb", [ - pytest.param(disk1, disk2, id="(_, valid) < (_, invalid)"), - pytest.param(disk1, disk3, id="(sda, valid) < (sdc, valid)"), - pytest.param(disk3, disk2, id="(sdc, valid) < (sdb, invalid)"), - pytest.param(disk2, disk4, id="(sdb, invalid) < (sdd, invalid)"), - ]) - def test_ordering(self, diska, diskb): - assert diska < diskb and diskb > diska + +class TestDeviceOrdering(object): + + def setup(self): + self.data = { + "/dev/sda": {"removable": 0}, + "/dev/sdb": {"removable": 1}, # invalid + "/dev/sdc": {"removable": 0}, + "/dev/sdd": {"removable": 1}, # invalid + } + + def test_valid_before_invalid(self, device_info): + device_info(devices=self.data) + sda = device.Device("/dev/sda") + sdb = device.Device("/dev/sdb") + + assert sda < sdb + assert sdb > sda + + def test_valid_alphabetical_ordering(self, device_info): + device_info(devices=self.data) + sda = device.Device("/dev/sda") + sdc = device.Device("/dev/sdc") + + assert sda < sdc + assert sdc > sda + + def test_invalid_alphabetical_ordering(self, device_info): + device_info(devices=self.data) + sdb = device.Device("/dev/sdb") + sdd = device.Device("/dev/sdd") + + assert sdb < sdd + assert sdd > sdb + ceph_partlabels = [ 'ceph data', 'ceph journal', 'ceph block', -- 2.39.5