def testSmallDevice(self): """ Creation of a smallish device will result in an error if the data and metadata levels are specified differently, but not if they are unspecified. """ with self.assertRaises(BTRFSError): btrfs.create_volume(self.loopDevices, data="single", metadata="dup") self.assertEqual(btrfs.create_volume(self.loopDevices), 0)
def testMkfsDefaults(self): _LOOP_DEV0 = self._loopMap[self._LOOP_DEVICES[0]] _LOOP_DEV1 = self._loopMap[self._LOOP_DEVICES[1]] btrfs.create_volume(self._loopMap.values()) self.assertEqual(btrfs.summarize_filesystem(_LOOP_DEV0)["label"], "none") self.assertEqual(btrfs.summarize_filesystem(_LOOP_DEV0)["num_devices"], "2") self.assertEqual(len(btrfs.list_devices(_LOOP_DEV0)), 2) self.assertIn(_LOOP_DEV1, [ dev["path"] for dev in btrfs.list_devices(_LOOP_DEV0) ]) self.assertIn(_LOOP_DEV0, [ dev["path"] for dev in btrfs.list_devices(_LOOP_DEV1) ])
def setUp(self): """After the DevicelibsTestCase setup, creates the filesystem on both devices and mounts on a tmp directory. Chooses the device to specify to mount command arbitrarily. """ baseclass.DevicelibsTestCase.setUp(self) btrfs.create_volume(self._loopMap.values()) self.device = self._loopMap.values()[0] self.mountpoint = tempfile.mkdtemp() rc = subprocess.call(["mount", self.device, self.mountpoint]) if rc: raise OSError("mount failed to mount device %s" % self.device)
def testMkfsDefaults(self): _LOOP_DEV0 = self._loopMap[self._LOOP_DEVICES[0]] _LOOP_DEV1 = self._loopMap[self._LOOP_DEVICES[1]] btrfs.create_volume(self._loopMap.values()) self.assertEqual( btrfs.summarize_filesystem(_LOOP_DEV0)["label"], "none") self.assertEqual( btrfs.summarize_filesystem(_LOOP_DEV0)["num_devices"], "2") self.assertEqual(len(btrfs.list_devices(_LOOP_DEV0)), 2) self.assertIn(_LOOP_DEV1, [dev["path"] for dev in btrfs.list_devices(_LOOP_DEV0)]) self.assertIn(_LOOP_DEV0, [dev["path"] for dev in btrfs.list_devices(_LOOP_DEV1)])
def testUnmountedBTRFS(self): """A series of simple tests on an unmounted file system. These tests are limited to simple creating and scanning. """ _LOOP_DEV0 = self._loopMap[self._LOOP_DEVICES[0]] _LOOP_DEV1 = self._loopMap[self._LOOP_DEVICES[1]] ## ## create_volume ## # no devices specified self.assertRaisesRegexp(ValueError, "no devices specified", btrfs.create_volume, [], data=0) # non-existant device self.assertRaisesRegexp(ValueError, "one or more specified devices not present", btrfs.create_volume, ["/not/existing/device"]) # bad data self.assertRaisesRegexp(BTRFSError, "1", btrfs.create_volume, [_LOOP_DEV0], data="RaID7") # bad metadata self.assertRaisesRegexp(BTRFSError, "1", btrfs.create_volume, [_LOOP_DEV0], metadata="RaID7") # pass self.assertEqual(btrfs.create_volume(self._loopMap.values()), 0) # already created self.assertRaisesRegexp(BTRFSError, "1", btrfs.create_volume, [_LOOP_DEV0], metadata="RaID7")
def testUnmountedBTRFS(self): """A series of simple tests on an unmounted file system. These tests are limited to simple creating and scanning. """ _LOOP_DEV0 = self.loopDevices[0] ## ## create_volume ## # no devices specified with self.assertRaisesRegexp(ValueError, "no devices specified"): btrfs.create_volume([], data=0) # non-existant device with self.assertRaisesRegexp(ValueError, "one or more specified devices not present"): btrfs.create_volume(["/not/existing/device"]) # bad data with self.assertRaisesRegexp(BTRFSError, "1"): btrfs.create_volume([_LOOP_DEV0], data="RaID7") # bad metadata with self.assertRaisesRegexp(BTRFSError, "1"): btrfs.create_volume([_LOOP_DEV0], metadata="RaID7") # pass self.assertEqual(btrfs.create_volume(self.loopDevices), 0) # already created with self.assertRaisesRegexp(BTRFSError, "1"): btrfs.create_volume([_LOOP_DEV0], metadata="RaID7")