3251aecd95
* Tidy mount module for testing Fix spelling mistakes in comments. I *think* the example for omitting parents root has the wrong parent ID. Make mountinfo file a parameter for testing. * Don't strip leading slash from mounts The current code does not follow the example, it produces src=tmp/aaa instead of src=/tmp/aaa. This causes problems with bind mounts under /rootfs. * Use dictionary to store mounts by ID Instead of looping over each one to check if the ID matches. This does not preserve the order of the output on < Python3.6, but that is not necessary. * Make linux_mounts a dict Always accessed by 'dst', so avoid looping by just making it a key. * Add test case for get_linux_mounts
25 lines
822 B
Python
25 lines
822 B
Python
import os
|
|
import tempfile
|
|
|
|
from ansible.compat.tests import unittest
|
|
from ansible.module_utils._text import to_bytes
|
|
|
|
from ansible.modules.system.mount import get_linux_mounts
|
|
|
|
|
|
class LinuxMountsTestCase(unittest.TestCase):
|
|
|
|
def _create_file(self, content):
|
|
tmp_file = tempfile.NamedTemporaryFile(prefix='ansible-test-', delete=False)
|
|
tmp_file.write(to_bytes(content))
|
|
tmp_file.close()
|
|
self.addCleanup(os.unlink, tmp_file.name)
|
|
return tmp_file.name
|
|
|
|
def test_code_comment(self):
|
|
path = self._create_file(
|
|
'140 136 253:2 /rootfs / rw - ext4 /dev/sdb2 rw\n'
|
|
'141 140 253:2 /rootfs/tmp/aaa /tmp/bbb rw - ext4 /dev/sdb2 rw\n'
|
|
)
|
|
mounts = get_linux_mounts(None, path)
|
|
self.assertEqual(mounts['/tmp/bbb']['src'], '/tmp/aaa')
|