Skip to content

Commit 2fbd2e8

Browse files
committed
Fix test_SetErrorMode
1 parent 2d794f3 commit 2fbd2e8

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

Lib/test/test_msvcrt.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,17 @@ def test_GetErrorMode(self):
134134
self.assertGreaterEqual(errmode, 0)
135135

136136
def test_SetErrorMode(self):
137+
origin = msvcrt.GetErrorMode()
138+
def cleanup():
139+
msvcrt.SetErrorMode(0)
140+
for v in (msvcrt.SEM_FAILCRITICALERRORS, msvcrt.SEM_NOGPFAULTERRORBOX,
141+
msvcrt.SEM_NOALIGNMENTFAULTEXCEPT, msvcrt.SEM_NOOPENFILEERRORBOX):
142+
if origin & v:
143+
msvcrt.SetErrorMode(v)
144+
self.addCleanup(cleanup)
145+
146+
msvcrt.SetErrorMode(0)
137147
old = msvcrt.GetErrorMode()
138-
self.addCleanup(msvcrt.SetErrorMode, old)
139148

140149
returned = msvcrt.SetErrorMode(msvcrt.SEM_NOOPENFILEERRORBOX)
141150
self.assertEqual(returned, old)

0 commit comments

Comments
 (0)