diff test/automated/SDL_at.c @ 3725:6eca2af6a86b gsoc2009_unit_tests

Added SDL_ATvassert for printf style printing. Check to see if testcase is closed before finishing testsuite.
author Edgar Simo <bobbens@gmail.com>
date Sat, 11 Jul 2009 18:54:03 +0000
parents d8772964e402
children 51900b161948
line wrap: on
line diff
--- a/test/automated/SDL_at.c	Sat Jul 11 17:57:49 2009 +0000
+++ b/test/automated/SDL_at.c	Sat Jul 11 18:54:03 2009 +0000
@@ -66,6 +66,12 @@
       return 1;
    }
 
+   /* Finished without closing testcase. */
+   if (at_test_msg) {
+      SDL_ATprint( "AT suite '%s' finished without closing testcase '%s'\n",
+            ac_suite_msg, ac_test_msg );
+   }
+
    /* Display message if verbose on failed. */
    failed = at_failure;
    if (verbose) {
@@ -134,7 +140,32 @@
 {
    /* Condition failed. */
    if (!condition) {
+      /* Print. */
       SDL_ATprint( "%s [%s] : %s\n", at_suite_msg, at_test_msg, msg );
+      /* End. */
+      SDL_ATendWith(0);
+   }
+   return !condition;
+}
+
+
+/**
+ * @brief Testcase test.
+ */
+int SDL_ATvassert( int condition, const char *msg, ... )
+{
+   va_list args;
+   char buf[256];
+
+   /* Condition failed. */
+   if (!condition) {
+      /* Get message. */
+      va_start( args, msg );
+      vsnprintf( buf, sizeof(buf), msg, args );
+      va_end( args );
+      /* Print. */
+      SDL_ATprint( "%s [%s] : %s\n", at_suite_msg, at_test_msg, buf );
+      /* End. */
       SDL_ATendWith(0);
    }
    return !condition;