Failing TEST_ASSERT now breaks off test
diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function
index 5eb46bf..4a34319 100644
--- a/tests/suites/main_test.function
+++ b/tests/suites/main_test.function
@@ -16,7 +16,10 @@
     return( 1 );
 }
 
-#define TEST_ASSERT( TEST ) (test_assert((TEST) ? 1 : 0, #TEST))
+#define TEST_ASSERT( TEST )                         \
+        do { test_assert( (TEST) ? 1 : 0, #TEST );  \
+             if( test_errors) return;               \
+        } while (0)
 
 int verify_string( char **str )
 {