Simplify running commit-msg tests
* Do not require TEST_TMPDIR.
* Allow running from anywhere, not only from the project root.
Release-Notes: skip
Change-Id: I854c564641303753ffbae664681314d0a3759332
diff --git a/resources/com/google/gerrit/server/commit-msg_test.sh b/resources/com/google/gerrit/server/commit-msg_test.sh
index 2c256ff..542632a1 100755
--- a/resources/com/google/gerrit/server/commit-msg_test.sh
+++ b/resources/com/google/gerrit/server/commit-msg_test.sh
@@ -2,7 +2,18 @@
set -eu
-hook=$(pwd)/resources/com/google/gerrit/server/tools/root/hooks/commit-msg
+readlink -f / &> /dev/null || readlink() { greadlink "$@" ; } # for MacOS
+test_dir=$(dirname -- "$(readlink -f -- "$0")")
+hook=$test_dir/tools/root/hooks/commit-msg
+
+if [ -z "${TEST_TMPDIR-}" ] ; then
+ TEST_TMPDIR=$(mktemp -d)
+ trap cleanup EXIT
+fi
+
+function cleanup {
+ rm -rf "$TEST_TMPDIR"
+}
cd $TEST_TMPDIR