]> granicus.if.org Git - multimarkdown/commitdiff
fix CuTest exit code; add valgrind support
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Mon, 2 Nov 2015 23:29:45 +0000 (18:29 -0500)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Mon, 2 Nov 2015 23:29:45 +0000 (18:29 -0500)
CMakeLists.txt
test/make-tests.sh

index 3f911040f3195bde8eb51585fb2bd42db42159e9..8e1797befab29a8263ee02fe26954e1cebb8a04c 100644 (file)
@@ -174,6 +174,12 @@ if (DEFINED TEST)
 
        add_test( test ${PROJECT_BINARY_DIR}/run_tests)
 
+       # valgrind memory testing
+       find_program (MEMORYCHECK_COMMAND valgrind)
+       SET (MEMORYCHECK_COMMAND_OPTIONS --leak-check=full --error-exitcode=1)
+
+       add_test( memory_test ${MEMORYCHECK_COMMAND} ${MEMORYCHECK_COMMAND_OPTIONS} ${PROJECT_BINARY_DIR}/run_tests)
+
 endif()
 
 
index 9d41dab249ec53b505d3cc2578c65969562e741d..90102268b5b4aa500778d1debb36a370be5fd9b7 100644 (file)
@@ -5,6 +5,8 @@
 # Prints to stdout.
 # Author: Asim Jalis
 # Date: 01/08/2003
+#
+# Modified by Fletcher T. Penney for proper error codes
 
 if test $# -eq 0 ; then FILES=*.c ; else FILES=$* ; fi
 
@@ -30,6 +32,7 @@ void RunAllTests(void)
 {
     CuString *output = CuStringNew();
     CuSuite* suite = CuSuiteNew();
+    int failCount = 0;
 
 '
 cat $FILES | grep '^void Test' | 
@@ -45,7 +48,12 @@ echo \
     CuSuiteDetails(suite, output);
     printf("%s\\n", output->buffer);
     CuStringDelete(output);
+
+    failCount = suite->failCount;
     CuSuiteDelete(suite);
+
+    if (failCount != 0)
+        exit(EXIT_FAILURE);
 }
 
 int main(void)