set -e
if [ -n "$REPO" -a -n "$BRANCH" ]; then
git remote rm proposed || true
git gc --auto
git remote add proposed "$REPO"
git fetch proposed
git checkout origin/master
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git merge --no-ff "proposed/$BRANCH" -m "Merge PR"
echo "Running tests for branch $BRANCH of repo $REPO"
echo "Last commits:"
git log -2
fi
DATE=`date +%Y%m%d`
HASH=`sha1sum requirements.txt | awk '{print $1}'`
if [ ! -d pagureenv-$DATE-$HASH ];
then
rm -rf pagureenv*;
virtualenv pagureenv-$DATE-$HASH --system-site-packages
source pagureenv-$DATE-$HASH/bin/activate
pip install pip --upgrade
# Needed within the venv
pip install nose --upgrade
pip install --upgrade --force-reinstall python-fedora 'setuptools>=17.1' pygments
pip install -r tests_requirements.txt
pip install -r requirements-ev.txt # We have one test on the SSE server
sed -i -e 's|pygit2 >= 0.20.1||' requirements.txt
pip install -r requirements.txt
pip install psycopg2
pip install python-openid python-openid-teams python-openid-cla
pip uninstall cffi -y
else
source pagureenv-$DATE-$HASH/bin/activate
fi
trap deactivate SIGINT SIGTERM EXIT
# Reload where the nosetests app is (within the venv)
hash -r
python setup.py build
PAGURE_CONFIG=`pwd`/tests/test_config \
PYTHONPATH=pagure \
./nosetests -v --with-xcoverage --cover-erase --cover-package=pagure
set +e
PYTHONPATH=pagure pylint -f parseable pagure | tee pylint.out
pep8 pagure/*.py pagure/*/*.py | tee pep8.out