-/* Copyright (C) 2003 TSUTSUMI Kikuo.
+/* Copyright (C) 2003, 2010 TSUTSUMI Kikuo.
This file is part of the CCUnit Library.
The CCUnit Library is free software; you can redistribute it and/or
/*
* $Id$
*/
-#include <ccunit/CCUnit.h>
+#include <ccunit/CCUnitTestRunner.h>
+
+extern CCUnitTestSuite* failAssert_suite (const char* name);
int main ()
{
- CCUnitTestRunner* runner = ccunit_newTestRunner (NULL);
- CCUnitTestSuite* suite = ccunit_suite ("failure");
+ CCUnitTestRunner* runner;
+ CCUnitTestSuite* suite;
size_t fails;
- size_t tests;
- runner->run (runner, suite);
+ size_t runs;
+#if CCUNIT_WITH_DMALLOC
+ dmalloc_debug_setup ("log-stats,"
+ "log-non-free,"
+ "log-bad-space,"
+ "log-elapsed-time,"
+ "check-fence,"
+ "free-blank,"
+ "error-abort,"
+ "alloc-blank,"
+ "catch-null,"
+ "inter=100,"
+ "log=dm-runFailure.log");
+#endif /* CCUNIT_WITH_DMALLOC */
+ runner = ccunit_newTestRunner (NULL);
+ suite = failAssert_suite ("failure");
+ ccunit_runTestRunner (runner, suite);
+ runs = ccunit_runCount (runner->result);
fails = ccunit_failureCount (runner->result);
- tests = ccunit_runCount (runner->result);
ccunit_deleteTestRunner (runner);
- return fails == tests ? 0 : -1;
+ ccunit_deleteTestSuite (suite);
+#if CCUNIT_WITH_DMALLOC && !CCUNIT_HAVE_ATEXIT && !CCUNIT_HAVE_ONEXIT
+ dmalloc_shutdown ();
+#endif
+ return fails == runs + 5 ? -1 : 0;
}