echo "## INFO ##"
echo "build dir=$build_dir"
-find $build_dir -name "libricxfcpp.*"
+if ! find $build_dir | grep "libricxfcpp.*" # find returns good even if none; must grep to see error
+then
+ echo "building first..."
+ (
+ cd $build_dir
+ make package
+ )
+
+ echo "build finished"
+ find $build_dir -name "libricxfcpp.*"
+fi
echo "## INFO ##"
export LD_LIBRARY_PATH=$build_dir:/usr/local/lib:$LD_LIBRARY_PATH
spew="cat"
+# 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 metrics_test jhash_test config_test unit_test
+for x in $tests
do
./$x >/tmp/PID$$.log 2>&1
abort_if_error $? "test failed: $x"
# 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 metrics_test jhash_test config_test unit_test
+for x in $tests
do
gcov $x.c >/dev/null 2>&1
done