Merged revisions 76810 via svnmerge from
authorMark Dickinson <dickinsm@gmail.com>
Sun, 13 Dec 2009 20:04:13 +0000 (20:04 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Sun, 13 Dec 2009 20:04:13 +0000 (20:04 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r76810 | mark.dickinson | 2009-12-13 20:03:21 +0000 (Sun, 13 Dec 2009) | 4 lines

  Make sure that test_capsule always returns NULL on error; this may
  help diagnose the sporadic test_capi failures on Solaris.
........

Modules/_testcapimodule.c

index 5917d9130e9d1ec14e386a182f3fde463b1c7188..360ddbce3e6b27b124df4c24b387dddeb1da4e8f 100644 (file)
@@ -1293,6 +1293,21 @@ test_capsule(PyObject *self, PyObject *args)
        if (error) {
                return raiseTestError("test_capsule", error);
        }
+       /* 13/12/2009: something is causing test_capi to fail occasionally on
+          the Solaris buildbot, with the output:
+
+               internal test_L_code
+               internal test_Z_code
+               internal test_bug_7414
+               internal test_capsule
+               XXX undetected error
+               internaltest test_capi crashed -- <class 'ImportError'>: No module named datetime
+
+          It seems possible that test_capsule is raising an exception but
+          failing to return NULL.  Do a PyErr_Occurred check to find out.
+       */
+       if (PyErr_Occurred())
+               return NULL;
        Py_RETURN_NONE;
 #undef FAIL
 }