Commits

Ned Batchelder committed b32ba92

A script to make virtualenvs for testing.

  • Participants
  • Parent commits 0afb89c

Comments (0)

Files changed (2)

 #
 # All the Python installs have a .pth pointing to the egg file created by
 # 2.6, so install the testdata in 2.6
-source ../ve/26/bin/activate
+ve=${COVERAGE_VE:-../ve}
+echo "Testing in $ve"
+source $ve/26/bin/activate
 make --quiet testdata
 
 for v in 24 25 26 27 31 32  # 23 
 do 
-    source ../ve/$v/bin/activate
+    source $ve/$v/bin/activate
     python setup.py -q develop
-    python -c "import platform; print('=== Python %s with C tracer ===' % platform.python_version())"
+    python -c "import platform, sys; print('=== Python %s with C tracer (%s) ===' % (platform.python_version(), sys.executable))"
     COVERAGE_TEST_TRACER=c nosetests $@
-    python -c "import platform; print('=== Python %s with Python tracer ===' % platform.python_version())"
+    python -c "import platform, sys; print('=== Python %s with Python tracer (%s) ===' % (platform.python_version(), sys.executable))"
     rm coverage/tracer*.so
     COVERAGE_TEST_TRACER=py nosetests $@
 done
+#!/usr/bin/env bash
+#
+# Create virtualenvs needed to test coverage.
+# Invoke with command args, a list of python installations to make virtualenvs
+# from.  COVERAGE_VE should point to the directory to hold them. For example:
+#
+#   COVERAGE_VE=../ve ./build_ve.sh /opt/python*
+#
+
+ve=${COVERAGE_VE:-../ve}
+
+echo "Constructing virtualenvs in $ve"
+
+rm -rf $ve
+mkdir $ve
+
+for p in $*
+do
+    echo --- $p -------------------------
+    if [ -f $p/bin/python ]; then
+        suff=
+    elif [ -f $p/bin/python3 ]; then
+        suff=3
+    else
+        echo "*** There's no Python in $p"
+        exit
+    fi
+
+    # Figure out what version we are
+    ver=`$p/bin/python$suff -c "import sys; print('%s%s' % sys.version_info[:2])"`
+    echo The version is $ver
+
+    # Make the virtualenv
+    $p/bin/virtualenv$suff $ve/$ver
+
+    # Activate the virtualenv
+    source $ve/$ver/bin/activate
+
+    # Install nose
+    easy_install nose
+
+    # Write the .pth file that lets us import our test zips.
+    libdir=`echo $ve/$ver/lib/python*/site-packages/`
+    echo `pwd`/test/eggsrc/dist/covtestegg1-0.0.0-py2.6.egg > $libdir/coverage_test_egg.pth
+
+    # Install ourselves
+    python setup.py develop
+done