rcutorture: Record results from repeated runs of the same test scenario
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 19 Oct 2013 13:28:21 +0000 (06:28 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 3 Dec 2013 18:11:18 +0000 (10:11 -0800)
Repeatedly running a given test, for example, by repeating the name
as in "--configs "TREE08 TREE08 TREE08" records the results only of
the last run of this test.  This is because the earlier results are
overwritten by the later results.

This commit therefore checks for earlier results, using numbered
file extensions to distinguish multiple runs.  The earlier example
would therefore create directories TREE01, TREE01.2, and TREE01.3.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
tools/testing/selftests/rcutorture/bin/kvm.sh

index b8d278904deeac432d955787b65358b1a50d4072..0783ec9c583eaa6c609cc6f8070f6a7ba0aa1f8a 100644 (file)
@@ -204,8 +204,22 @@ fi
 
 for CF in $configs
 do
+       # Running TREE01 multiple times creates TREE01, TREE01.2, TREE01.3, ...
        rd=$resdir/$ds/$CF
-       mkdir $rd || :
+       if test -d "${rd}"
+       then
+               n="`ls -d "${rd}"* | grep '\.[0-9]\+$' |
+                       sed -e 's/^.*\.\([0-9]\+\)/\1/' |
+                       sort -k1n | tail -1`"
+               if test -z "$n"
+               then
+                       rd="${rd}.2"
+               else
+                       n="`expr $n + 1`"
+                       rd="${rd}.${n}"
+               fi
+       fi
+       mkdir "${rd}"
        echo Results directory: $rd
        kvm-test-1-rcu.sh $CONFIGFRAG/$kversion/$CF $builddir $rd $dur "-nographic $RCU_QEMU_ARG" "rcutorture.test_no_idle_hz=1 rcutorture.verbose=1 $RCU_BOOTARGS"
 done