# HG changeset patch # User Edgar Simo # Date 1247338443 0 # Node ID 6eca2af6a86ba7cd02c87d7a55ec4c051a36d759 # Parent 48e2b67bb2de9b13ba96d13382f3f482b3aa1689 Added SDL_ATvassert for printf style printing. Check to see if testcase is closed before finishing testsuite. diff -r 48e2b67bb2de -r 6eca2af6a86b test/automated/SDL_at.c --- 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; diff -r 48e2b67bb2de -r 6eca2af6a86b test/automated/SDL_at.h --- a/test/automated/SDL_at.h Sat Jul 11 17:57:49 2009 +0000 +++ b/test/automated/SDL_at.h Sat Jul 11 18:54:03 2009 +0000 @@ -20,11 +20,11 @@ * SDL_ATinit( "My testsuite" ); * * SDL_ATbegin( "My first testcase" ); - * if (!SDL_ATassert( "Trying '1+1=2'.", (1+1)==2)) + * if (!SDL_ATassert( (1+1)==2, "Trying '1+1=2'.")) * return; * * SDL_ATbegin( "My second testcase" ); - * if (!SDL_ATassert( "Trying '4/2=2'.", (4/2)==2)) + * if (!SDL_ATassert( (4/2)==2, "Trying '4/2=2'.")) * return; * * f = SDL_ATend(); @@ -69,12 +69,22 @@ * * Will automatically call SDL_ATend if the condition isn't met. * + * @param condition Condition to make sure is true. * @param msg Message to display for failure. - * @param condition Condition to make sure is true. * @return Returns 1 if the condition isn't met. */ int SDL_ATassert( const char *msg, int condition ); /** + * @brief Checks a condition in the testcase. + * + * Will automatically call SDL_ATend if the condition isn't met. + * + * @param condition Condition to make sure is true. + * @param msg Message to display for failure with printf style formatting. + * @return Returns 1 if the condition isn't met. + */ +int SDL_ATvassert( int condition, const char *msg, ... ); +/** * @brief Ends a testcase. */ void SDL_ATend (void);