[Python-checkins] r47260 - in python/trunk: Lib/ctypes/test/test_win32.py Modules/_ctypes/callproc.c

thomas.heller python-checkins at python.org
Thu Jul 6 09:50:19 CEST 2006


Author: thomas.heller
Date: Thu Jul  6 09:50:18 2006
New Revision: 47260

Modified:
   python/trunk/Lib/ctypes/test/test_win32.py
   python/trunk/Modules/_ctypes/callproc.c
Log:
Revert the change done in svn revision 47206:

Add a new function uses_seh() to the _ctypes extension module.  This
will return True if Windows Structured Exception handling (SEH) is
used when calling functions, False otherwise.

Modified: python/trunk/Lib/ctypes/test/test_win32.py
==============================================================================
--- python/trunk/Lib/ctypes/test/test_win32.py	(original)
+++ python/trunk/Lib/ctypes/test/test_win32.py	Thu Jul  6 09:50:18 2006
@@ -30,11 +30,15 @@
             # or wrong calling convention
             self.assertRaises(ValueError, IsWindow, None)
 
-        import _ctypes
-        if _ctypes.uses_seh():
-            def test_SEH(self):
-                # Call functions with invalid arguments, and make sure that access violations
-                # are trapped and raise an exception.
+        def test_SEH(self):
+            # Call functions with invalid arguments, and make sure that access violations
+            # are trapped and raise an exception.
+            #
+            # Normally, in a debug build of the _ctypes extension
+            # module, exceptions are not trapped, so we can only run
+            # this test in a release build.
+            import sys
+            if not hasattr(sys, "getobjects"):
                 self.assertRaises(WindowsError, windll.kernel32.GetModuleHandleA, 32)
 
 class Structures(unittest.TestCase):

Modified: python/trunk/Modules/_ctypes/callproc.c
==============================================================================
--- python/trunk/Modules/_ctypes/callproc.c	(original)
+++ python/trunk/Modules/_ctypes/callproc.c	Thu Jul  6 09:50:18 2006
@@ -1526,21 +1526,7 @@
 	return Py_None;
 }
 
-static PyObject *
-uses_seh(PyObject *self, PyObject *args)
-{
-#if defined(DONT_USE_SEH) || !defined(MS_WIN32)
-	Py_INCREF(Py_False);
-	return Py_False;
-#else
-	Py_INCREF(Py_True);
-	return Py_True;
-#endif
-}
-
 PyMethodDef module_methods[] = {
-	{"uses_seh", uses_seh, METH_NOARGS,
-	 "Return whether ctypes uses Windows structured exception handling"},
 	{"resize", resize, METH_VARARGS, "Resize the memory buffer of a ctypes instance"},
 #ifdef CTYPES_UNICODE
 	{"set_conversion_mode", set_conversion_mode, METH_VARARGS, set_conversion_mode_doc},


More information about the Python-checkins mailing list