summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/test/test_skipping.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/unittest/test/test_skipping.py')
-rw-r--r--Lib/unittest/test/test_skipping.py139
1 files changed, 18 insertions, 121 deletions
diff --git a/Lib/unittest/test/test_skipping.py b/Lib/unittest/test/test_skipping.py
index 1c178a9..6312231 100644
--- a/Lib/unittest/test/test_skipping.py
+++ b/Lib/unittest/test/test_skipping.py
@@ -29,31 +29,6 @@ class Test_TestSkipping(unittest.TestCase):
self.assertEqual(result.skipped, [(test, "testing")])
self.assertEqual(result.testsRun, 1)
- def test_skipping_subtests(self):
- class Foo(unittest.TestCase):
- def test_skip_me(self):
- with self.subTest(a=1):
- with self.subTest(b=2):
- self.skipTest("skip 1")
- self.skipTest("skip 2")
- self.skipTest("skip 3")
- events = []
- result = LoggingResult(events)
- test = Foo("test_skip_me")
- test.run(result)
- self.assertEqual(events, ['startTest', 'addSkip', 'addSkip',
- 'addSkip', 'stopTest'])
- self.assertEqual(len(result.skipped), 3)
- subtest, msg = result.skipped[0]
- self.assertEqual(msg, "skip 1")
- self.assertIsInstance(subtest, unittest.TestCase)
- self.assertIsNot(subtest, test)
- subtest, msg = result.skipped[1]
- self.assertEqual(msg, "skip 2")
- self.assertIsInstance(subtest, unittest.TestCase)
- self.assertIsNot(subtest, test)
- self.assertEqual(result.skipped[2], (test, "skip 3"))
-
def test_skipping_decorators(self):
op_table = ((unittest.skipUnless, False, True),
(unittest.skipIf, True, False))
@@ -91,7 +66,7 @@ class Test_TestSkipping(unittest.TestCase):
self.assertEqual(result.skipped, [(test, "testing")])
self.assertEqual(record, [])
- def test_skip_non_unittest_class(self):
+ def test_skip_non_unittest_class_old_style(self):
@unittest.skip("testing")
class Mixin:
def test_1(self):
@@ -106,6 +81,21 @@ class Test_TestSkipping(unittest.TestCase):
self.assertEqual(result.skipped, [(test, "testing")])
self.assertEqual(record, [])
+ def test_skip_non_unittest_class_new_style(self):
+ @unittest.skip("testing")
+ class Mixin(object):
+ def test_1(self):
+ record.append(1)
+ class Foo(Mixin, unittest.TestCase):
+ pass
+ record = []
+ result = unittest.TestResult()
+ test = Foo("test_1")
+ suite = unittest.TestSuite([test])
+ suite.run(result)
+ self.assertEqual(result.skipped, [(test, "testing")])
+ self.assertEqual(record, [])
+
def test_expected_failure(self):
class Foo(unittest.TestCase):
@unittest.expectedFailure
@@ -120,64 +110,6 @@ class Test_TestSkipping(unittest.TestCase):
self.assertEqual(result.expectedFailures[0][0], test)
self.assertTrue(result.wasSuccessful())
- def test_expected_failure_with_wrapped_class(self):
- @unittest.expectedFailure
- class Foo(unittest.TestCase):
- def test_1(self):
- self.assertTrue(False)
-
- events = []
- result = LoggingResult(events)
- test = Foo("test_1")
- test.run(result)
- self.assertEqual(events,
- ['startTest', 'addExpectedFailure', 'stopTest'])
- self.assertEqual(result.expectedFailures[0][0], test)
- self.assertTrue(result.wasSuccessful())
-
- def test_expected_failure_with_wrapped_subclass(self):
- class Foo(unittest.TestCase):
- def test_1(self):
- self.assertTrue(False)
-
- @unittest.expectedFailure
- class Bar(Foo):
- pass
-
- events = []
- result = LoggingResult(events)
- test = Bar("test_1")
- test.run(result)
- self.assertEqual(events,
- ['startTest', 'addExpectedFailure', 'stopTest'])
- self.assertEqual(result.expectedFailures[0][0], test)
- self.assertTrue(result.wasSuccessful())
-
- def test_expected_failure_subtests(self):
- # A failure in any subtest counts as the expected failure of the
- # whole test.
- class Foo(unittest.TestCase):
- @unittest.expectedFailure
- def test_die(self):
- with self.subTest():
- # This one succeeds
- pass
- with self.subTest():
- self.fail("help me!")
- with self.subTest():
- # This one doesn't get executed
- self.fail("shouldn't come here")
- events = []
- result = LoggingResult(events)
- test = Foo("test_die")
- test.run(result)
- self.assertEqual(events,
- ['startTest', 'addSubTestSuccess',
- 'addExpectedFailure', 'stopTest'])
- self.assertEqual(len(result.expectedFailures), 1)
- self.assertIs(result.expectedFailures[0][0], test)
- self.assertTrue(result.wasSuccessful())
-
def test_unexpected_success(self):
class Foo(unittest.TestCase):
@unittest.expectedFailure
@@ -191,31 +123,7 @@ class Test_TestSkipping(unittest.TestCase):
['startTest', 'addUnexpectedSuccess', 'stopTest'])
self.assertFalse(result.failures)
self.assertEqual(result.unexpectedSuccesses, [test])
- self.assertFalse(result.wasSuccessful())
-
- def test_unexpected_success_subtests(self):
- # Success in all subtests counts as the unexpected success of
- # the whole test.
- class Foo(unittest.TestCase):
- @unittest.expectedFailure
- def test_die(self):
- with self.subTest():
- # This one succeeds
- pass
- with self.subTest():
- # So does this one
- pass
- events = []
- result = LoggingResult(events)
- test = Foo("test_die")
- test.run(result)
- self.assertEqual(events,
- ['startTest',
- 'addSubTestSuccess', 'addSubTestSuccess',
- 'addUnexpectedSuccess', 'stopTest'])
- self.assertFalse(result.failures)
- self.assertEqual(result.unexpectedSuccesses, [test])
- self.assertFalse(result.wasSuccessful())
+ self.assertTrue(result.wasSuccessful())
def test_skip_doesnt_run_setup(self):
class Foo(unittest.TestCase):
@@ -255,17 +163,6 @@ class Test_TestSkipping(unittest.TestCase):
suite.run(result)
self.assertEqual(result.skipped, [(test, "testing")])
- def test_skip_without_reason(self):
- class Foo(unittest.TestCase):
- @unittest.skip
- def test_1(self):
- pass
-
- result = unittest.TestResult()
- test = Foo("test_1")
- suite = unittest.TestSuite([test])
- suite.run(result)
- self.assertEqual(result.skipped, [(test, "")])
-if __name__ == "__main__":
+if __name__ == '__main__':
unittest.main()