From 8b271c28bd4c0b9c90990d87c1dfd0d8d95b9e45 Mon Sep 17 00:00:00 2001 From: Elrond Date: Fri, 11 Jan 2013 20:55:35 +0100 Subject: [PATCH] Make runtests.sh be useable from anywhere. Now you can have your current directory anywhere and call runtests.sh with full path and it'll find the way to nosetests and the tests directory on its own. Most useful if you're inside the mediagoblin/ dir and can just call "../runtests.sh". --- runtests.sh | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/runtests.sh b/runtests.sh index ccba1abd..a4ceec2e 100755 --- a/runtests.sh +++ b/runtests.sh @@ -16,9 +16,19 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -if [ -f ./bin/nosetests ]; then - echo "Using ./bin/nosetests"; - export NOSETESTS="./bin/nosetests"; +basedir="`dirname $0`" +# Directory to seaerch for: +subdir="mediagoblin/tests" +[ '!' -d "$basedir/$subdir" ] && basedir="." +if [ '!' -d "$basedir/$subdir" ] +then + echo "Could not find base directory" >&2 + exit 1 +fi + +if [ -x "$basedir/bin/nosetests" ]; then + export NOSETESTS="$basedir/bin/nosetests"; + echo "Using $NOSETESTS"; elif which nosetests > /dev/null; then echo "Using nosetests from \$PATH"; export NOSETESTS="nosetests"; @@ -37,20 +47,16 @@ do esac done - CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_tests export CELERY_CONFIG_MODULE +echo "+ CELERY_CONFIG_MODULE=$CELERY_CONFIG_MODULE" if [ "$need_arg" = 1 ] then - dir="`dirname $0`"/mediagoblin/tests - [ '!' -d "$dir" ] && dir=./mediagoblin/tests - if [ '!' -d "$dir" ] - then - echo "Cound not find tests dir" - exit 1 - fi - $NOSETESTS "$@" "$dir" + testdir="$basedir/mediagoblin/tests" + set -x + exec "$NOSETESTS" "$@" "$testdir" else - $NOSETESTS "$@" + set -x + exec "$NOSETESTS" "$@" fi