runtest: Fix handling of test binaries in the programs directory.
diff --git a/tools/runtest b/tools/runtest
index 86f8680..79bd2f7 100755
--- a/tools/runtest
+++ b/tools/runtest
@@ -91,14 +91,22 @@
if [ -z "$program" ]; then
# try to autodetect the test program name based on the working directory
working_path=`pwd`
- working_basename=`basename "$working_path"`
- if [ "$working_basename" = "tests" ]; then
- parent_path=`dirname "$working_path"`
- parent_basename=`basename "$parent_path"`
- program="${parent_basename}_test.exe.so"
- elif [ -d "tests" ]; then
- program="tests/${working_basename}_test.exe.so"
- fi
+ case $working_path in
+ */dlls/*/tests)
+ parent_path=`dirname "$working_path"`
+ program=`basename "$parent_path"`_test.exe.so
+ ;;
+ */dlls/*)
+ program=tests/`basename "$working_path"`_test.exe.so
+ ;;
+ */programs/*/tests)
+ parent_path=`dirname "$working_path"`
+ program=`basename "$parent_path"`.exe_test.exe.so
+ ;;
+ */programs/*)
+ program=tests/`basename "$working_path"`.exe_test.exe.so
+ ;;
+ esac
fi
if [ ! -f "$program" ]; then
echo "Can't find the test program, use the -p argument to specify one" 1>&2