* @{
*/
-/**
- * convert failure object to string.
- * @param f failure object.
- * @return string as failure.
- */
-static const char* toString (CCUnitTestFailure* f)
-{
- if (!f)
- return NULL;
- else
- {
- char* str = NULL;
- size_t size = 63;
- size_t require;
- for (str = malloc (size); str != NULL; str = realloc (str, size))
- {
- if (!f->expect && !f->actual)
- {
- require = snprintf (str, size,
- "%s:%u: %s\n", f->file, f->line, f->condstr);
- }
- else
- {
- require = snprintf (str, size,
- "%s:%u: %s\n"
- "\texpect: %s\n"
- "\tactual: %s\n",
- f->file, f->line, f->condstr,
- f->expect,
- f->actual);
- }
- if (require < 0)
- size *= 2;
- else if (require >= size)
- size = require + 1;
- else
- {
- str = realloc (str, require + 1);
- break;
- }
- }
- return str;
- }
-}
-
CCUnitTestFailure* ccunit_newTestFailure (const char* file,
unsigned int line,
const char* condstr,
f->condstr = condstr;
f->expect = safe_strdup (expect);
f->actual = safe_strdup (actual);
- f->toString = toString;
return f;
}
const char* condstr; /**< test condition */
const char* expect; /**< expect value as string */
const char* actual; /**< actual value as string */
- const char* (*toString)(CCUnitTestFailure*failure); /**< convert string function */
+ const struct CCUnitTestCase* testCase; /**< test case object */
};
/**