Added SDL_ATvassert for printf style printing.
Check to see if testcase is closed before finishing testsuite.
--- 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);