diff options
author | Scott Moser <smoser@ubuntu.com> | 2015-06-10 12:30:02 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2015-06-10 12:30:02 -0400 |
commit | 162ce6a5635574e8dba0be3e06d313a18b46adc6 (patch) | |
tree | bdbd06e2ddee5c539ff826488a082d6d5f574a62 /tests/unittests/helpers.py | |
parent | 0f3736ab501ceebaa3c9f5c7543b6218637cb6c7 (diff) | |
parent | 8db399f9149a81de5d65f0759792766ecd509ab3 (diff) | |
download | vyos-cloud-init-162ce6a5635574e8dba0be3e06d313a18b46adc6.tar.gz vyos-cloud-init-162ce6a5635574e8dba0be3e06d313a18b46adc6.zip |
check for systemd using sd_booted() semantics
The existing code determines if systemd is in use by looking at the
distribution name and version. This is prone to error because:
- RHEL derivatives other than CentOS (e.g., Scientific Linux) will fail
this test
- Distributions that are not derived from RHEL also use systemd
This patch makes cloud-init use the same logic that is used in systemd's
sd_booted() method
http://www.freedesktop.org/software/systemd/man/sd_booted.html
LP: #1461201
Diffstat (limited to 'tests/unittests/helpers.py')
-rw-r--r-- | tests/unittests/helpers.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tests/unittests/helpers.py b/tests/unittests/helpers.py index 61a1f6ff..7f4b8784 100644 --- a/tests/unittests/helpers.py +++ b/tests/unittests/helpers.py @@ -248,13 +248,15 @@ class FilesystemMockingTestCase(ResourceUsingTestCase): def patchOS(self, new_root): patch_funcs = { - os.path: ['isfile', 'exists', 'islink', 'isdir'], - os: ['listdir'], + os.path: [('isfile', 1), ('exists', 1), + ('islink', 1), ('isdir', 1)], + os: [('listdir', 1), ('mkdir', 1), + ('lstat', 1), ('symlink', 2)], } for (mod, funcs) in patch_funcs.items(): - for f in funcs: + for f, nargs in funcs: func = getattr(mod, f) - trap_func = retarget_many_wrapper(new_root, 1, func) + trap_func = retarget_many_wrapper(new_root, nargs, func) self.patched_funcs.enter_context( mock.patch.object(mod, f, trap_func)) |