@@ -237,9 +237,6 @@ def f():
237237 def test_recursionlimit_fatalerror (self ):
238238 # A fatal error occurs if a second recursion limit is hit when recovering
239239 # from a first one.
240- if os .name == "nt" :
241- raise unittest .SkipTest (
242- "under Windows, test would generate a spurious crash dialog" )
243240 code = textwrap .dedent ("""
244241 import sys
245242
@@ -251,14 +248,15 @@ def f():
251248
252249 sys.setrecursionlimit(%d)
253250 f()""" )
254- for i in (50 , 1000 ):
255- sub = subprocess .Popen ([sys .executable , '-c' , code % i ],
256- stderr = subprocess .PIPE )
257- err = sub .communicate ()[1 ]
258- self .assertTrue (sub .returncode , sub .returncode )
259- self .assertTrue (
260- b"Fatal Python error: Cannot recover from stack overflow" in err ,
261- err )
251+ with test .support .suppress_crash_popup ():
252+ for i in (50 , 1000 ):
253+ sub = subprocess .Popen ([sys .executable , '-c' , code % i ],
254+ stderr = subprocess .PIPE )
255+ err = sub .communicate ()[1 ]
256+ self .assertTrue (sub .returncode , sub .returncode )
257+ self .assertIn (
258+ b"Fatal Python error: Cannot recover from stack overflow" ,
259+ err )
262260
263261 def test_getwindowsversion (self ):
264262 # Raise SkipTest if sys doesn't have getwindowsversion attribute
0 commit comments