Author: mattip <[email protected]>
Branch: 
Changeset: r73161:807c7a1359e4
Date: 2014-08-29 11:40 +0300
http://bitbucket.org/pypy/pypy/changeset/807c7a1359e4/

Log:    avoid windows-app crashes opening a dialog box for single tests

diff --git a/pytest.py b/pytest.py
--- a/pytest.py
+++ b/pytest.py
@@ -8,6 +8,21 @@
 if __name__ == '__main__': # if run as a script or by 'python -m pytest'
     # we trigger the below "else" condition by the following import
     import pytest
+    import sys
+    if sys.platform == 'win32':
+        #Try to avoid opeing a dialog box if one of the tests causes a system 
error
+        import ctypes
+        winapi = ctypes.windll.kernel32
+        SetErrorMode = winapi.SetErrorMode
+        SetErrorMode.argtypes=[ctypes.c_int]
+
+        SEM_FAILCRITICALERRORS = 1
+        SEM_NOGPFAULTERRORBOX  = 2
+        SEM_NOOPENFILEERRORBOX = 0x8000
+        flags = SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | 
SEM_NOOPENFILEERRORBOX
+        #Since there is no GetErrorMode, do a double Set
+        old_mode = SetErrorMode(flags)
+        SetErrorMode(old_mode | flags)
     raise SystemExit(pytest.main())
 
 # else we are imported
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to