Merge branch '1.2'
[jansson.git] / test / suites / api / run
index 29d628a..ff53f35 100755 (executable)
@@ -1,16 +1,39 @@
 #!/bin/sh
 #
-# Copyright (c) 2009 Petri Lehtinen <petri@digip.org>
+# Copyright (c) 2009, 2010 Petri Lehtinen <petri@digip.org>
 #
 # Jansson is free software; you can redistribute it and/or modify
 # it under the terms of the MIT license. See LICENSE for details.
 
 is_test() {
-    test "${test_name%.c}" != "$test_name"
+    case "$test_name" in
+        *.c|*.cpp|check-exports)
+            return 0
+            ;;
+        *)
+            return 1
+            ;;
+    esac
 }
 
 run_test() {
-    $suite_builddir/${test_name%.c} >$test_log/stdout 2>$test_log/stderr
+    if [ "$test_name" = "check-exports" ]; then
+        test_log=$test_log $test_path >$test_log/stdout 2>$test_log/stderr
+    else
+        case "$test_name" in
+            *.c)
+                test_bin=${test_name%.c}
+                ;;
+            *.cpp)
+                test_bin=${test_name%.cpp}
+                ;;
+        esac
+        $test_runner $suite_builddir/$test_bin \
+            >$test_log/stdout \
+            2>$test_log/stderr \
+            || return 1
+        valgrind_check $test_log/stderr || return 1
+    fi
 }
 
 show_error() {