From: Samuel Just Date: Thu, 17 Mar 2016 18:51:56 +0000 (-0700) Subject: qa/workunits/rados/test.sh: check subprocess return values X-Git-Tag: v10.1.1~142^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=926f8ed77b8bf5e7f559cb145fd94e784753c48d;p=ceph.git qa/workunits/rados/test.sh: check subprocess return values Fixes: #15165 Signed-off-by: Samuel Just --- diff --git a/qa/workunits/rados/test.sh b/qa/workunits/rados/test.sh index 5188a5f57869..fbc3797651e7 100755 --- a/qa/workunits/rados/test.sh +++ b/qa/workunits/rados/test.sh @@ -11,6 +11,7 @@ function cleanup() { } trap cleanup EXIT ERR HUP INT QUIT +pids="" for f in \ api_aio api_io api_list api_lock api_misc \ api_tier api_pool api_snapshots api_stat api_watch_notify api_cmd \ @@ -24,13 +25,25 @@ for f in \ do if [ $parallel -eq 1 ]; then r=`printf '%25s' $f` - ceph_test_rados_$f $color 2>&1 | \ - tee ceph_test_rados_$f.log | \ - sed "s/^/$r: /" & + bash -o pipefail -exc "ceph_test_rados_$f $color 2>&1 | tee ceph_test_rados_$f.log | sed \"s/^/$r: /\"" & + pid=$! + echo "test $f on pid $pid" + pids="$pids $pid" else ceph_test_rados_$f fi done -wait -exit 0 +ret=0 +if [ $parallel -eq 1 ]; then +for p in $pids +do + if ! wait $p + then + echo "error in $p" + ret=1 + fi +done +fi + +exit $ret