Make sure that test_capsule always returns NULL on error; this may
help diagnose the sporadic test_capi failures on Solaris.
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index f41d4fe..aca860a 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -1298,6 +1298,21 @@
 	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
 }