summaryrefslogtreecommitdiff
path: root/build_ve.sh
blob: 4833e93da0766745bbbc673ab87af4d41192e0a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/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 $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