OSDN Git Service

Renamed ChangeLog to ChangeLog.2.
[ccunit/ccunit.git] / tests / runFailure.c
index 24f20f8..a18b2db 100644 (file)
@@ -1,4 +1,4 @@
-/* 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;
 }