From 8a7654452eb8a0fdd48949bd03ab5bcbdfa36fef Mon Sep 17 00:00:00 2001
From: grev <grev>
Date: Fri, 14 Nov 2008 19:20:44 +0000
Subject: [PATCH] b=16488 i=Oleg.Drokin RACER accs-m test suit

---
 lustre/tests/Makefile.am         |  1 +
 lustre/tests/acceptance-small.sh | 17 +++++++++++++++--
 lustre/tests/racer/racer.sh      |  8 ++------
 lustre/tests/test-framework.sh   |  9 ++++++---
 4 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/lustre/tests/Makefile.am b/lustre/tests/Makefile.am
index 944bc9b542..ebda53fcd6 100644
--- a/lustre/tests/Makefile.am
+++ b/lustre/tests/Makefile.am
@@ -11,6 +11,7 @@ noinst_SCRIPTS += sanity.sh rundbench acceptance-small.sh compile.sh
 noinst_SCRIPTS += conf-sanity.sh insanity.sh lfscktest.sh oos.sh oos2.sh
 noinst_SCRIPTS += llog-test.sh recovery-small.sh replay-dual.sh sanity-quota.sh
 noinst_SCRIPTS += replay-ost-single.sh replay-single.sh run-llog.sh sanityN.sh
+noinst_SCRIPTS += runracer
 noinst_SCRIPTS += performance-sanity.sh mdsrate-create-small.sh
 noinst_SCRIPTS += mdsrate-create-large.sh mdsrate-lookup-1dir.sh
 noinst_SCRIPTS += mdsrate-stat-small.sh mdsrate-stat-large.sh
diff --git a/lustre/tests/acceptance-small.sh b/lustre/tests/acceptance-small.sh
index 4ab055c24e..90cca7c983 100755
--- a/lustre/tests/acceptance-small.sh
+++ b/lustre/tests/acceptance-small.sh
@@ -23,7 +23,7 @@ fi
 [ "$DEBUG_OFF" ] || DEBUG_OFF="eval lctl set_param debug=\"$DEBUG_LVL\""
 [ "$DEBUG_ON" ] || DEBUG_ON="eval lctl set_param debug=0x33f0484"
 
-export TESTSUITE_LIST="RUNTESTS SANITY DBENCH BONNIE IOZONE FSX SANITYN LFSCK LIBLUSTRE REPLAY_SINGLE CONF_SANITY RECOVERY_SMALL REPLAY_OST_SINGLE REPLAY_DUAL INSANITY SANITY_QUOTA SANITY_SEC SANITY_GSS PERFORMANCE_SANITY"
+export TESTSUITE_LIST="RUNTESTS SANITY DBENCH BONNIE IOZONE FSX SANITYN LFSCK LIBLUSTRE RACER REPLAY_SINGLE CONF_SANITY RECOVERY_SMALL REPLAY_OST_SINGLE REPLAY_DUAL INSANITY SANITY_QUOTA SANITY_SEC SANITY_GSS PERFORMANCE_SANITY"
 
 if [ "$ACC_SM_ONLY" ]; then
     for O in $TESTSUITE_LIST; do
@@ -333,7 +333,20 @@ for NAME in $CONFIGS; do
 		LIBLUSTRE="done"
 	fi
 
-	$CLEANUP
+	[ "$RACER" != "no" ] && [ -n "$CLIENTS" -a "$PDSH" = "no_dsh" ] && log "Remote client with no_dsh" && RACER=no 
+	if [ "$RACER" != "no" ]; then
+        	title racer
+		setup_if_needed
+		DURATION=${DURATION:-900}
+		[ "$SLOW" = "no" ] && DURATION=300
+		RACERCLIENTS=$HOSTNAME
+		[ ! -z ${CLIENTS} ] && RACERCLIENTS=$CLIENTS
+		log "racer on clients: $RACERCLIENTS DURATION=$DURATION"
+		CLIENTS=${RACERCLIENTS} DURATION=$DURATION bash runracer
+		$CLEANUP
+		$SETUP
+		RACER="done"
+	fi
 done
 
 [ "$REPLAY_SINGLE" != "no" ] && skip_remmds replay-single && REPLAY_SINGLE=no && MSKIPPED=1
diff --git a/lustre/tests/racer/racer.sh b/lustre/tests/racer/racer.sh
index c1f8b9970f..645e349e63 100755
--- a/lustre/tests/racer/racer.sh
+++ b/lustre/tests/racer/racer.sh
@@ -3,16 +3,12 @@
 MAX_FILES=${MAX_FILES:-20}
 DIR=${DIR:-$1}
 DIR=${DIR:-"/mnt/lustre/racer"}
-if ! [ -d "$DIR" -o -d "`basename $DIR`" ]; then
-	echo "$0: '$DIR' and '`basename $DIR`' are not directories"
-	exit 1
-fi
 DURATION=${DURATION:-$((60*5))}
 
 NUM_THREADS=${NUM_THREADS:-$2}
 NUM_THREADS=${NUM_THREADS:-3}
 
-[ -e $DIR ] || mkdir $DIR
+mkdir -p $DIR
 
 racer_cleanup()
 {
@@ -32,7 +28,7 @@ trap "
     echo \"Cleaning up\" 
     racer_cleanup
     exit 0
-" 2
+" 2 15
 
 cd `dirname $0`
 for N in `seq 1 $NUM_THREADS`; do
diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh
index f1616c2ad9..b713dd7487 100644
--- a/lustre/tests/test-framework.sh
+++ b/lustre/tests/test-framework.sh
@@ -98,7 +98,10 @@ init_test_env() {
 	export PATH=$PATH:$LUSTRE/tests
     fi
     export MDSRATE=${MDSRATE:-"$LUSTRE/tests/mdsrate"}
-    [ ! -f "$MDSRATE" ] && export MDSRATE=$(which mdsrate)
+    [ ! -f "$MDSRATE" ] && export MDSRATE=$(which mdsrate 2> /dev/null)
+    if ! echo $PATH | grep -q $LUSTRE/test/racer; then
+        export PATH=$PATH:$LUSTRE/tests/racer
+    fi
     export LCTL=${LCTL:-"$LUSTRE/utils/lctl"}
     [ ! -f "$LCTL" ] && export LCTL=$(which lctl)
     export LFS=${LFS:-"$LUSTRE/utils/lfs"}
@@ -697,8 +700,8 @@ wait_remote_prog () {
    [ "$PDSH" = "no_dsh" ] && return 0
 
    while [ $WAIT -lt $2 ]; do
-        running=$(ps uax | grep "$PDSH.*$prog.*$MOUNT" | grep -v grep)
-        [ -z "${running}" ] && return 0
+        running=$(ps uax | grep "$PDSH.*$prog.*$MOUNT" | grep -v grep) || true
+        [ -z "${running}" ] && return 0 || true
         echo "waited $WAIT for: "
         echo "$running"
         [ $INTERVAL -lt 60 ] && INTERVAL=$((INTERVAL + INTERVAL))
-- 
GitLab