From: Alfredo Deza Date: Mon, 12 Nov 2018 17:57:26 +0000 (-0500) Subject: ceph-volume tests patch Device() by splitting parametrized method X-Git-Tag: v14.1.0~938^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=82d96f876484c9668e2fc4726057691ba2c50f06;p=ceph-ci.git 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 --- 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 3d646a22c78..74e817c6a5d 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',