From 08ab423dbc826daf8542e61f0cc814845265d3d1 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Wed, 16 May 2018 21:45:56 -0400 Subject: [PATCH] Tests for workflow testing script. Workflow testing script added in https://github.com/galaxyproject/planemo/commit/b28e03739cf242dfe21e1d1da8ec0790fc1e1284. --- .travis.yml | 6 +++++- Makefile | 3 +++ scripts/test_workflow_tests.sh | 21 +++++++++++++++++++++ tox.ini | 7 ++++++- 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 scripts/test_workflow_tests.sh diff --git a/.travis.yml b/.travis.yml index baa90356c..86d3dde71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: python -sudo: false +sudo: true python: 2.7 env: global: @@ -18,6 +18,8 @@ env: - TOX_ENV=py34-gx-1801 - TOX_ENV=py34-gx-dev - TOX_ENV=py34-gx-1709 + - TOX_ENV=py27-gxwf-test-test PLANEMO_TEST_STYLE=docker_test + - TOX_ENV=py27-gxwf-test-test PLANEMO_TEST_STYLE=serve_and_test - TOX_ENV=py27-lint-docstrings install: @@ -26,6 +28,7 @@ install: matrix: allow_failures: - env: TOX_ENV=py27-lint-docstrings + - env: TOX_ENV=py27-gxwf-test-test PLANEMO_TEST_STYLE=docker_test script: tox -e $TOX_ENV @@ -34,3 +37,4 @@ after_success: services: - postgresql + - docker diff --git a/Makefile b/Makefile index 4c5c672bb..a06a8e4a0 100644 --- a/Makefile +++ b/Makefile @@ -81,6 +81,9 @@ test: ## run tests with the default Python (faster than tox) quick-test: ## run quickest tests with the default Python $(IN_VENV) PLANEMO_SKIP_SLOW_TESTS=1 PLANEMO_SKIP_GALAXY_TESTS=1 nosetests $(NOSE_TESTS) +gxwf-test-test: ## run test of workflow testing script + bash $(BUILD_SCRIPTS_DIR)/test_workflow_tests.sh + tox: ## run tests with tox in the specified ENV, defaults to py27 $(IN_VENV) tox -e $(ENV) -- $(ARGS) diff --git a/scripts/test_workflow_tests.sh b/scripts/test_workflow_tests.sh new file mode 100644 index 000000000..165a98307 --- /dev/null +++ b/scripts/test_workflow_tests.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Ensure working directory is planemo project. +SCRIPTS_DIRECTORY="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +PROJECT_DIRECTORY="${SCRIPTS_DIRECTORY}/.." + +TEMP_DIRECTORY=`mktemp -d 2>/dev/null || mktemp -d -t 'planemowftest'` +cp "$SCRIPTS_DIRECTORY/run_galaxy_workflow_tests.sh" "$TEMP_DIRECTORY" +cp "$PROJECT_DIRECTORY/tests/data/"wf4* "$TEMP_DIRECTORY" +cp "$PROJECT_DIRECTORY/tests/data/1.bed" "$TEMP_DIRECTORY" + +cd $PROJECT_DIRECTORY + +# Build Planemo wheel. +make dist + +# Test against wheel. +export PLANEMO_TARGET="$PROJECT_DIRECTORY/dist/planemo*whl" + +cd $TEMP_DIRECTORY +bash run_workflow_tests.sh "wf4-distro-tools.gxwf.yml" diff --git a/tox.ini b/tox.ini index ca2c5ab2b..b86808b19 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ # TODO: implement doc linting [tox] -envlist = py{27,34}-lint, py{27,34,35}-quick, py27-lint-imports, py27-lint-docstrings, py27-lint-readme, py27-lint-docs, py{27,34,35}, py{27,34,35}-gx-{master,dev,1801,1709,1705} +envlist = py{27,34}-lint, py{27,34,35}-quick, py27-lint-imports, py27-lint-docstrings, py27-lint-readme, py27-lint-docs, py{27,34,35}, py{27,34,35}-gx-{master,dev,1801,1709,1705}, py27-gxwf-test-test source_dir = planemo test_dir = tests @@ -64,3 +64,8 @@ whitelist_externals = make deps = -rrequirements.txt -rdev-requirements.txt + +[testenv:py27-gxwf-test-test] +commands = make gxwf-test-test +skip_install = True +whitelist_externals = make