Cap kombu and celery
[mediagoblin.git] / runtests.sh
index a4ceec2e5da5591d5d6a69c4f659016f107ab61c..e25239612862b7bbcfb97b65a7dd47f68f5a2474 100755 (executable)
@@ -26,37 +26,46 @@ then
   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";
+if [ -x "$basedir/bin/py.test" ]; then
+    export PYTEST="$basedir/bin/py.test";
+    echo "Using $PYTEST";
+elif which py.test > /dev/null; then
+    echo "Using py.test from \$PATH";
+    export PYTEST="py.test";
 else
-    echo "nosetests not found.  X_X";
-    echo "Please install 'nose'.  Exiting.";
+    echo "py.test not found.  X_X";
+    echo "Please install pytest e.g. with 'pip install pytest'.  Exiting.";
     exit 1
 fi
 
+
+# Look to see if the user has specified a specific directory/file to
+# run tests out of.  If not we'll need to pass along
+# mediagoblin/tests/ later very specifically.  Otherwise py.test
+# will try to read all directories, and this turns into a mess!
+
 need_arg=1
+ignore_next=0
 for i in "$@"
 do
+  if [ "$ignore_next" = 1 ]
+  then
+    ignore_next=0
+    continue
+  fi
   case "$i" in
+    -n) ignore_next=1;;
     -*) ;;
     *) need_arg=0; break ;;
   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
   testdir="$basedir/mediagoblin/tests"
   set -x
-  exec "$NOSETESTS" "$@" "$testdir"
+  exec "$PYTEST" "$@" "$testdir" --boxed
 else
   set -x
-  exec "$NOSETESTS" "$@"
+  exec "$PYTEST" "$@" --boxed
 fi