Self test script for running CWL conformance tests on arvados-cwl-runner
[arvados.git] / sdk / cwl / test_with_arvbox.sh
1 #!/bin/sh
2
3 if ! which arvbox >/dev/null ; then
4     export PATH=$PATH:$(readlink -f $(dirname $0)/../../tools/arvbox/bin)
5 fi
6
7 reset_container=1
8 leave_running=0
9
10 while test -n "$1" ; do
11     arg="$1"; shift
12     case "$arg" in
13         --no-reset-container)
14             reset_container=0
15             ;;
16         --leave-running)
17             leave_running=1
18             ;;
19         *)
20             break
21             ;;
22     esac
23 done
24
25 if test -z "$ARVBOX_CONTAINER" ; then
26    export ARVBOX_CONTAINER=cwltest
27 fi
28
29 if test $reset_container = 1 ; then
30     arvbox reset -f
31     arvbox build dev
32 fi
33
34 arvbox start dev
35
36 arvbox pipe <<EOF
37 set -e
38
39 cd /usr/src/arvados/sdk/cwl
40 python setup.py sdist
41 pip_install \$(ls dist/arvados-cwl-runner-*.tar.gz | tail -n1)
42
43 mkdir -p /tmp/cwltest
44 cd /tmp/cwltest
45 if ! test -d common-workflow-language ; then
46   git clone https://github.com/common-workflow-language/common-workflow-language.git
47 fi
48 cd common-workflow-language
49 git pull
50 export ARVADOS_API_HOST=localhost:8000
51 export ARVADOS_API_HOST_INSECURE=1
52 export ARVADOS_API_TOKEN=\$(cat /var/lib/arvados/superuser_token)
53 env
54 exec ./run_test.sh "$@"
55 EOF
56
57 CODE=$?
58
59 if test $leave_running = 0 ; then
60     arvbox stop
61 fi
62
63 exit $CODE