[master 10/19] Add a test for resizing LUKS formats.

mulkieran installerbot-noreply at redhat.com
Thu Jun 18 21:04:11 UTC 2015


From: mulhern <amulhern at redhat.com>

Related: #56

Signed-off-by: mulhern <amulhern at redhat.com>
---
 tests/formats_test/luks_test.py | 75 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/tests/formats_test/luks_test.py b/tests/formats_test/luks_test.py
index d6127f1..a7c7d3a 100755
--- a/tests/formats_test/luks_test.py
+++ b/tests/formats_test/luks_test.py
@@ -1,5 +1,6 @@
 import blivet.formats.luks as luks
 from blivet.size import Size
+from blivet.errors import DeviceFormatError, LUKSError
 
 from tests import loopbackedtestcase
 
@@ -64,3 +65,77 @@ def testSize(self):
         self.assertEqual(self.fmt.targetSize, self.fmt.size)
 
         self.fmt.teardown()
+
+    def testResize(self):
+        """ Test that resizing does the correct thing. """
+        device = self.loopDevices[0]
+
+        # create the device
+        self.fmt.device = device
+        self.assertIsNone(self.fmt.create())
+
+        self.fmt.updateSizeInfo()
+
+        newsize = Size("64 MiB")
+        self.fmt.targetSize = newsize
+
+        # can not resize an unopened device
+        with self.assertRaises(DeviceFormatError):
+            self.fmt.resize()
+
+        # open the luks device
+        self.assertIsNone(self.fmt.setup())
+
+        # can resize an opened device
+        self.fmt.resize()
+
+        # actually looking up the actual size, should yield same
+        # as target size.
+        self.assertEqual(self.fmt._sizeinfo.doTask(), newsize)
+
+        # device format computed size
+        self.assertEqual(self.fmt.size, newsize)
+        self.assertEqual(self.fmt.currentSize, newsize)
+        self.assertEqual(self.fmt.targetSize, newsize)
+
+        self.fmt.teardown()
+
+    def testResizeBounds(self):
+        """ Test resizing outside the bounds of the device.
+            Note that the bounds of the device are not the same as the
+            bounds of the format.
+        """
+        device = self.loopDevices[0]
+
+        # create the device
+        self.fmt.device = device
+        self.assertIsNone(self.fmt.create())
+
+        self.fmt.updateSizeInfo()
+
+        newsize = Size("128 MiB")
+        self.fmt.targetSize = newsize
+
+        # open the luks device
+        self.assertIsNone(self.fmt.setup())
+
+        # can not resize outside the bounds of the device
+        with self.assertRaises(LUKSError):
+            self.fmt.resize()
+
+        newsize = Size("96 MiB")
+        self.fmt.targetSize = newsize
+
+        # can resize within the bounds of the device
+        self.assertIsNone(self.fmt.resize())
+
+        # actually looking up the actual size, should yield same
+        # as target size.
+        self.assertEqual(self.fmt._sizeinfo.doTask(), newsize)
+
+        # device format computed size
+        self.assertEqual(self.fmt.size, newsize)
+        self.assertEqual(self.fmt.currentSize, newsize)
+        self.assertEqual(self.fmt.targetSize, newsize)
+
+        self.fmt.teardown()


-- 
To view this commit on github, visit https://github.com/rhinstaller/blivet/commit/865f1ca7afe879f2194d168f4868b2262a0c89d3


More information about the anaconda-patches mailing list