summaryrefslogtreecommitdiff
path: root/tests/unittests/config/test_cc_resizefs.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittests/config/test_cc_resizefs.py')
-rw-r--r--tests/unittests/config/test_cc_resizefs.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/unittests/config/test_cc_resizefs.py b/tests/unittests/config/test_cc_resizefs.py
index b46fab51..d7fda1b8 100644
--- a/tests/unittests/config/test_cc_resizefs.py
+++ b/tests/unittests/config/test_cc_resizefs.py
@@ -444,10 +444,12 @@ class TestMaybeGetDevicePathAsWritableBlock(CiTestCase):
@mock.patch("cloudinit.util.mount_is_read_write")
@mock.patch("cloudinit.config.cc_resizefs.os.path.isdir")
- def test_resize_btrfs_mount_is_ro(self, m_is_dir, m_is_rw):
+ @mock.patch("cloudinit.subp.subp")
+ def test_resize_btrfs_mount_is_ro(self, m_subp, m_is_dir, m_is_rw):
"""Do not resize / directly if it is read-only. (LP: #1734787)."""
m_is_rw.return_value = False
m_is_dir.return_value = True
+ m_subp.return_value = ("btrfs-progs v4.19 \n", "")
self.assertEqual(
("btrfs", "filesystem", "resize", "max", "//.snapshots"),
_resize_btrfs("/", "/dev/sda1"),
@@ -455,15 +457,32 @@ class TestMaybeGetDevicePathAsWritableBlock(CiTestCase):
@mock.patch("cloudinit.util.mount_is_read_write")
@mock.patch("cloudinit.config.cc_resizefs.os.path.isdir")
- def test_resize_btrfs_mount_is_rw(self, m_is_dir, m_is_rw):
+ @mock.patch("cloudinit.subp.subp")
+ def test_resize_btrfs_mount_is_rw(self, m_subp, m_is_dir, m_is_rw):
"""Do not resize / directly if it is read-only. (LP: #1734787)."""
m_is_rw.return_value = True
m_is_dir.return_value = True
+ m_subp.return_value = ("btrfs-progs v4.19 \n", "")
self.assertEqual(
("btrfs", "filesystem", "resize", "max", "/"),
_resize_btrfs("/", "/dev/sda1"),
)
+ @mock.patch("cloudinit.util.mount_is_read_write")
+ @mock.patch("cloudinit.config.cc_resizefs.os.path.isdir")
+ @mock.patch("cloudinit.subp.subp")
+ def test_resize_btrfs_mount_is_rw_has_queue(
+ self, m_subp, m_is_dir, m_is_rw
+ ):
+ """Queue the resize request if btrfs >= 5.10"""
+ m_is_rw.return_value = True
+ m_is_dir.return_value = True
+ m_subp.return_value = ("btrfs-progs v5.10 \n", "")
+ self.assertEqual(
+ ("btrfs", "filesystem", "resize", "--enqueue", "max", "/"),
+ _resize_btrfs("/", "/dev/sda1"),
+ )
+
@mock.patch("cloudinit.util.is_container", return_value=True)
@mock.patch("cloudinit.util.is_FreeBSD")
def test_maybe_get_writable_device_path_zfs_freebsd(