summaryrefslogtreecommitdiff
path: root/tools/run-nm-test.sh
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-11-01 18:51:29 +0100
committerThomas Haller <thaller@redhat.com>2016-11-01 18:51:30 +0100
commit354fc51bc6591e39fbf23e6dea62b0dde00992b3 (patch)
tree85a9482ebc34d663bd0cb0ab9e61c476c6d906c3 /tools/run-nm-test.sh
parenta412ee419b7a269eba12db6b4a03fd1160c1114c (diff)
downloadNetworkManager-354fc51bc6591e39fbf23e6dea62b0dde00992b3.tar.gz
tools: improve handling arguments to run-nm-test.sh
- add _is_true function so that user can set argument environment variables to yes|y|1 etc. - fix NMTST_CHANGE_DIRECTORY
Diffstat (limited to 'tools/run-nm-test.sh')
-rwxr-xr-xtools/run-nm-test.sh44
1 files changed, 31 insertions, 13 deletions
diff --git a/tools/run-nm-test.sh b/tools/run-nm-test.sh
index d7d66c0f55..c10a5ba943 100755
--- a/tools/run-nm-test.sh
+++ b/tools/run-nm-test.sh
@@ -5,6 +5,24 @@ die() {
exit 5
}
+_is_true() {
+ case "$1" in
+ y|Y|yes|YES|1)
+ return 0
+ ;;
+ n|N|no|NO|0)
+ return 1
+ ;;
+ *)
+ if test -n "$2"; then
+ _is_true "$2"
+ return $?
+ fi
+ return 2
+ ;;
+ esac
+}
+
SCRIPT_PATH="${SCRIPT_PATH:-$(readlink -f "$(dirname "$0")")}"
VALGRIND_ERROR=37
@@ -19,26 +37,24 @@ if [[ -z "${NMTST_USE_VALGRIND+x}" ]]; then
NMTST_USE_VALGRIND=0
fi
fi
-[[ "${NMTST_USE_VALGRIND}" != 1 ]] && NMTST_USE_VALGRIND=0
if [ "$1" == "--called-from-make" ]; then
shift
NMTST_LIBTOOL=($1 --mode=execute); shift
NMTST_VALGRIND="$1"; shift
- NMTST_CHANGE_DIRECTORY=
if [[ "$NMTST_VALGRIND" == no ]]; then
NMTST_USE_VALGRIND=0
NMTST_VALGRIND=
fi
SUPPRESSIONS="$1"; shift
if [ "$1" = "--launch-dbus" ]; then
- NMTST_LAUNCH_DBUS=yes
+ NMTST_LAUNCH_DBUS=1
shift
elif [ "$1" = "--launch-dbus=auto" ]; then
NMTST_LAUNCH_DBUS=
shift
else
- NMTST_LAUNCH_DBUS=no
+ NMTST_LAUNCH_DBUS=0
fi
TEST="$1"; shift
NMTST_MAKE_FIRST=0
@@ -54,11 +70,11 @@ else
for a in "$@"; do
case "$a" in
"--launch-dbus")
- NMTST_LAUNCH_DBUS=yes
+ NMTST_LAUNCH_DBUS=1
shift
;;
"--no-launch-dbus"|"-D")
- NMTST_LAUNCH_DBUS=no
+ NMTST_LAUNCH_DBUS=0
shift
;;
"--no-libtool")
@@ -99,12 +115,12 @@ fi
TEST_PATH="$(readlink -f "$(dirname "$TEST")")"
TEST_NAME="${TEST##*/}"
-if [ -n "${NMTST_LAUNCH_DBUS:-x}" ]; then
+if [ -z "${NMTST_LAUNCH_DBUS}" ]; then
# autodetect whether to launch D-Bus based on the test path.
if [[ $TEST_PATH == */libnm/tests || $TEST_PATH == */libnm-glib/tests ]]; then
- NMTST_LAUNCH_DBUS=yes
+ NMTST_LAUNCH_DBUS=1
else
- NMTST_LAUNCH_DBUS=no
+ NMTST_LAUNCH_DBUS=0
fi
fi
@@ -116,14 +132,14 @@ if [[ "$NMTST_MAKE_FIRST" == 1 ]]; then
cd - 1>/dev/null
fi
-# if the user wishes, chnage first into the directory of the test
-if [ "$NMTST_CHANGE_DIRECTORY" != "" ]; then
+# if the user wishes, change first into the directory of the test
+if _is_true "$NMTST_CHANGE_DIRECTORY" 0; then
cd "$TEST_PATH"
TEST="./$TEST_NAME"
fi
NMTST_DBUS_RUN_SESSION=()
-if [ "$NMTST_LAUNCH_DBUS" == "yes" ]; then
+if _is_true "$NMTST_LAUNCH_DBUS"; then
if ! which dbus-run-session &>/dev/null ; then
eval `dbus-launch --sh-syntax`
trap "kill $DBUS_SESSION_BUS_PID" EXIT
@@ -135,7 +151,7 @@ fi
[ -x "$TEST" ] || die "Cannot execute test \"$TEST\""
-if [ "$NMTST_USE_VALGRIND" != "1" ]; then
+if ! _is_true "$NMTST_USE_VALGRIND" 0; then
"${NMTST_DBUS_RUN_SESSION[@]}" \
"$TEST" "$@"
exit $?
@@ -143,6 +159,8 @@ fi
if [[ -z "${NMTST_VALGRIND}" ]]; then
NMTST_VALGRIND=`which valgrind` || die "cannot find valgrind binary. Set \$NMTST_VALGRIND"
+else
+ test -e "${NMTST_VALGRIND}" || die "cannot find valgrind binary from NMTST_VALGRIND=\"${NMTST_VALGRIND}\""
fi
LOGFILE="${TEST}.valgrind-log"