summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cloudinit/cmd/tests/test_clean.py3
-rw-r--r--cloudinit/cmd/tests/test_status.py3
-rw-r--r--cloudinit/tests/helpers.py20
-rw-r--r--tests/unittests/test_handler/test_schema.py12
-rwxr-xr-xtools/run-centos3
-rw-r--r--tox.ini6
6 files changed, 25 insertions, 22 deletions
diff --git a/cloudinit/cmd/tests/test_clean.py b/cloudinit/cmd/tests/test_clean.py
index 6713af4f..5a3ec3bf 100644
--- a/cloudinit/cmd/tests/test_clean.py
+++ b/cloudinit/cmd/tests/test_clean.py
@@ -165,10 +165,11 @@ class TestClean(CiTestCase):
wrap_and_call(
'cloudinit.cmd.clean',
{'Init': {'side_effect': self.init_class},
+ 'sys.exit': {'side_effect': self.sys_exit},
'sys.argv': {'new': ['clean', '--logs']}},
clean.main)
- self.assertRaisesCodeEqual(0, context_manager.exception.code)
+ self.assertEqual(0, context_manager.exception.code)
self.assertFalse(
os.path.exists(self.log1), 'Unexpected log {0}'.format(self.log1))
diff --git a/cloudinit/cmd/tests/test_status.py b/cloudinit/cmd/tests/test_status.py
index 4a5a8c06..37a89936 100644
--- a/cloudinit/cmd/tests/test_status.py
+++ b/cloudinit/cmd/tests/test_status.py
@@ -380,10 +380,11 @@ class TestStatus(CiTestCase):
wrap_and_call(
'cloudinit.cmd.status',
{'sys.argv': {'new': ['status']},
+ 'sys.exit': {'side_effect': self.sys_exit},
'_is_cloudinit_disabled': (False, ''),
'Init': {'side_effect': self.init_class}},
status.main)
- self.assertRaisesCodeEqual(0, context_manager.exception.code)
+ self.assertEqual(0, context_manager.exception.code)
self.assertEqual('status: running\n', m_stdout.getvalue())
# vi: ts=4 expandtab syntax=python
diff --git a/cloudinit/tests/helpers.py b/cloudinit/tests/helpers.py
index 0080c729..41d9a8ee 100644
--- a/cloudinit/tests/helpers.py
+++ b/cloudinit/tests/helpers.py
@@ -173,17 +173,15 @@ class CiTestCase(TestCase):
dir = self.tmp_dir()
return os.path.normpath(os.path.abspath(os.path.join(dir, path)))
- def assertRaisesCodeEqual(self, expected, found):
- """Handle centos6 having different context manager for assertRaises.
- with assertRaises(Exception) as e:
- raise Exception("BOO")
-
- centos6 will have e.exception as an integer.
- anything nwere will have it as something with a '.code'"""
- if isinstance(found, int):
- self.assertEqual(expected, found)
- else:
- self.assertEqual(expected, found.code)
+ def sys_exit(self, code):
+ """Provide a wrapper around sys.exit for python 2.6
+
+ In 2.6, this code would produce 'cm.exception' with value int(2)
+ rather than the SystemExit that was raised by sys.exit(2).
+ with assertRaises(SystemExit) as cm:
+ sys.exit(2)
+ """
+ raise SystemExit(code)
class ResourceUsingTestCase(CiTestCase):
diff --git a/tests/unittests/test_handler/test_schema.py b/tests/unittests/test_handler/test_schema.py
index 648573f6..df67a0e0 100644
--- a/tests/unittests/test_handler/test_schema.py
+++ b/tests/unittests/test_handler/test_schema.py
@@ -336,11 +336,13 @@ class MainTest(CiTestCase):
def test_main_missing_args(self):
"""Main exits non-zero and reports an error on missing parameters."""
- with mock.patch('sys.argv', ['mycmd']):
- with mock.patch('sys.stderr', new_callable=StringIO) as m_stderr:
- with self.assertRaises(SystemExit) as context_manager:
- main()
- self.assertEqual('1', str(context_manager.exception))
+ with mock.patch('sys.exit', side_effect=self.sys_exit):
+ with mock.patch('sys.argv', ['mycmd']):
+ with mock.patch('sys.stderr', new_callable=StringIO) as \
+ m_stderr:
+ with self.assertRaises(SystemExit) as context_manager:
+ main()
+ self.assertEqual(1, context_manager.exception.code)
self.assertEqual(
'Expected either --config-file argument or --doc\n',
m_stderr.getvalue())
diff --git a/tools/run-centos b/tools/run-centos
index 6ac6c11f..cb241ee5 100755
--- a/tools/run-centos
+++ b/tools/run-centos
@@ -313,7 +313,8 @@ main() {
if [ -n "$unittest" ]; then
debug 1 "running unit tests."
- inside_as_cd "$name" "$user" "$cdir" nosetests tests/unittests ||
+ inside_as_cd "$name" "$user" "$cdir" \
+ nosetests tests/unittests cloudinit ||
{ errorrc "nosetests failed."; errors=$(($errors+1)); }
fi
diff --git a/tox.ini b/tox.ini
index bb74853f..1f990af4 100644
--- a/tox.ini
+++ b/tox.ini
@@ -45,7 +45,7 @@ deps = -r{toxinidir}/test-requirements.txt
[testenv:py26]
deps = -r{toxinidir}/test-requirements.txt
-commands = nosetests {posargs:tests/unittests}
+commands = nosetests {posargs:tests/unittests cloudinit}
setenv =
LC_ALL = C
@@ -83,7 +83,7 @@ deps =
[testenv:centos6]
basepython = python2.6
-commands = nosetests {posargs:tests/unittests}
+commands = nosetests {posargs:tests/unittests cloudinit}
deps =
# requirements
argparse==1.2.1
@@ -98,7 +98,7 @@ deps =
[testenv:opensusel42]
basepython = python2.7
-commands = nosetests {posargs:tests/unittests}
+commands = nosetests {posargs:tests/unittests cloudinit}
deps =
# requirements
argparse==1.3.0