Self test script for running CWL conformance tests on arvados-cwl-runner
authorPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 4 Mar 2016 16:02:44 +0000 (11:02 -0500)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 4 Mar 2016 16:10:43 +0000 (11:10 -0500)
against Arvados arvbox instance. refs #8558

sdk/cwl/test_with_arvbox.sh [new file with mode: 0755]

diff --git a/sdk/cwl/test_with_arvbox.sh b/sdk/cwl/test_with_arvbox.sh
new file mode 100755 (executable)
index 0000000..83ba66b
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+if ! which arvbox >/dev/null ; then
+    export PATH=$PATH:$(readlink -f $(dirname $0)/../../tools/arvbox/bin)
+fi
+
+reset_container=1
+leave_running=0
+
+while test -n "$1" ; do
+    arg="$1"; shift
+    case "$arg" in
+        --no-reset-container)
+            reset_container=0
+            ;;
+        --leave-running)
+            leave_running=1
+            ;;
+        *)
+            break
+            ;;
+    esac
+done
+
+if test -z "$ARVBOX_CONTAINER" ; then
+   export ARVBOX_CONTAINER=cwltest
+fi
+
+if test $reset_container = 1 ; then
+    arvbox reset -f
+    arvbox build dev
+fi
+
+arvbox start dev
+
+arvbox pipe <<EOF
+set -e
+
+cd /usr/src/arvados/sdk/cwl
+python setup.py sdist
+pip_install \$(ls dist/arvados-cwl-runner-*.tar.gz | tail -n1)
+
+mkdir -p /tmp/cwltest
+cd /tmp/cwltest
+if ! test -d common-workflow-language ; then
+  git clone https://github.com/common-workflow-language/common-workflow-language.git
+fi
+cd common-workflow-language
+git pull
+export ARVADOS_API_HOST=localhost:8000
+export ARVADOS_API_HOST_INSECURE=1
+export ARVADOS_API_TOKEN=\$(cat /var/lib/arvados/superuser_token)
+env
+exec ./run_test.sh "$@"
+EOF
+
+CODE=$?
+
+if test $leave_running = 0 ; then
+    arvbox stop
+fi
+
+exit $CODE