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