Whamcloud - gitweb
66596ae37b184cab6adb4b4b46e8cc53a3f2eafe
[fs/lustre-release.git] / lustre / tests / racer.sh
1 #!/bin/bash
2 #set -vx
3 set -e
4
5 ONLY=${ONLY:-"$*"}
6 LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
7 . $LUSTRE/tests/test-framework.sh
8 init_test_env $@
9 . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
10 init_logging
11
12 racer=$LUSTRE/tests/racer/racer.sh
13 echo racer: $racer
14
15 CLIENTS=${CLIENTS:-$HOSTNAME}
16 RACERDIRS=${RACERDIRS:-$DIR}
17 echo RACERDIRS=$RACERDIRS
18 for d in ${RACERDIRS}; do
19         RDIRS="$RDIRS $d/racer"
20         mkdir -p $d/racer
21 #       lfs setstripe $d/racer -c -1
22 done
23
24 DURATION=${DURATION:-900}
25 [ "$SLOW" = "no" ] && DURATION=300
26
27 build_test_filter
28 check_and_setup_lustre
29
30 # run racer
31 test_1() {
32     local rrc=0
33     local rc=0
34     local clients=${CLIENTS:-$(hostname)}
35
36     check_progs_installed $clients $racer || \
37         { skip_env "$racer not found" && return 0; }
38
39     local rpids=""
40     for rdir in $RDIRS; do
41         do_nodes $clients "DURATION=$DURATION $racer $rdir $NUM_RACER_THREADS" &
42         pid=$!
43         rpids="$rpids $pid"
44     done
45
46     echo racers pids: $rpids
47     for pid in $rpids; do
48         wait $pid
49         rc=$?
50         echo "pid=$pid rc=$rc"
51         if [ $rc != 0 ]; then
52             rrc=$((rrc + 1))
53         fi
54     done
55
56     return $rrc
57 }
58 run_test 1 "racer on clients: ${CLIENTS:-$(hostname)} DURATION=$DURATION"
59
60 complete $(basename $0) $SECONDS
61 check_and_cleanup_lustre
62 exit_status