Fix test_capi in !pydebug mode, where my original attempt segfaulted without
authorJeffrey Yasskin <jyasskin@gmail.com>
Mon, 17 May 2010 16:59:23 +0000 (16:59 +0000)
committerJeffrey Yasskin <jyasskin@gmail.com>
Mon, 17 May 2010 16:59:23 +0000 (16:59 +0000)
producing the expected error message.  The test only tests what it's supposed
to test in pydebug mode though.  Fixes issue 8726.

Modules/_testcapimodule.c

index ba81f717d4062bb37977bec07c7e29a0a9d935d7..e1dc5f4aa9c13aa6aa2bbd728e19cc6b52486f63 100644 (file)
@@ -2011,7 +2011,11 @@ static PyObject *
 crash_no_current_thread(PyObject *self)
 {
     Py_BEGIN_ALLOW_THREADS
-    PyErr_SetString(PyExc_SystemError, "bork bork bork");
+    /* Using PyThreadState_Get() directly allows the test to pass in
+       !pydebug mode. However, the test only actually tests anything
+       in pydebug mode, since that's where the infinite loop was in
+       the first place. */
+    PyThreadState_Get();
     Py_END_ALLOW_THREADS
     return NULL;
 }