1313 LoggingResult ,
1414 ResultWithNoStartTestRunStopTestRun ,
1515)
16+ from test .support .testcase import ExceptionIsLikeMixin
1617
1718
1819def 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