Minor updates to qa/bench infrastructure.
[xfstests-dev.git] / bench
diff --git a/bench b/bench
index 7cf0ecf7e82576c3b7bee877bb5073431e27cb49..228e13db285851e8ddf0b10f68a0ed2abc6b2bc8 100755 (executable)
--- a/bench
+++ b/bench
@@ -133,11 +133,11 @@ _run_benchmark()
 
 _merge_results()
 {
-    echo Results for $bench benchmark >>$OUT
+    echo Results for $bench benchmark
     headers=`$here/run.$bench -h`
-    echo "[$headers]" >>$OUT
-    echo results.$bench.* | sort -nu | xargs cat >>$OUT
-    echo >>$OUT
+    echo "[$headers]"
+    echo results.$bench.* | sort -nu | xargs cat
+    echo
 }
 
 # real QA test starts here
@@ -150,20 +150,27 @@ fi
 passes=$1
 user=$2
 group=$3
+shift; shift; shift
 
-benches=`echo run.* | sed -e 's/run\.//g'`
-[ $# -gt 3 ] && benches=$4
+if [ $# -gt 0 ]; then
+       benches="$@"
+else
+       benches=`echo run.* | sed -e 's/run\.//g'`
+fi
 [ -z "$benches" -o "$benches" = "*" ] && _fail "no benchmark scripts found"
 
 trap "_cleanup; exit \$status" 0 1 2 3 15
 
 _require_scratch
+rm -f bench.*
 
-echo "MKFS_OPTIONS=$MKFS_OPTIONS" >>$OUT
-echo "MOUNT_OPTIONS=$MOUNT_OPTIONS" >>$OUT
-echo "" >>$OUT
+# $OUT is the report which will ultimately be sent, keep it tidy.
+cat >$OUT <<EOF
+bench: MKFS_OPTIONS=$MKFS_OPTIONS
+bench: MOUNT_OPTIONS=$MOUNT_OPTIONS
+
+EOF
 
-rm -f bench.*
 for bench in $benches
 do
     echo "" >$FULL
@@ -171,12 +178,12 @@ do
     _log "*** benchmark started [passes=$passes, benchmark=$bench]"
     _log "*** (`date`)"
     _log "*** MKFS_OPTIONS=$MKFS_OPTIONS"
-    _log "*** MOUNT_OPTIONS=$MOUNT_OPTIONS
+    _log "*** MOUNT_OPTIONS=$MOUNT_OPTIONS"
     _log "        *** unmounting scratch device"
     umount $SCRATCH_DEV 2>&1 | _fix_malloc >>$FULL
 
     _run_benchmark | _fix_malloc
-    _merge_results
+    _merge_results >>$OUT
 
     _log "*** done $bench"
 done