4 MAX_FILES=${MAX_FILES:-20}
6 DIR=${DIR:-"/mnt/lustre/racer"}
7 DURATION=${DURATION:-$((60*5))}
9 NUM_THREADS=${NUM_THREADS:-$2}
10 NUM_THREADS=${NUM_THREADS:-3}
14 RACER_PROGS="file_create dir_create file_rm file_rename file_link file_symlink \
15 file_list file_concat file_exec"
20 for P in $RACER_PROGS; do
26 local MAX_WAIT=$DURATION
30 while [[ $TOT_WAIT -le $MAX_WAIT ]]; do
32 echo sleeping $SHORT_WAIT sec ...
34 # this only checks whether processes exist
35 for P in $RACER_PROGS; do
37 [[ $? -eq 0 ]] && (( rc+=1 ))
39 if [[ $rc -eq 0 ]]; then
40 echo there should be NO racer processes:
41 ps aux | grep -E "${RACER_PROGS// /|}"
44 echo -n "Waited $(( TOT_WAIT + SHORT_WAIT)), rc=$rc "
45 (( SHORT_WAIT+=SHORT_WAIT ))
46 (( TOT_WAIT+=SHORT_WAIT ))
48 ps aux | grep -E "${RACER_PROGS// /|}"
54 echo "Running $0 for $DURATION seconds. CTRL-C to exit"
62 for N in `seq 1 $NUM_THREADS`; do
63 for P in $RACER_PROGS; do
64 ./$P.sh $DIR $MAX_FILES &
69 racer_cleanup || RC=$?
71 # Check our to see whether our test DIR is still available.
74 if [ $RC -eq 0 ]; then
75 echo "We survived $0 for $DURATION seconds."