diff options
| author | Thomi Richards <thomi.richards@canonical.com> | 2013-11-25 11:57:44 +1300 |
|---|---|---|
| committer | Thomi Richards <thomi.richards@canonical.com> | 2013-11-25 11:57:44 +1300 |
| commit | 017c91bebbb48101b3bbaafaddf6518295b060f5 (patch) | |
| tree | db6015e540a9e77dc345f37814176828e4dcfade /python/subunit | |
| parent | dd89c81df541ba7a43303e225b0c7c3fd4ccb756 (diff) | |
| parent | 88e4f3f2697b7dc5782cbb7dacbd0d7e532b6644 (diff) | |
| download | subunit-git-017c91bebbb48101b3bbaafaddf6518295b060f5.tar.gz | |
Merge trunk.
Diffstat (limited to 'python/subunit')
| -rw-r--r-- | python/subunit/__init__.py | 7 | ||||
| -rw-r--r-- | python/subunit/tests/__init__.py | 15 | ||||
| -rw-r--r-- | python/subunit/tests/test_test_protocol.py | 26 |
3 files changed, 30 insertions, 18 deletions
diff --git a/python/subunit/__init__.py b/python/subunit/__init__.py index a259880..b385e9b 100644 --- a/python/subunit/__init__.py +++ b/python/subunit/__init__.py @@ -133,13 +133,6 @@ from testtools.compat import _b, _u, BytesIO, StringIO try: from testtools.testresult.real import _StringException RemoteException = _StringException - # For testing: different pythons have different str() implementations. - if sys.version_info > (3, 0): - _remote_exception_str = "testtools.testresult.real._StringException" - _remote_exception_str_chunked = "34\r\n" + _remote_exception_str - else: - _remote_exception_str = "_StringException" - _remote_exception_str_chunked = "1A\r\n" + _remote_exception_str except ImportError: raise ImportError ("testtools.testresult.real does not contain " "_StringException, check your version.") diff --git a/python/subunit/tests/__init__.py b/python/subunit/tests/__init__.py index c9cc7ae..b5a7fdc 100644 --- a/python/subunit/tests/__init__.py +++ b/python/subunit/tests/__init__.py @@ -14,8 +14,22 @@ # limitations under that license. # +import sys from unittest import TestLoader + +# Before the test module imports to avoid circularity. +# For testing: different pythons have different str() implementations. +if sys.version_info > (3, 0): + _remote_exception_repr = "testtools.testresult.real._StringException" + _remote_exception_str = "Traceback (most recent call last):\ntesttools.testresult.real._StringException" + _remote_exception_str_chunked = "57\r\n" + _remote_exception_str + ": boo qux\n0\r\n" +else: + _remote_exception_repr = "_StringException" + _remote_exception_str = "Traceback (most recent call last):\n_StringException" + _remote_exception_str_chunked = "3D\r\n" + _remote_exception_str + ": boo qux\n0\r\n" + + from subunit.tests import ( test_chunked, test_details, @@ -32,6 +46,7 @@ from subunit.tests import ( test_test_results, ) + def test_suite(): loader = TestLoader() result = loader.loadTestsFromModule(test_chunked) diff --git a/python/subunit/tests/test_test_protocol.py b/python/subunit/tests/test_test_protocol.py index 4fa66ab..c6008f4 100644 --- a/python/subunit/tests/test_test_protocol.py +++ b/python/subunit/tests/test_test_protocol.py @@ -37,7 +37,11 @@ except ImportError: from testtools.matchers import Contains import subunit -from subunit import _remote_exception_str, _remote_exception_str_chunked +from subunit.tests import ( + _remote_exception_repr, + _remote_exception_str, + _remote_exception_str_chunked, + ) import subunit.iso8601 as iso8601 @@ -105,10 +109,10 @@ class TestTestProtocolServerPipe(unittest.TestCase): bing = subunit.RemotedTestCase("bing crosby") an_error = subunit.RemotedTestCase("an error") self.assertEqual(client.errors, - [(an_error, _remote_exception_str + '\n')]) + [(an_error, _remote_exception_repr + '\n')]) self.assertEqual( client.failures, - [(bing, _remote_exception_str + ": " + [(bing, _remote_exception_repr + ": " + details_to_str({'traceback': text_content(traceback)}) + "\n")]) self.assertEqual(client.testsRun, 3) @@ -963,7 +967,7 @@ class TestRemotedTestCase(unittest.TestCase): "'A test description'>", "%r" % test) result = unittest.TestResult() test.run(result) - self.assertEqual([(test, _remote_exception_str + ": " + self.assertEqual([(test, _remote_exception_repr + ": " "Cannot run RemotedTestCases.\n\n")], result.errors) self.assertEqual(1, result.testsRun) @@ -1199,15 +1203,15 @@ class TestTestProtocolClient(TestCase): "something\n" "F\r\nserialised\nform0\r\n" "Content-Type: text/x-traceback;charset=utf8,language=python\n" - "traceback\n" + _remote_exception_str_chunked + ": boo qux\n0\r\n" + "traceback\n" + _remote_exception_str_chunked + "]\n") % self.test.id()), _b(("failure: %s [ multipart\n" "Content-Type: text/plain\n" "something\n" "F\r\nserialised\nform0\r\n" "Content-Type: text/x-traceback;language=python,charset=utf8\n" - "traceback\n" + _remote_exception_str_chunked + ": boo qux\n0\r\n" - "]\n") % self.test.id()) + "traceback\n" + _remote_exception_str_chunked + + "]\n") % self.test.id()), ], Contains(self.io.getvalue())), @@ -1231,14 +1235,14 @@ class TestTestProtocolClient(TestCase): "something\n" "F\r\nserialised\nform0\r\n" "Content-Type: text/x-traceback;charset=utf8,language=python\n" - "traceback\n" + _remote_exception_str_chunked + ": boo qux\n0\r\n" + "traceback\n" + _remote_exception_str_chunked + "]\n") % self.test.id()), _b(("error: %s [ multipart\n" "Content-Type: text/plain\n" "something\n" "F\r\nserialised\nform0\r\n" "Content-Type: text/x-traceback;language=python,charset=utf8\n" - "traceback\n" + _remote_exception_str_chunked + ": boo qux\n0\r\n" + "traceback\n" + _remote_exception_str_chunked + "]\n") % self.test.id()), ], Contains(self.io.getvalue())), @@ -1263,14 +1267,14 @@ class TestTestProtocolClient(TestCase): "something\n" "F\r\nserialised\nform0\r\n" "Content-Type: text/x-traceback;charset=utf8,language=python\n" - "traceback\n" + _remote_exception_str_chunked + ": boo qux\n0\r\n" + "traceback\n" + _remote_exception_str_chunked + "]\n") % self.test.id()), _b(("xfail: %s [ multipart\n" "Content-Type: text/plain\n" "something\n" "F\r\nserialised\nform0\r\n" "Content-Type: text/x-traceback;language=python,charset=utf8\n" - "traceback\n" + _remote_exception_str_chunked + ": boo qux\n0\r\n" + "traceback\n" + _remote_exception_str_chunked + "]\n") % self.test.id()), ], Contains(self.io.getvalue())), |
