Bugfix for CWL conformance test script, refs #8558
[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"
12     case "$arg" in
13         --no-reset-container)
14             reset_container=0
15             shift;
16             ;;
17         --leave-running)
18             leave_running=1
19             shift;
20             ;;
21         -*)
22             break
23             ;;
24     esac
25 done
26
27 if test -z "$ARVBOX_CONTAINER" ; then
28    export ARVBOX_CONTAINER=cwltest
29 fi
30
31 if test $reset_container = 1 ; then
32     arvbox reset -f
33     arvbox build dev
34 fi
35
36 arvbox start dev
37
38 arvbox pipe <<EOF
39 set -eu -o pipefail
40
41 . /usr/local/lib/arvbox/common.sh
42
43 cd /usr/src/arvados/sdk/cwl
44 python setup.py sdist
45 pip_install \$(ls dist/arvados-cwl-runner-*.tar.gz | tail -n1)
46
47 mkdir -p /tmp/cwltest
48 cd /tmp/cwltest
49 if ! test -d common-workflow-language ; then
50   git clone https://github.com/common-workflow-language/common-workflow-language.git
51 fi
52 cd common-workflow-language
53 git pull
54 export ARVADOS_API_HOST=localhost:8000
55 export ARVADOS_API_HOST_INSECURE=1
56 export ARVADOS_API_TOKEN=\$(cat /var/lib/arvados/superuser_token)
57 env
58 exec ./run_test.sh "$@"
59 EOF
60
61 CODE=$?
62
63 if test $leave_running = 0 ; then
64     arvbox stop
65 fi
66
67 exit $CODE