@@ -940,7 +940,6 @@ def add_module(self, modname, text):
940
940
return script_helper .make_script (tempdir , modname , text )
941
941
942
942
def run_script (self , text , * , fails = False ):
943
- excwrapper = interpreters .RunFailedError
944
943
r , w = os .pipe ()
945
944
try :
946
945
script = dedent (f"""
@@ -956,11 +955,12 @@ class NeverError(Exception): pass
956
955
raise NeverError # never raised
957
956
""" ).format (dedent (text ))
958
957
if fails :
959
- with self . assertRaises ( excwrapper ) as caught :
960
- interpreters . run_string ( self .id , script )
961
- return caught . exception
958
+ err = interpreters . run_string ( self . id , script )
959
+ self .assertIsNot ( err , None )
960
+ return err
962
961
else :
963
- interpreters .run_string (self .id , script )
962
+ err = interpreters .run_string (self .id , script )
963
+ self .assertIs (err , None )
964
964
return None
965
965
except :
966
966
raise # re-raise
@@ -979,17 +979,18 @@ def _assert_run_failed(self, exctype, msg, script):
979
979
exctype_name = exctype .__name__
980
980
981
981
# Run the script.
982
- exc = self .run_script (script , fails = True )
982
+ excinfo = self .run_script (script , fails = True )
983
983
984
984
# Check the wrapper exception.
985
+ self .assertEqual (excinfo .type .__name__ , exctype_name )
985
986
if msg is None :
986
- self .assertEqual (str ( exc ) .split (':' )[0 ],
987
+ self .assertEqual (excinfo . formatted .split (':' )[0 ],
987
988
exctype_name )
988
989
else :
989
- self .assertEqual (str ( exc ) ,
990
+ self .assertEqual (excinfo . formatted ,
990
991
'{}: {}' .format (exctype_name , msg ))
991
992
992
- return exc
993
+ return excinfo
993
994
994
995
def assert_run_failed (self , exctype , script ):
995
996
self ._assert_run_failed (exctype , None , script )
0 commit comments