diff options
Diffstat (limited to 'qpid/cpp/src/tests/run-unit-tests')
| -rwxr-xr-x | qpid/cpp/src/tests/run-unit-tests | 37 |
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 |
