def testPhysicalVolumeWithoutVolumeGroup(self): with cros_test_lib.RunCommandMock() as rc_mock: rc_mock.SetDefaultCmdResult(output=""" wrong_vg1\t/dev/sda1 \t/dev/loop0 """) vg = cros_sdk_lib.FindVolumeGroupForDevice('/chroot', '/dev/loop0') self.assertEqual(vg, 'cros_chroot_000')
def testNoMatchingVolumeGroup(self): with cros_test_lib.RunCommandMock() as rc_mock: rc_mock.SetDefaultCmdResult(output=''' wrong_vg1\t/dev/sda1 wrong_vg2\t/dev/loop0 ''') vg = cros_sdk_lib.FindVolumeGroupForDevice('/chroot', '') self.assertEqual(vg, 'cros_chroot_000')
def testInvalidLines(self): with cros_test_lib.RunCommandMock() as rc_mock: rc_mock.SetDefaultCmdResult(output=""" \t/dev/sda1 wrong_vg2\t/dev/loop0\t """) vg = cros_sdk_lib.FindVolumeGroupForDevice('/chroot', '') self.assertEqual(vg, 'cros_chroot_000')
def testTooManyVolumeGroups(self): with cros_test_lib.RunCommandMock() as rc_mock: rc_mock.SetDefaultCmdResult(output=""" wrong_vg1\t/dev/sda1 %s wrong_vg2\t/dev/loop0 """ % '\n'.join([' cros_chroot_%03d\t/dev/any' % i for i in range(1000)])) vg = cros_sdk_lib.FindVolumeGroupForDevice('/chroot', '') self.assertIsNone(vg)
def testExistingDevice(self): with cros_test_lib.RunCommandMock() as rc_mock: rc_mock.SetDefaultCmdResult(output=""" wrong_vg1\t/dev/sda1 test_vg\t/dev/loop1 wrong_vg2\t/dev/loop0 """) vg = cros_sdk_lib.FindVolumeGroupForDevice('/chroot', '/dev/loop1') self.assertEqual(vg, 'test_vg')
def testInvalidChars(self): with cros_test_lib.RunCommandMock() as rc_mock: rc_mock.SetDefaultCmdResult(output=""" wrong_vg1\t/dev/sda1 cros_chroot_000\t/dev/loop1 wrong_vg2\t/dev/loop0 """) vg = cros_sdk_lib.FindVolumeGroupForDevice( '//full path /to& "my" /chroot', '') self.assertEqual(vg, 'cros_full+path++to+++my+++chroot_000')