[pypy-commit] pypy default: clean up win SetErrorMode changes

bdkearns noreply at buildbot.pypy.org
Fri Apr 12 20:09:22 CEST 2013


Author: Brian Kearns <bdkearns at gmail.com>
Branch: 
Changeset: r63288:100a93fe4df3
Date: 2013-04-12 14:09 -0400
http://bitbucket.org/pypy/pypy/changeset/100a93fe4df3/

Log:	clean up win SetErrorMode changes

diff --git a/pypy/module/cpyext/test/test_cpyext.py b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -19,13 +19,20 @@
 from rpython.tool.identity_dict import identity_dict
 from rpython.tool import leakfinder
 
-if os.name == 'nt':
-    # Do not open dreaded dialog box on segfault
-    import ctypes
-    SEM_NOGPFAULTERRORBOX = 0x0002 # From MSDN
-    old_err_mode = ctypes.windll.kernel32.GetErrorMode()
-    new_err_mode = old_err_mode | SEM_NOGPFAULTERRORBOX
-    ctypes.windll.kernel32.SetErrorMode(new_err_mode)
+def setup_module(module):
+    if os.name == 'nt':
+        # Do not open dreaded dialog box on segfault
+        import ctypes
+        SEM_NOGPFAULTERRORBOX = 0x0002 # From MSDN
+        old_err_mode = ctypes.windll.kernel32.GetErrorMode()
+        new_err_mode = old_err_mode | SEM_NOGPFAULTERRORBOX
+        ctypes.windll.kernel32.SetErrorMode(new_err_mode)
+        module.old_err_mode = old_err_mode
+
+def teardown_module(module):
+    if os.name == 'nt':
+        import ctypes
+        ctypes.windll.kernel32.SetErrorMode(module.old_err_mode)
 
 @api.cpython_api([], api.PyObject)
 def PyPy_Crash1(space):
diff --git a/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py b/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
--- a/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
+++ b/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
@@ -753,8 +753,6 @@
             old_err_mode = ctypes.windll.kernel32.GetErrorMode()
             new_err_mode = old_err_mode | SEM_NOGPFAULTERRORBOX
             ctypes.windll.kernel32.SetErrorMode(new_err_mode)
-            assert f(1) == 1
-            ctypes.windll.kernel32.SetErrorMode(old_err_mode)
         else:
             underscore_on_windows = ''
         strlen = rffi.llexternal('strlen', [rffi.CCHARP], rffi.SIZE_T,
diff --git a/rpython/rtyper/module/test/test_ll_os_environ.py b/rpython/rtyper/module/test/test_ll_os_environ.py
--- a/rpython/rtyper/module/test/test_ll_os_environ.py
+++ b/rpython/rtyper/module/test/test_ll_os_environ.py
@@ -34,7 +34,6 @@
         old_err_mode = ctypes.windll.kernel32.GetErrorMode()
         new_err_mode = old_err_mode | SEM_NOGPFAULTERRORBOX
         ctypes.windll.kernel32.SetErrorMode(new_err_mode)
-        assert f(1) == 1
+    assert f(1) == 1
+    if sys.platform.startswith('win'):
         ctypes.windll.kernel32.SetErrorMode(old_err_mode)
-    else:
-        assert f(1) == 1


More information about the pypy-commit mailing list