summaryrefslogtreecommitdiff
path: root/tests/unittests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittests')
-rw-r--r--tests/unittests/helpers.py39
-rw-r--r--tests/unittests/test_builtin_handlers.py2
-rw-r--r--tests/unittests/test_data.py2
-rw-r--r--tests/unittests/test_datasource/test_azure.py2
-rw-r--r--tests/unittests/test_datasource/test_cloudsigma.py5
-rw-r--r--tests/unittests/test_datasource/test_configdrive.py2
-rw-r--r--tests/unittests/test_datasource/test_gce.py6
-rw-r--r--tests/unittests/test_datasource/test_maas.py2
-rw-r--r--tests/unittests/test_datasource/test_nocloud.py2
-rw-r--r--tests/unittests/test_datasource/test_opennebula.py2
-rw-r--r--tests/unittests/test_datasource/test_openstack.py4
-rw-r--r--tests/unittests/test_datasource/test_smartos.py2
-rw-r--r--tests/unittests/test_distros/test_generic.py2
-rw-r--r--tests/unittests/test_ec2_util.py4
-rw-r--r--tests/unittests/test_filters/test_launch_index.py2
-rw-r--r--tests/unittests/test_handler/test_handler_growpart.py4
-rw-r--r--tests/unittests/test_handler/test_handler_locale.py2
-rw-r--r--tests/unittests/test_handler/test_handler_power_state.py2
-rw-r--r--tests/unittests/test_handler/test_handler_seed_random.py4
-rw-r--r--tests/unittests/test_handler/test_handler_set_hostname.py2
-rw-r--r--tests/unittests/test_handler/test_handler_timezone.py2
-rw-r--r--tests/unittests/test_handler/test_handler_yum_add_repo.py2
-rw-r--r--tests/unittests/test_merging.py2
-rw-r--r--tests/unittests/test_pathprefix2dict.py2
-rw-r--r--tests/unittests/test_runs/test_merge_run.py2
-rw-r--r--tests/unittests/test_runs/test_simple_run.py2
-rw-r--r--tests/unittests/test_templating.py107
-rw-r--r--tests/unittests/test_util.py23
28 files changed, 194 insertions, 40 deletions
diff --git a/tests/unittests/helpers.py b/tests/unittests/helpers.py
index 5bed13cc..9700a4ca 100644
--- a/tests/unittests/helpers.py
+++ b/tests/unittests/helpers.py
@@ -52,6 +52,30 @@ if PY26:
standardMsg = standardMsg % (value)
self.fail(self._formatMessage(msg, standardMsg))
+ def assertDictContainsSubset(self, expected, actual, msg=None):
+ missing = []
+ mismatched = []
+ for k, v in expected.iteritems():
+ if k not in actual:
+ missing.append(k)
+ elif actual[k] != v:
+ mismatched.append('%r, expected: %r, actual: %r'
+ % (k, v, actual[k]))
+
+ if len(missing) == 0 and len(mismatched) == 0:
+ return
+
+ standardMsg = ''
+ if missing:
+ standardMsg = 'Missing: %r' % ','.join(m for m in missing)
+ if mismatched:
+ if standardMsg:
+ standardMsg += '; '
+ standardMsg += 'Mismatched values: %s' % ','.join(mismatched)
+
+ self.fail(self._formatMessage(msg, standardMsg))
+
+
else:
class TestCase(unittest.TestCase):
pass
@@ -209,6 +233,21 @@ class FilesystemMockingTestCase(ResourceUsingTestCase):
self.patched_funcs.append((mod, f, func))
+class HttprettyTestCase(TestCase):
+ # necessary as http_proxy gets in the way of httpretty
+ # https://github.com/gabrielfalcao/HTTPretty/issues/122
+ def setUp(self):
+ self.restore_proxy = os.environ.get('http_proxy')
+ if self.restore_proxy is not None:
+ del os.environ['http_proxy']
+ super(HttprettyTestCase, self).setUp()
+
+ def tearDown(self):
+ if self.restore_proxy:
+ os.environ['http_proxy'] = self.restore_proxy
+ super(HttprettyTestCase, self).tearDown()
+
+
def populate_dir(path, files):
if not os.path.exists(path):
os.makedirs(path)
diff --git a/tests/unittests/test_builtin_handlers.py b/tests/unittests/test_builtin_handlers.py
index b387f13b..af7f442e 100644
--- a/tests/unittests/test_builtin_handlers.py
+++ b/tests/unittests/test_builtin_handlers.py
@@ -2,7 +2,7 @@
import os
-from tests.unittests import helpers as test_helpers
+from . import helpers as test_helpers
from cloudinit import handlers
from cloudinit import helpers
diff --git a/tests/unittests/test_data.py b/tests/unittests/test_data.py
index 68729c57..41d0dc29 100644
--- a/tests/unittests/test_data.py
+++ b/tests/unittests/test_data.py
@@ -20,7 +20,7 @@ from cloudinit import util
INSTANCE_ID = "i-testing"
-from tests.unittests import helpers
+from . import helpers
class FakeDataSource(sources.DataSource):
diff --git a/tests/unittests/test_datasource/test_azure.py b/tests/unittests/test_datasource/test_azure.py
index ccfd672a..88c82d5e 100644
--- a/tests/unittests/test_datasource/test_azure.py
+++ b/tests/unittests/test_datasource/test_azure.py
@@ -1,7 +1,7 @@
from cloudinit import helpers
from cloudinit.util import load_file
from cloudinit.sources import DataSourceAzure
-from tests.unittests.helpers import populate_dir
+from ..helpers import populate_dir
import base64
import crypt
diff --git a/tests/unittests/test_datasource/test_cloudsigma.py b/tests/unittests/test_datasource/test_cloudsigma.py
index f92e07b7..306ac7d8 100644
--- a/tests/unittests/test_datasource/test_cloudsigma.py
+++ b/tests/unittests/test_datasource/test_cloudsigma.py
@@ -1,10 +1,11 @@
# coding: utf-8
import copy
-from unittest import TestCase
from cloudinit.cs_utils import Cepko
from cloudinit.sources import DataSourceCloudSigma
+from .. import helpers as test_helpers
+
SERVER_CONTEXT = {
"cpu": 1000,
@@ -36,7 +37,7 @@ class CepkoMock(Cepko):
return self
-class DataSourceCloudSigmaTest(TestCase):
+class DataSourceCloudSigmaTest(test_helpers.TestCase):
def setUp(self):
self.datasource = DataSourceCloudSigma.DataSourceCloudSigma("", "", "")
self.datasource.is_running_in_cloudsigma = lambda: True
diff --git a/tests/unittests/test_datasource/test_configdrive.py b/tests/unittests/test_datasource/test_configdrive.py
index 4404668e..d88066e5 100644
--- a/tests/unittests/test_datasource/test_configdrive.py
+++ b/tests/unittests/test_datasource/test_configdrive.py
@@ -12,7 +12,7 @@ from cloudinit.sources import DataSourceConfigDrive as ds
from cloudinit.sources.helpers import openstack
from cloudinit import util
-from tests.unittests import helpers as unit_helpers
+from .. import helpers as unit_helpers
PUBKEY = u'ssh-rsa AAAAB3NzaC1....sIkJhq8wdX+4I3A4cYbYP ubuntu@server-460\n'
EC2_META = {
diff --git a/tests/unittests/test_datasource/test_gce.py b/tests/unittests/test_datasource/test_gce.py
index d91bd531..60a0ce48 100644
--- a/tests/unittests/test_datasource/test_gce.py
+++ b/tests/unittests/test_datasource/test_gce.py
@@ -15,7 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import unittest
import httpretty
import re
@@ -25,6 +24,8 @@ from cloudinit import settings
from cloudinit import helpers
from cloudinit.sources import DataSourceGCE
+from .. import helpers as test_helpers
+
GCE_META = {
'instance/id': '123',
'instance/zone': 'foo/bar',
@@ -54,12 +55,13 @@ def _request_callback(method, uri, headers):
return (404, headers, '')
-class TestDataSourceGCE(unittest.TestCase):
+class TestDataSourceGCE(test_helpers.HttprettyTestCase):
def setUp(self):
self.ds = DataSourceGCE.DataSourceGCE(
settings.CFG_BUILTIN, None,
helpers.Paths({}))
+ super(TestDataSourceGCE, self).setUp()
@httpretty.activate
def test_connection(self):
diff --git a/tests/unittests/test_datasource/test_maas.py b/tests/unittests/test_datasource/test_maas.py
index 73cfadcb..c157beb8 100644
--- a/tests/unittests/test_datasource/test_maas.py
+++ b/tests/unittests/test_datasource/test_maas.py
@@ -3,7 +3,7 @@ import os
from cloudinit.sources import DataSourceMAAS
from cloudinit import url_helper
-from tests.unittests.helpers import populate_dir
+from ..helpers import populate_dir
import mocker
diff --git a/tests/unittests/test_datasource/test_nocloud.py b/tests/unittests/test_datasource/test_nocloud.py
index a65833eb..14274562 100644
--- a/tests/unittests/test_datasource/test_nocloud.py
+++ b/tests/unittests/test_datasource/test_nocloud.py
@@ -1,7 +1,7 @@
from cloudinit import helpers
from cloudinit.sources import DataSourceNoCloud
from cloudinit import util
-from tests.unittests.helpers import populate_dir
+from ..helpers import populate_dir
from mocker import MockerTestCase
import os
diff --git a/tests/unittests/test_datasource/test_opennebula.py b/tests/unittests/test_datasource/test_opennebula.py
index ec6b752b..b4fd1f4d 100644
--- a/tests/unittests/test_datasource/test_opennebula.py
+++ b/tests/unittests/test_datasource/test_opennebula.py
@@ -2,7 +2,7 @@ from cloudinit import helpers
from cloudinit.sources import DataSourceOpenNebula as ds
from cloudinit import util
from mocker import MockerTestCase
-from tests.unittests.helpers import populate_dir
+from ..helpers import populate_dir
from base64 import b64encode
import os
diff --git a/tests/unittests/test_datasource/test_openstack.py b/tests/unittests/test_datasource/test_openstack.py
index 3a64430a..c088bb55 100644
--- a/tests/unittests/test_datasource/test_openstack.py
+++ b/tests/unittests/test_datasource/test_openstack.py
@@ -24,7 +24,7 @@ from StringIO import StringIO
from urlparse import urlparse
-from tests.unittests import helpers as test_helpers
+from .. import helpers as test_helpers
from cloudinit import helpers
from cloudinit import settings
@@ -121,7 +121,7 @@ def _register_uris(version, ec2_files, ec2_meta, os_files):
body=get_request_callback)
-class TestOpenStackDataSource(test_helpers.TestCase):
+class TestOpenStackDataSource(test_helpers.HttprettyTestCase):
VERSION = 'latest'
@hp.activate
diff --git a/tests/unittests/test_datasource/test_smartos.py b/tests/unittests/test_datasource/test_smartos.py
index f64aea07..b197b600 100644
--- a/tests/unittests/test_datasource/test_smartos.py
+++ b/tests/unittests/test_datasource/test_smartos.py
@@ -25,7 +25,7 @@
import base64
from cloudinit import helpers as c_helpers
from cloudinit.sources import DataSourceSmartOS
-from tests.unittests import helpers
+from .. import helpers
import os
import os.path
import re
diff --git a/tests/unittests/test_distros/test_generic.py b/tests/unittests/test_distros/test_generic.py
index 7befb8c8..c24c790e 100644
--- a/tests/unittests/test_distros/test_generic.py
+++ b/tests/unittests/test_distros/test_generic.py
@@ -1,7 +1,7 @@
from cloudinit import distros
from cloudinit import util
-from tests.unittests import helpers
+from .. import helpers
import os
diff --git a/tests/unittests/test_ec2_util.py b/tests/unittests/test_ec2_util.py
index dd87665d..700254a3 100644
--- a/tests/unittests/test_ec2_util.py
+++ b/tests/unittests/test_ec2_util.py
@@ -1,4 +1,4 @@
-from tests.unittests import helpers
+from . import helpers
from cloudinit import ec2_utils as eu
from cloudinit import url_helper as uh
@@ -6,7 +6,7 @@ from cloudinit import url_helper as uh
import httpretty as hp
-class TestEc2Util(helpers.TestCase):
+class TestEc2Util(helpers.HttprettyTestCase):
VERSION = 'latest'
@hp.activate
diff --git a/tests/unittests/test_filters/test_launch_index.py b/tests/unittests/test_filters/test_launch_index.py
index 773bb312..2f4c2fda 100644
--- a/tests/unittests/test_filters/test_launch_index.py
+++ b/tests/unittests/test_filters/test_launch_index.py
@@ -1,6 +1,6 @@
import copy
-from tests.unittests import helpers
+from .. import helpers
import itertools
diff --git a/tests/unittests/test_handler/test_handler_growpart.py b/tests/unittests/test_handler/test_handler_growpart.py
index f2ed4597..f6dc4521 100644
--- a/tests/unittests/test_handler/test_handler_growpart.py
+++ b/tests/unittests/test_handler/test_handler_growpart.py
@@ -188,8 +188,8 @@ class TestResize(MockerTestCase):
self.assertEqual(cc_growpart.RESIZE.SKIPPED,
find(enoent[0], resized)[1])
#self.assertEqual(resize_calls,
- #[("/dev/XXda", "1", "/dev/XXda1"),
- #("/dev/YYda", "2", "/dev/YYda2")])
+ # [("/dev/XXda", "1", "/dev/XXda1"),
+ # ("/dev/YYda", "2", "/dev/YYda2")])
finally:
cc_growpart.device_part_info = opinfo
os.stat = real_stat
diff --git a/tests/unittests/test_handler/test_handler_locale.py b/tests/unittests/test_handler/test_handler_locale.py
index 72ad00fd..eb251636 100644
--- a/tests/unittests/test_handler/test_handler_locale.py
+++ b/tests/unittests/test_handler/test_handler_locale.py
@@ -25,7 +25,7 @@ from cloudinit import util
from cloudinit.sources import DataSourceNoCloud
-from tests.unittests import helpers as t_help
+from .. import helpers as t_help
from configobj import ConfigObj
diff --git a/tests/unittests/test_handler/test_handler_power_state.py b/tests/unittests/test_handler/test_handler_power_state.py
index f6e37fa5..4b7b2112 100644
--- a/tests/unittests/test_handler/test_handler_power_state.py
+++ b/tests/unittests/test_handler/test_handler_power_state.py
@@ -1,6 +1,6 @@
from cloudinit.config import cc_power_state_change as psc
-from tests.unittests import helpers as t_help
+from .. import helpers as t_help
class TestLoadPowerState(t_help.TestCase):
diff --git a/tests/unittests/test_handler/test_handler_seed_random.py b/tests/unittests/test_handler/test_handler_seed_random.py
index be2fa4a4..40481f16 100644
--- a/tests/unittests/test_handler/test_handler_seed_random.py
+++ b/tests/unittests/test_handler/test_handler_seed_random.py
@@ -1,4 +1,4 @@
- # Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
+# Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
#
# Author: Juerg Haefliger <juerg.haefliger@hp.com>
#
@@ -31,7 +31,7 @@ from cloudinit import util
from cloudinit.sources import DataSourceNone
-from tests.unittests import helpers as t_help
+from .. import helpers as t_help
import logging
diff --git a/tests/unittests/test_handler/test_handler_set_hostname.py b/tests/unittests/test_handler/test_handler_set_hostname.py
index 6344ec0c..03004ab9 100644
--- a/tests/unittests/test_handler/test_handler_set_hostname.py
+++ b/tests/unittests/test_handler/test_handler_set_hostname.py
@@ -5,7 +5,7 @@ from cloudinit import distros
from cloudinit import helpers
from cloudinit import util
-from tests.unittests import helpers as t_help
+from .. import helpers as t_help
import logging
diff --git a/tests/unittests/test_handler/test_handler_timezone.py b/tests/unittests/test_handler/test_handler_timezone.py
index 40b69773..874db340 100644
--- a/tests/unittests/test_handler/test_handler_timezone.py
+++ b/tests/unittests/test_handler/test_handler_timezone.py
@@ -25,7 +25,7 @@ from cloudinit import util
from cloudinit.sources import DataSourceNoCloud
-from tests.unittests import helpers as t_help
+from .. import helpers as t_help
from configobj import ConfigObj
diff --git a/tests/unittests/test_handler/test_handler_yum_add_repo.py b/tests/unittests/test_handler/test_handler_yum_add_repo.py
index 7c6f7c40..156441c7 100644
--- a/tests/unittests/test_handler/test_handler_yum_add_repo.py
+++ b/tests/unittests/test_handler/test_handler_yum_add_repo.py
@@ -2,7 +2,7 @@ from cloudinit import util
from cloudinit.config import cc_yum_add_repo
-from tests.unittests import helpers
+from .. import helpers
import logging
diff --git a/tests/unittests/test_merging.py b/tests/unittests/test_merging.py
index 486b9158..17704f8e 100644
--- a/tests/unittests/test_merging.py
+++ b/tests/unittests/test_merging.py
@@ -1,4 +1,4 @@
-from tests.unittests import helpers
+from . import helpers
from cloudinit.handlers import cloud_config
from cloudinit.handlers import (CONTENT_START, CONTENT_END)
diff --git a/tests/unittests/test_pathprefix2dict.py b/tests/unittests/test_pathprefix2dict.py
index c68c263c..590c4b82 100644
--- a/tests/unittests/test_pathprefix2dict.py
+++ b/tests/unittests/test_pathprefix2dict.py
@@ -1,7 +1,7 @@
from cloudinit import util
from mocker import MockerTestCase
-from tests.unittests.helpers import populate_dir
+from .helpers import populate_dir
class TestPathPrefix2Dict(MockerTestCase):
diff --git a/tests/unittests/test_runs/test_merge_run.py b/tests/unittests/test_runs/test_merge_run.py
index 5ffe95a2..32b41925 100644
--- a/tests/unittests/test_runs/test_merge_run.py
+++ b/tests/unittests/test_runs/test_merge_run.py
@@ -1,6 +1,6 @@
import os
-from tests.unittests import helpers
+from .. import helpers
from cloudinit.settings import (PER_INSTANCE)
from cloudinit import stages
diff --git a/tests/unittests/test_runs/test_simple_run.py b/tests/unittests/test_runs/test_simple_run.py
index 9a7178d1..c9ba949e 100644
--- a/tests/unittests/test_runs/test_simple_run.py
+++ b/tests/unittests/test_runs/test_simple_run.py
@@ -1,6 +1,6 @@
import os
-from tests.unittests import helpers
+from .. import helpers
from cloudinit.settings import (PER_INSTANCE)
from cloudinit import stages
diff --git a/tests/unittests/test_templating.py b/tests/unittests/test_templating.py
new file mode 100644
index 00000000..87681f0f
--- /dev/null
+++ b/tests/unittests/test_templating.py
@@ -0,0 +1,107 @@
+# vi: ts=4 expandtab
+#
+# Copyright (C) 2014 Yahoo! Inc.
+#
+# Author: Joshua Harlow <harlowja@yahoo-inc.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 3, as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+from . import helpers as test_helpers
+import textwrap
+
+from cloudinit import templater
+
+
+class TestTemplates(test_helpers.TestCase):
+ def test_render_basic(self):
+ in_data = textwrap.dedent("""
+ ${b}
+
+ c = d
+ """)
+ in_data = in_data.strip()
+ expected_data = textwrap.dedent("""
+ 2
+
+ c = d
+ """)
+ out_data = templater.basic_render(in_data, {'b': 2})
+ self.assertEqual(expected_data.strip(), out_data)
+
+ def test_detection(self):
+ blob = "## template:cheetah"
+
+ (template_type, renderer, contents) = templater.detect_template(blob)
+ self.assertIn("cheetah", template_type)
+ self.assertEqual("", contents.strip())
+
+ blob = "blahblah $blah"
+ (template_type, renderer, contents) = templater.detect_template(blob)
+ self.assertIn("cheetah", template_type)
+ self.assertEquals(blob, contents)
+
+ blob = '##template:something-new'
+ self.assertRaises(ValueError, templater.detect_template, blob)
+
+ def test_render_cheetah(self):
+ blob = '''## template:cheetah
+$a,$b'''
+ c = templater.render_string(blob, {"a": 1, "b": 2})
+ self.assertEquals("1,2", c)
+
+ def test_render_jinja(self):
+ blob = '''## template:jinja
+{{a}},{{b}}'''
+ c = templater.render_string(blob, {"a": 1, "b": 2})
+ self.assertEquals("1,2", c)
+
+ def test_render_default(self):
+ blob = '''$a,$b'''
+ c = templater.render_string(blob, {"a": 1, "b": 2})
+ self.assertEquals("1,2", c)
+
+ def test_render_basic_deeper(self):
+ hn = 'myfoohost.yahoo.com'
+ expected_data = "h=%s\nc=d\n" % hn
+ in_data = "h=$hostname.canonical_name\nc=d\n"
+ params = {
+ "hostname": {
+ "canonical_name": hn,
+ },
+ }
+ out_data = templater.render_string(in_data, params)
+ self.assertEqual(expected_data, out_data)
+
+ def test_render_basic_no_parens(self):
+ hn = "myfoohost"
+ in_data = "h=$hostname\nc=d\n"
+ expected_data = "h=%s\nc=d\n" % hn
+ out_data = templater.basic_render(in_data, {'hostname': hn})
+ self.assertEqual(expected_data, out_data)
+
+ def test_render_basic_parens(self):
+ hn = "myfoohost"
+ in_data = "h = ${hostname}\nc=d\n"
+ expected_data = "h = %s\nc=d\n" % hn
+ out_data = templater.basic_render(in_data, {'hostname': hn})
+ self.assertEqual(expected_data, out_data)
+
+ def test_render_basic2(self):
+ mirror = "mymirror"
+ codename = "zany"
+ in_data = "deb $mirror $codename-updates main contrib non-free"
+ ex_data = "deb %s %s-updates main contrib non-free" % (mirror, codename)
+
+ out_data = templater.basic_render(in_data,
+ {'mirror': mirror, 'codename': codename})
+ self.assertEqual(ex_data, out_data)
diff --git a/tests/unittests/test_util.py b/tests/unittests/test_util.py
index 38ab0c96..0cb41520 100644
--- a/tests/unittests/test_util.py
+++ b/tests/unittests/test_util.py
@@ -5,8 +5,8 @@ import stat
import yaml
from mocker import MockerTestCase
-from tests.unittests import helpers
-from unittest import TestCase
+from . import helpers
+import unittest
from cloudinit import importer
from cloudinit import util
@@ -31,7 +31,7 @@ class FakeSelinux(object):
self.restored.append(path)
-class TestGetCfgOptionListOrStr(TestCase):
+class TestGetCfgOptionListOrStr(unittest.TestCase):
def test_not_found_no_default(self):
"""None is returned if key is not found and no default given."""
config = {}
@@ -124,16 +124,21 @@ class TestWriteFile(MockerTestCase):
def test_restorecon_if_possible_is_called(self):
"""Make sure the selinux guard is called correctly."""
+ my_file = os.path.join(self.tmp, "my_file")
+ with open(my_file, "w") as fp:
+ fp.write("My Content")
+
import_mock = self.mocker.replace(importer.import_module,
passthrough=False)
import_mock('selinux')
- fake_se = FakeSelinux('/etc/hosts')
+
+ fake_se = FakeSelinux(my_file)
self.mocker.result(fake_se)
self.mocker.replay()
- with util.SeLinuxGuard("/etc/hosts") as is_on:
+ with util.SeLinuxGuard(my_file) as is_on:
self.assertTrue(is_on)
self.assertEqual(1, len(fake_se.restored))
- self.assertEqual('/etc/hosts', fake_se.restored[0])
+ self.assertEqual(my_file, fake_se.restored[0])
class TestDeleteDirContents(MockerTestCase):
@@ -201,20 +206,20 @@ class TestDeleteDirContents(MockerTestCase):
self.assertDirEmpty(self.tmp)
-class TestKeyValStrings(TestCase):
+class TestKeyValStrings(unittest.TestCase):
def test_keyval_str_to_dict(self):
expected = {'1': 'one', '2': 'one+one', 'ro': True}
cmdline = "1=one ro 2=one+one"
self.assertEqual(expected, util.keyval_str_to_dict(cmdline))
-class TestGetCmdline(TestCase):
+class TestGetCmdline(unittest.TestCase):
def test_cmdline_reads_debug_env(self):
os.environ['DEBUG_PROC_CMDLINE'] = 'abcd 123'
self.assertEqual(os.environ['DEBUG_PROC_CMDLINE'], util.get_cmdline())
-class TestLoadYaml(TestCase):
+class TestLoadYaml(unittest.TestCase):
mydefault = "7b03a8ebace993d806255121073fed52"
def test_simple(self):