25541f1ec5
Running the freeze command as posargs to tox targets is unreliable as those commands may be interpreted as arguments to other commands rather than as commands themselves. For example `tox -epy26 -- pbr freeze` is likely pass 'pbr freeze' as test name filters to the py26 test runner. Instead what we want is to run pbr/pip freeze directly out of the venv in question. Change-Id: Iefb8ae4e82dcd31306d03befdc9766f2c1291571
32 lines
927 B
Bash
Executable File
32 lines
927 B
Bash
Executable File
#!/bin/bash -xe
|
|
|
|
# If a bundle file is present, call tox with the jenkins version of
|
|
# the test environment so it is used. Otherwise, use the normal
|
|
# (non-bundle) test environment. Also, run pbr freeze on the
|
|
# resulting environment at the end so that we have a record of exactly
|
|
# what packages we ended up testing.
|
|
#
|
|
|
|
venv=venv
|
|
|
|
VDISPLAY=99
|
|
DIMENSIONS='1280x1024x24'
|
|
/usr/bin/Xvfb :${VDISPLAY} -screen 0 ${DIMENSIONS} 2>&1 > /dev/null &
|
|
|
|
set +e
|
|
DISPLAY=:${VDISPLAY} NOSE_WITH_XUNIT=1 tox -e$venv -- \
|
|
/bin/bash run_tests.sh -N --only-selenium
|
|
result=$?
|
|
|
|
pkill Xvfb 2>&1 > /dev/null
|
|
set -e
|
|
|
|
[ -e .tox/$venv/bin/pbr ] && freezecmd=pbr || freezecmd=pip
|
|
|
|
echo "Begin $freezecmd freeze output from test virtualenv:"
|
|
echo "======================================================================"
|
|
.tox/${venv}/bin/${freezecmd} freeze
|
|
echo "======================================================================"
|
|
|
|
exit $result
|