Пример #1
0
 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)
Пример #2
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) ])
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
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)])
Пример #6
0
    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")
Пример #7
0
    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")
Пример #8
0
    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")