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".
This commit is contained in:
Elrond 2013-01-11 20:55:35 +01:00
parent 7dec9f92f3
commit 8b271c28bd

View File

@ -16,9 +16,19 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
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