9442: Override kwargs["outdir"] so that $(runtime.outdir) is set correctly.
[arvados.git] / sdk / cwl / test_with_arvbox.sh
index 0fda2b846130a19c715c76b1e916dc3c1a2cd109..5501e2964557fa5346d32ab798aa3e4a2381abb8 100755 (executable)
@@ -6,19 +6,33 @@ fi
 
 reset_container=1
 leave_running=0
+config=dev
+docker_pull=1
 
 while test -n "$1" ; do
     arg="$1"
     case "$arg" in
         --no-reset-container)
             reset_container=0
-            shift;
+            shift
             ;;
         --leave-running)
             leave_running=1
-            shift;
+            shift
             ;;
-        -*)
+        --config)
+            config=$2
+            shift ; shift
+            ;;
+        --no-docker-pull)
+            docker_pull=0
+            shift
+            ;;
+        -h|--help)
+            echo "$0 [--no-reset-container] [--leave-running] [--no-docker-pull] [--config dev|localdemo]"
+            exit
+            ;;
+        *)
             break
             ;;
     esac
@@ -30,10 +44,9 @@ fi
 
 if test $reset_container = 1 ; then
     arvbox reset -f
-    arvbox build dev
 fi
 
-arvbox start dev
+arvbox start $config
 
 arvbox pipe <<EOF
 set -eu -o pipefail
@@ -42,7 +55,7 @@ set -eu -o pipefail
 
 cd /usr/src/arvados/sdk/cwl
 python setup.py sdist
-pip_install \$(ls dist/arvados-cwl-runner-*.tar.gz | tail -n1)
+pip_install \$(ls -r dist/arvados-cwl-runner-*.tar.gz | head -n1)
 
 mkdir -p /tmp/cwltest
 cd /tmp/cwltest
@@ -54,8 +67,25 @@ git pull
 export ARVADOS_API_HOST=localhost:8000
 export ARVADOS_API_HOST_INSECURE=1
 export ARVADOS_API_TOKEN=\$(cat /var/lib/arvados/superuser_token)
+
+if test $docker_pull = 1 ; then
+  arv-keepdocker --pull arvados/jobs
+fi
+
+cat >/tmp/cwltest/arv-cwl-jobs <<EOF2
+#!/bin/sh
+exec arvados-cwl-runner --api=jobs \\\$@
+EOF2
+chmod +x /tmp/cwltest/arv-cwl-jobs
+
+cat >/tmp/cwltest/arv-cwl-containers <<EOF2
+#!/bin/sh
+exec arvados-cwl-runner --api=containers \\\$@
+EOF2
+chmod +x /tmp/cwltest/arv-cwl-containers
+
 env
-exec ./run_test.sh "$@"
+exec ./run_test.sh $@
 EOF
 
 CODE=$?