Skip to content

Commit fb27d61

Browse files
Use assertExceptionIsLike().
1 parent 7207643 commit fb27d61

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

Lib/test/test_unittest/test_runner.py

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
LoggingResult,
1414
ResultWithNoStartTestRunStopTestRun,
1515
)
16+
from test.support.testcase import ExceptionIsLikeMixin
1617

1718

1819
def resultFactory(*_):
@@ -604,7 +605,7 @@ class EmptyTest(unittest.TestCase):
604605

605606

606607
@support.force_not_colorized_test_class
607-
class TestModuleCleanUp(unittest.TestCase):
608+
class TestModuleCleanUp(ExceptionIsLikeMixin, unittest.TestCase):
608609
def test_add_and_do_ModuleCleanup(self):
609610
module_cleanups = []
610611

@@ -648,9 +649,9 @@ class Module(object):
648649
(module_cleanup_bad, (), {})])
649650
with self.assertRaises(Exception) as e:
650651
unittest.case.doModuleCleanups()
651-
e = e.exception
652-
self.assertEqual(str(e), 'module cleanup failed (1 sub-exception)')
653-
self.assertEqual(str(e.exceptions[0]), 'CleanUpExc')
652+
self.assertExceptionIsLike(e.exception,
653+
ExceptionGroup('module cleanup failed',
654+
[CustomError('CleanUpExc')]))
654655
self.assertEqual(unittest.case._module_cleanups, [])
655656

656657
def test_doModuleCleanup_with_multiple_errors_in_addModuleCleanup(self):
@@ -665,26 +666,30 @@ class Module:
665666
unittest.addModuleCleanup(module_cleanup_bad2)
666667
with self.assertRaises(ExceptionGroup) as e:
667668
unittest.case.doModuleCleanups()
668-
e = e.exception
669-
self.assertEqual(str(e), 'module cleanup failed (2 sub-exceptions)')
670-
self.assertEqual(str(e.exceptions[0]), 'CleanUpExc2')
671-
self.assertEqual(str(e.exceptions[1]), 'CleanUpExc1')
669+
self.assertExceptionIsLike(e.exception,
670+
ExceptionGroup('module cleanup failed', [
671+
ValueError('CleanUpExc2'),
672+
TypeError('CleanUpExc1'),
673+
]))
672674

673675
def test_doModuleCleanup_with_exception_group_in_addModuleCleanup(self):
674676
def module_cleanup_bad():
675-
raise ExceptionGroup('CleanUpExc', [TypeError('CleanUpExc1'),
676-
ValueError('CleanUpExc2')])
677+
raise ExceptionGroup('CleanUpExc', [
678+
ValueError('CleanUpExc2'),
679+
TypeError('CleanUpExc1'),
680+
])
677681

678682
class Module:
679683
unittest.addModuleCleanup(module_cleanup_bad)
680684
with self.assertRaises(ExceptionGroup) as e:
681685
unittest.case.doModuleCleanups()
682-
e = e.exception
683-
self.assertEqual(str(e), 'module cleanup failed (1 sub-exception)')
684-
e = e.exceptions[0]
685-
self.assertEqual(str(e), 'CleanUpExc (2 sub-exceptions)')
686-
self.assertEqual(str(e.exceptions[0]), 'CleanUpExc1')
687-
self.assertEqual(str(e.exceptions[1]), 'CleanUpExc2')
686+
self.assertExceptionIsLike(e.exception,
687+
ExceptionGroup('module cleanup failed', [
688+
ExceptionGroup('CleanUpExc', [
689+
ValueError('CleanUpExc2'),
690+
TypeError('CleanUpExc1'),
691+
]),
692+
]))
688693

689694
def test_addModuleCleanup_arg_errors(self):
690695
cleanups = []
@@ -908,9 +913,9 @@ def tearDownClass(cls):
908913
suite = unittest.defaultTestLoader.loadTestsFromTestCase(TestableTest)
909914
with self.assertRaises(Exception) as cm:
910915
suite.debug()
911-
e = cm.exception
912-
self.assertEqual(str(e), 'module cleanup failed (1 sub-exception)')
913-
self.assertEqual(str(e.exceptions[0]), 'CleanUpExc')
916+
self.assertExceptionIsLike(cm.exception,
917+
ExceptionGroup('module cleanup failed',
918+
[CustomError('CleanUpExc')]))
914919
self.assertEqual(ordering, ['setUpModule', 'setUpClass', 'test',
915920
'tearDownClass', 'tearDownModule', 'cleanup_exc'])
916921
self.assertEqual(unittest.case._module_cleanups, [])

0 commit comments

Comments
 (0)