diff options
Diffstat (limited to 'cpp')
-rwxr-xr-x | cpp/tests/run-unit-tests | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/cpp/tests/run-unit-tests b/cpp/tests/run-unit-tests index 40ecf5f528..f066a38205 100755 --- a/cpp/tests/run-unit-tests +++ b/cpp/tests/run-unit-tests @@ -1,26 +1,37 @@ #!/bin/sh # -# Test library names (without .so) can be specified on the command -# line and/or in env var UNIT_TESTS. +# 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 unless we were called by make. +# 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="$u" ;; # A test path. - *) TEST="$pwd/.libs/$u.so" # A test library. + :*) TEST_ARGS="$TEST_ARGS $u" ;; # A test path. + *) TEST_ARGS="$TEST_ARGS $pwd/.libs/$u.so" ;; # A test library. esac - TESTS="$TESTS $TEST" ; done -test -z "$TESTS" && TESTS="$pwd/.libs/*Test.so" +# If none specified, run all tests in .libs +test -z "$TEST_ARGS" && TEST_ARGS="$pwd/.libs/*Test.so" fail=0 -$vg DllPlugInTester -c -b $TESTS || fail=1 + +$vg DllPlugInTester -c -b $TEST_ARGS || fail=1 vg_check valgrind.out || fail=1 exit $fail |