Mercurial > sdl-ios-xcode
changeset 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 | 48e2b67bb2de |
children | ffe22900a50a |
files | test/automated/SDL_at.c test/automated/SDL_at.h |
diffstat | 2 files changed, 44 insertions(+), 3 deletions(-) [+] |
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;
--- 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);