#include <libtest/common.h>
-static test_return_t runner_code(Framework* frame,
+static test_return_t runner_code(libtest::Framework* frame,
test_st* run,
libtest::Timer& _timer)
{ // Runner Code
_success(0),
_skipped(0),
_failed(0),
- _total(0)
+ _total(0),
+ _formatter(_name)
{
fatal_assert(arg);
}
test_return_t Collection::exec()
{
- Out << "Collection: " << _name;
-
if (test_success(_frame->runner()->pre(_pre, _frame->creators_ptr())))
{
for (test_st *run= _tests; run->name; run++)
{
+ formatter()->push_testcase(run->name);
if (_frame->match(run->name))
{
+ formatter()->skipped();
continue;
}
_total++;
{
Error << "frame->runner()->flush(creators_ptr)";
_skipped++;
+ formatter()->skipped();
continue;
}
}
}
catch (libtest::fatal &e)
{
- Error << "Fatal exception was thrown: " << e.what();
+ stream::cerr(e.file(), e.line(), e.func()) << e.what();
_failed++;
+ formatter()->failed();
throw;
}
switch (return_code)
{
case TEST_SUCCESS:
- Out << "\tTesting "
- << run->name
- << "\t\t\t\t\t"
- << _timer
- << " [ " << test_strerror(return_code) << " ]";
_success++;
+ formatter()->success(_timer);
break;
case TEST_FAILURE:
_failed++;
- Out << "\tTesting " << run->name << "\t\t\t\t\t" << "[ " << test_strerror(return_code) << " ]";
+ formatter()->failed();
break;
case TEST_SKIPPED:
_skipped++;
- Out << "\tTesting " << run->name << "\t\t\t\t\t" << "[ " << test_strerror(return_code) << " ]";
+ formatter()->skipped();
break;
default: