---
 test/memory.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

--- a/test/memory.c
+++ b/test/memory.c
@@ -3,6 +3,21 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
+#include <errno.h>
+
+#define g_assert_no_errno(expr) do { \
+	int __ret, __errsv; \
+	errno = 0; \
+	__ret = expr; \
+	__errsv = errno; \
+	if (__ret < 0) \
+	{ \
+		gchar *__msg; \
+		__msg = g_strdup_printf ("assertion failed(" #expr " >= 0): errno %i: %s", __errsv, g_strerror (__errsv)); \
+		g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \
+		g_free (__msg); \
+	} \
+} while (0)
 
 pid_t child_pid;
 AtspiEventListener *listener;
