mirror of https://github.com/ansible/ansible.git
Fix leading slashes being stripped from mount src (#24013)
* 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_mountspull/28338/merge
parent
a914a39975
commit
3251aecd95
@ -0,0 +1,25 @@
|
||||
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')
|
Loading…
Reference in New Issue