diff options
| author | Robert Collins <robertc@robertcollins.net> | 2009-10-25 16:49:09 +1100 |
|---|---|---|
| committer | Robert Collins <robertc@robertcollins.net> | 2009-10-25 16:49:09 +1100 |
| commit | f6b397940103643565955391e73099bf54de6dfb (patch) | |
| tree | c8f117d8a63487d916b76b24703150437486e8b7 /python/subunit/tests | |
| parent | 761e21ba507fa0d40509301b1f470944c8a4deb0 (diff) | |
| download | subunit-git-f6b397940103643565955391e73099bf54de6dfb.tar.gz | |
Support the extended TestResult details API on TestResultFilter (but not yet on predicates).
Diffstat (limited to 'python/subunit/tests')
| -rw-r--r-- | python/subunit/tests/test_subunit_filter.py | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/python/subunit/tests/test_subunit_filter.py b/python/subunit/tests/test_subunit_filter.py index cc13b6c..9baff24 100644 --- a/python/subunit/tests/test_subunit_filter.py +++ b/python/subunit/tests/test_subunit_filter.py @@ -20,6 +20,7 @@ import unittest from StringIO import StringIO import subunit +from subunit.test_results import TestResultFilter class TestTestResultFilter(unittest.TestCase): @@ -31,57 +32,56 @@ class TestTestResultFilter(unittest.TestCase): def test_default(self): """The default is to exclude success and include everything else.""" self.filtered_result = unittest.TestResult() - self.filter = subunit.TestResultFilter(self.filtered_result) + self.filter = TestResultFilter(self.filtered_result) self.run_tests() - # skips are seen as errors by default python TestResult. - self.assertEqual(['error', 'skipped'], + # skips are seen as success by default python TestResult. + self.assertEqual(['error'], [error[0].id() for error in self.filtered_result.errors]) self.assertEqual(['failed'], [failure[0].id() for failure in self.filtered_result.failures]) - self.assertEqual(3, self.filtered_result.testsRun) + self.assertEqual(4, self.filtered_result.testsRun) def test_exclude_errors(self): self.filtered_result = unittest.TestResult() - self.filter = subunit.TestResultFilter(self.filtered_result, + self.filter = TestResultFilter(self.filtered_result, filter_error=True) self.run_tests() # skips are seen as errors by default python TestResult. - self.assertEqual(['skipped'], - [error[0].id() for error in self.filtered_result.errors]) + self.assertEqual([], self.filtered_result.errors) self.assertEqual(['failed'], [failure[0].id() for failure in self.filtered_result.failures]) - self.assertEqual(2, self.filtered_result.testsRun) + self.assertEqual(3, self.filtered_result.testsRun) def test_exclude_failure(self): self.filtered_result = unittest.TestResult() - self.filter = subunit.TestResultFilter(self.filtered_result, + self.filter = TestResultFilter(self.filtered_result, filter_failure=True) self.run_tests() - self.assertEqual(['error', 'skipped'], + self.assertEqual(['error'], [error[0].id() for error in self.filtered_result.errors]) self.assertEqual([], [failure[0].id() for failure in self.filtered_result.failures]) - self.assertEqual(2, self.filtered_result.testsRun) + self.assertEqual(3, self.filtered_result.testsRun) def test_exclude_skips(self): self.filtered_result = subunit.TestResultStats(None) - self.filter = subunit.TestResultFilter(self.filtered_result, + self.filter = TestResultFilter(self.filtered_result, filter_skip=True) self.run_tests() self.assertEqual(0, self.filtered_result.skipped_tests) self.assertEqual(2, self.filtered_result.failed_tests) - self.assertEqual(2, self.filtered_result.testsRun) + self.assertEqual(3, self.filtered_result.testsRun) def test_include_success(self): """Success's can be included if requested.""" self.filtered_result = unittest.TestResult() - self.filter = subunit.TestResultFilter(self.filtered_result, + self.filter = TestResultFilter(self.filtered_result, filter_success=False) self.run_tests() - self.assertEqual(['error', 'skipped'], + self.assertEqual(['error'], [error[0].id() for error in self.filtered_result.errors]) self.assertEqual(['failed'], [failure[0].id() for failure in @@ -92,14 +92,11 @@ class TestTestResultFilter(unittest.TestCase): """You can filter by predicate callbacks""" self.filtered_result = unittest.TestResult() filter_cb = lambda test, err: str(err).find('error details') != -1 - self.filter = subunit.TestResultFilter(self.filtered_result, + self.filter = TestResultFilter(self.filtered_result, filter_predicate=filter_cb, filter_success=False) self.run_tests() - self.assertEqual(1, - self.filtered_result.testsRun) - # I'd like to test filtering the xfail but it's blocked by - # https://bugs.edge.launchpad.net/subunit/+bug/409193 -- mbp 20090805 + self.assertEqual(1, self.filtered_result.testsRun) def run_tests(self): self.setUpTestStream() @@ -109,8 +106,9 @@ class TestTestResultFilter(unittest.TestCase): def setUpTestStream(self): # While TestResultFilter works on python objects, using a subunit # stream is an easy pithy way of getting a series of test objects to - # call into the TestResult, and as TestResultFilter is intended for use - # with subunit also has the benefit of detecting any interface skew issues. + # call into the TestResult, and as TestResultFilter is intended for + # use with subunit also has the benefit of detecting any interface + # skew issues. self.input_stream = StringIO() self.input_stream.write("""tags: global test passed |
