diff options
author | Daniel Watkins <oddbloke@ubuntu.com> | 2020-04-15 16:53:08 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-15 14:53:08 -0600 |
commit | 9d7b35ce23aaf8741dd49b16e359c96591be3c76 (patch) | |
tree | c920cfd0892ca70193f37aa30a2c4fe7c63d99f1 /cloudinit/config | |
parent | 46cf23c28812d3e3ba0c570defd9a05628af5556 (diff) | |
download | vyos-cloud-init-9d7b35ce23aaf8741dd49b16e359c96591be3c76.tar.gz vyos-cloud-init-9d7b35ce23aaf8741dd49b16e359c96591be3c76.zip |
cc_mounts: fix incorrect format specifiers (#316)
LP: #1872836
Diffstat (limited to 'cloudinit/config')
-rw-r--r-- | cloudinit/config/cc_mounts.py | 8 | ||||
-rw-r--r-- | cloudinit/config/tests/test_mounts.py | 22 |
2 files changed, 26 insertions, 4 deletions
diff --git a/cloudinit/config/cc_mounts.py b/cloudinit/config/cc_mounts.py index 1f077bf5..85a89cd1 100644 --- a/cloudinit/config/cc_mounts.py +++ b/cloudinit/config/cc_mounts.py @@ -236,20 +236,20 @@ def suggested_swapsize(memsize=None, maxsize=None, fsys=None): return size -def create_swapfile(fname, size): +def create_swapfile(fname: str, size: str) -> None: """Size is in MiB.""" - errmsg = "Failed to create swapfile '%s' of size %dMB via %s: %s" + errmsg = "Failed to create swapfile '%s' of size %sMB via %s: %s" def create_swap(fname, size, method): LOG.debug("Creating swapfile in '%s' on fstype '%s' using '%s'", fname, fstype, method) if method == "fallocate": - cmd = ['fallocate', '-l', '%dM' % size, fname] + cmd = ['fallocate', '-l', '%sM' % size, fname] elif method == "dd": cmd = ['dd', 'if=/dev/zero', 'of=%s' % fname, 'bs=1M', - 'count=%d' % size] + 'count=%s' % size] try: util.subp(cmd, capture=True) diff --git a/cloudinit/config/tests/test_mounts.py b/cloudinit/config/tests/test_mounts.py new file mode 100644 index 00000000..c7dad61a --- /dev/null +++ b/cloudinit/config/tests/test_mounts.py @@ -0,0 +1,22 @@ +# This file is part of cloud-init. See LICENSE file for license information. +from unittest import mock + +from cloudinit.config.cc_mounts import create_swapfile + + +M_PATH = 'cloudinit.config.cc_mounts.' + + +class TestCreateSwapfile: + + @mock.patch(M_PATH + 'util.subp') + def test_happy_path(self, m_subp, tmpdir): + swap_file = tmpdir.join("swap-file") + fname = str(swap_file) + + # Some of the calls to util.subp should create the swap file; this + # roughly approximates that + m_subp.side_effect = lambda *args, **kwargs: swap_file.write('') + + create_swapfile(fname, '') + assert mock.call(['mkswap', fname]) in m_subp.call_args_list |