summaryrefslogtreecommitdiff
path: root/tests/unittests/test_distros/__init__.py
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2017-07-24 17:18:22 -0400
committerScott Moser <smoser@brickies.net>2017-08-01 12:10:06 -0400
commit512145cd16b0dfa0cbbe8a20d732e6f2d943b869 (patch)
treeeeef845119faf75ba406bd0df9ce0bc8dd8f01ab /tests/unittests/test_distros/__init__.py
parente586fe35a692b7519000005c8024ebd2bcbc82e0 (diff)
downloadvyos-cloud-init-512145cd16b0dfa0cbbe8a20d732e6f2d943b869.tar.gz
vyos-cloud-init-512145cd16b0dfa0cbbe8a20d732e6f2d943b869.zip
archlinux: Fix bug with empty dns, do not render 'lo' devices.
If no dns nameservers were provided a stack trace would occur. The changes here add some unit tests for the arch distro. Also avoids rendering an 'lo' interface. LP: #1663045 LP: #1706593
Diffstat (limited to 'tests/unittests/test_distros/__init__.py')
-rw-r--r--tests/unittests/test_distros/__init__.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/unittests/test_distros/__init__.py b/tests/unittests/test_distros/__init__.py
index e69de29b..5394aa56 100644
--- a/tests/unittests/test_distros/__init__.py
+++ b/tests/unittests/test_distros/__init__.py
@@ -0,0 +1,21 @@
+# This file is part of cloud-init. See LICENSE file for license information.
+import copy
+
+from cloudinit import distros
+from cloudinit import helpers
+from cloudinit import settings
+
+
+def _get_distro(dtype, system_info=None):
+ """Return a Distro class of distro 'dtype'.
+
+ cfg is format of CFG_BUILTIN['system_info'].
+
+ example: _get_distro("debian")
+ """
+ if system_info is None:
+ system_info = copy.deepcopy(settings.CFG_BUILTIN['system_info'])
+ system_info['distro'] = dtype
+ paths = helpers.Paths(system_info['paths'])
+ distro_cls = distros.fetch(dtype)
+ return distro_cls(dtype, system_info, paths)