summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/run-unit-tests
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/tests/run-unit-tests')
-rwxr-xr-xqpid/cpp/src/tests/run-unit-tests37
1 files changed, 37 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/run-unit-tests b/qpid/cpp/src/tests/run-unit-tests
new file mode 100755
index 0000000000..f066a38205
--- /dev/null
+++ b/qpid/cpp/src/tests/run-unit-tests
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Library names (without path or .so) and CppUnit test paths can be
+# specified on the command line or in env var UNIT_TESTS. For example:
+#
+# Selected test classes:
+# ./run-unit-tests ValueTest ClientChannelTest
+#
+# Individual test method
+# ./run-unit-tests ValueTest :ValueTest::testStringValueEquals
+#
+# Build and run selected tests:
+# make check TESTS=run-unit-tests UNIT_TESTS=ClientChannelTest
+#
+
+# Default VALGRIND from the path and $srcdir to . but
+# don't override values set by make.
+test -z "$VALGRIND" -a -z "$MAKEFLAGS" && VALGRIND=`which valgrind` 2>/dev/null
+test -z "$srcdir" && srcdir=.
+
+rm -f valgrind.out
+vg_log=--log-file-exactly=valgrind.out
+source $srcdir/setup
+for u in $* $UNIT_TESTS ; do
+ case $u in
+ :*) TEST_ARGS="$TEST_ARGS $u" ;; # A test path.
+ *) TEST_ARGS="$TEST_ARGS $pwd/.libs/$u.so" ;; # A test library.
+ esac
+done
+# If none specified, run all tests in .libs
+test -z "$TEST_ARGS" && TEST_ARGS="$pwd/.libs/*Test.so"
+fail=0
+
+$vg DllPlugInTester -c -b $TEST_ARGS || fail=1
+vg_check valgrind.out || fail=1
+
+exit $fail