From 6514ff54a9110bd028e1d9dbde0c5849dfd10a11 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Wed, 11 Nov 2015 21:14:25 +0000 Subject: [PATCH] Add script to test a planemo wheel. Test wheel directly in isolation by installing it into its own virtualenv and copying test data and required files out into a temp directory. Progress toward issue #184. --- scripts/test_wheel.bash | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 scripts/test_wheel.bash diff --git a/scripts/test_wheel.bash b/scripts/test_wheel.bash new file mode 100755 index 000000000..183bdc6eb --- /dev/null +++ b/scripts/test_wheel.bash @@ -0,0 +1,29 @@ +#!/bin/bash + +## TODO: fail if virtualenv is not located. + +set -e + +VERSION=$1 + +# Ensure working directory is planemo project. +SCRIPTS_DIRECTORY="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +PROJECT_DIRECTORY="${SCRIPTS_DIRECTORY}/.." +DIST_DIRECTORY="${PROJECT_DIRECTORY}/dist" +WHEEL_FILE="${DIST_DIRECTORY}/planemo-$VERSION-py2.py3-none-any.whl" +DEV_REQUIREMENTS="${PROJECT_DIRECTORY}/dev-requirements.txt" + +cd $PROJECT_DIRECTORY + + +WORKING_DIRECTORY=`mktemp -d -t planemotestXXXXXX` +cp -r "$PROJECT_DIRECTORY"/{.coveragerc,setup.cfg,tests,project_templates} "$WORKING_DIRECTORY" + +cd "$WORKING_DIRECTORY" +VIRTUALENV_DIRECTORY="$WORKING_DIRECTORY/venv" +virtualenv "$VIRTUALENV_DIRECTORY" +. "$VIRTUALENV_DIRECTORY/bin/activate" +pip install "${WHEEL_FILE}" +pip install -r "${DEV_REQUIREMENTS}" + +nosetests tests