Whamcloud - gitweb
LU-7372 mgs: reprocess all locks at device fini
[fs/lustre-release.git] / lustre / tests / rundbench
index d4d6963..11f6191 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
 . $LUSTRE/tests/test-framework.sh
@@ -29,7 +29,7 @@ CLIENT_PREFIX="${DBENCH_LIB} /usr/share/dbench /usr/local/share /usr/lib/dbench"
 CLIENT_FILE="client.txt client_plain.txt dbench_client"
 if ! which dbench > /dev/null 2>&1 ; then
     [ "$MISSING_DBENCH_OK" ] || { error "$0 : $(hostname) dbench is not installed !" && exit 3; }
-    skip "$0 : $(hostname) dbench is not installed"
+    skip_env "$0 : $(hostname) dbench is not installed"
     exit 0
 fi
 CLIENT=""
@@ -44,13 +44,13 @@ for prefix in $CLIENT_PREFIX; do
        [ "x$CLIENT" != "x" ] && break;
 done
 
-if [ -n "$SRC" -a -s "$SRC" ]; then
-       CLIENT=${SRC}
+if [ -n "$DBENCH_SRC" -a -s "$DBENCH_SRC" ]; then
+    CLIENT=$DBENCH_SRC
 fi
 
-[ ! -s "$CLIENT" ] && \
-    skip "$0 : $(hostname) no client file found for dbench DBENCH_LIB=$DBENCH_LIB SRC=$SRC" && \
-        exit 0 
+[ ! -s "$CLIENT" ] &&
+    skip_env "$0: no client file found for dbench on $(hostname): "\
+             "DBENCH_LIB=$DBENCH_LIB DBENCH_SRC=$DBENCH_SRC" && exit 0
 
 [ ! -s "$TGT" ] && echo "copying $CLIENT to $TGT" && cp $CLIENT $TGT
 [ ! -s "$TGT" ] && \
@@ -59,7 +59,9 @@ fi
 if [ "x$CHROOT" == "xyes" ]; then
        echo "copying necessary libs to $DIR"
        cp `which dbench` $DIR
-       LIBS71=$(ldd $DIR/dbench|sed -e 's/\t*//' -e 's/.*=> //' -e 's/ .*//' -e 's/^\///')
+       LIBS71=$(ldd $DIR/dbench |
+               sed -e 's/\t*//' -e 's/.*=> //' -e 's/ .*//' -e 's/^\///' |
+               grep -v 'linux-vdso.so.1')
        tar -C / -chf - $LIBS71 | tar -C $DIR -xvf -
        if [ "${PIPESTATUS[*]}" != "0 0" ]; then
                echo "can't copy libs $LIBS71 to $DIR"
@@ -80,6 +82,10 @@ rm -rf dbench $LIBS71 client.txt
 exit 0
 ' TERM
 
+# turn off errexit. rundbench will return error code on failure
+trap '' ERR
+set +e
+
 cd $DIR
 echo "running 'dbench $@' $PREFIX $PWD at `date`"