+# order here is important to ensure coverage files accumulate
+tests="metrics_test jhash_test config_test unit_test"
+
+#run everything, then generate coverage stats after all have run
+for x in $tests
+do
+ ./$x >/tmp/PID$$.log 2>&1
+ abort_if_error $? "test failed: $x"
+ grep SUMMARY /tmp/PID$$.log
+done
+
+# it seems that we loose coverage reporting if metrics_test's gcov file is generated
+# after unit test. Very strange. To be safe, run unit_test last.
+#
+for x in $tests
+do
+ gcov $x.c >/dev/null 2>&1
+done
+
+# wrapper_test is driven by jhash_test, but must be covered explicitly
+gcov jwrapper_test.c >/dev/null 2>&1
+