From 8f8ab15fafdad6db850c84772323b32375b09285 Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Tue, 10 Mar 2015 15:21:49 +1300 Subject: [PATCH] Fixup tests with latest testtools. Testtools has started chunking exceptions (which is perhaps good, perhaps bad) - but we shouldn't depend on the exact behaviour in it for our tests. --- NEWS | 6 ++++++ testrepository/tests/test_repository.py | 14 ++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index e258b11..536308c 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,12 @@ testrepository release notes NEXT (In development) +++++++++++++++++++++ +CHANGES +------- + +* Isolate the testrepository test suite from the chunking (or otherwise) + behaviour of testtools' exception handlers. (Robert Collins) + 0.0.20 ++++++ diff --git a/testrepository/tests/test_repository.py b/testrepository/tests/test_repository.py index e2e5e05..4a8667b 100644 --- a/testrepository/tests/test_repository.py +++ b/testrepository/tests/test_repository.py @@ -28,6 +28,7 @@ from testresources import TestResource from testtools import ( clone_test_with_new_id, + content, PlaceHolder, ) import testtools @@ -103,19 +104,24 @@ class Case(ResourcedTestCase): def passing(self): pass - def failing(self): - self.fail("oops") - def unexpected_success(self): self.expectFailure("unexpected success", self.assertTrue, True) +class FailingCase: + + def run(self, result): + result.startTest(self) + result.addError( + self, None, details={'traceback': content.text_content("")}) + result.stopTest(self) + def make_test(id, should_pass): """Make a test.""" if should_pass: case = Case("passing") else: - case = Case("failing") + case = FailingCase() return clone_test_with_new_id(case, id) From d3d6cac4fd42f2067c0dd81be748853f81c348fc Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Sun, 12 Jul 2015 21:37:34 +1200 Subject: [PATCH] Fix 3.3+ tests with nested classnames. --- testrepository/tests/ui/test_cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testrepository/tests/ui/test_cli.py b/testrepository/tests/ui/test_cli.py index 9ba11ad..e1f9b44 100644 --- a/testrepository/tests/ui/test_cli.py +++ b/testrepository/tests/ui/test_cli.py @@ -157,7 +157,7 @@ def method(self): self.assertThat(ui._stdout.buffer.getvalue().decode('utf8'), DocTestMatches("""\ ====================================================================== -FAIL: testrepository.tests.ui.test_cli.Case.method +FAIL: testrepository.tests.ui.test_cli...Case.method ---------------------------------------------------------------------- ...Traceback (most recent call last):... File "...test_cli.py", line ..., in method From e2f84ae6b2bcf89221613056d0c45dd308f46d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Thu, 5 Apr 2018 01:02:40 +0100 Subject: [PATCH] Fix the testrepository tests with newer versions of testtools. --- testrepository/tests/commands/test_failing.py | 2 +- testrepository/tests/test_repository.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/testrepository/tests/commands/test_failing.py b/testrepository/tests/commands/test_failing.py index 56c97ef..4e52f6a 100644 --- a/testrepository/tests/commands/test_failing.py +++ b/testrepository/tests/commands/test_failing.py @@ -90,7 +90,7 @@ def test_with_subunit_shows_subunit_stream(self): finally: log.stopTestRun() self.assertEqual( - log._events, [ + [tuple(ev) for ev in log._events], [ ('startTestRun',), ('status', 'failing', 'inprogress', None, True, None, None, False, None, None, Wildcard), diff --git a/testrepository/tests/test_repository.py b/testrepository/tests/test_repository.py index 4a8667b..28d99bc 100644 --- a/testrepository/tests/test_repository.py +++ b/testrepository/tests/test_repository.py @@ -113,9 +113,10 @@ class FailingCase: def run(self, result): result.startTest(self) result.addError( - self, None, details={'traceback': content.text_content("")}) + self, None, details={'traceback': content.text_content("tb")}) result.stopTest(self) + def make_test(id, should_pass): """Make a test.""" if should_pass: @@ -409,7 +410,7 @@ def test_get_failing_get_subunit_stream(self): finally: log.stopTestRun() self.assertEqual( - log._events, [ + [tuple(ev) for ev in log._events], [ ('startTestRun',), ('status', 'testrepository.tests.test_repository.Case.method', @@ -465,7 +466,7 @@ def test_get_subunit_from_test_run(self): finally: log.stopTestRun() self.assertEqual( - log._events, + [tuple(ev) for ev in log._events], [ ('startTestRun',), ('status',