rcutorture: Handle multiple runs of the same test
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 17 Jan 2014 11:29:12 +0000 (03:29 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 18 Feb 2014 20:26:46 +0000 (12:26 -0800)
This commit fixes handling numbering of multiple runs of the same test
so as to disambiguate output.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
tools/testing/selftests/rcutorture/bin/kvm.sh

index 9fab7c8..ad3779c 100644 (file)
@@ -238,42 +238,39 @@ function dump(first, pastlast)
        jn=1
        for (j = first; j < pastlast; j++) {
                builddir=KVM "/b" jn
-               print "echo ", cf[j], cpus[j] ": Starting build."
-               print "rm -f " builddir ".*"
-               print "touch " builddir ".wait"
-               print "mkdir " builddir " > /dev/null 2>&1 || :"
+               cpusr[jn] = cpus[j];
                if (cfrep[cf[j]] == "") {
-                       cfr[j] = cf[j];
+                       cfr[jn] = cf[j];
                        cfrep[cf[j]] = 1;
                } else {
                        cfrep[cf[j]]++;
-                       cfr[j] = cf[j] "." cfrep[cf[j]];
+                       cfr[jn] = cf[j] "." cfrep[cf[j]];
                }
-               print "mkdir " rd cfr[j] " || :";
-               print "kvm-test-1-rcu.sh " CONFIGDIR cf[j], builddir, rd cfr[j], dur " \"" RCU_QEMU_ARG "\" \"" RCU_BOOTARGS "\" > " builddir ".out 2>&1 &"
-               print "echo ", cf[j], cpus[j] ": Waiting for build to complete."
+               print "echo ", cfr[jn], cpusr[jn] ": Starting build.";
+               print "rm -f " builddir ".*";
+               print "touch " builddir ".wait";
+               print "mkdir " builddir " > /dev/null 2>&1 || :";
+               print "mkdir " rd cfr[jn] " || :";
+               print "kvm-test-1-rcu.sh " CONFIGDIR cf[j], builddir, rd cfr[jn], dur " \"" RCU_QEMU_ARG "\" \"" RCU_BOOTARGS "\" > " builddir ".out 2>&1 &"
+               print "echo ", cfr[jn], cpusr[jn] ": Waiting for build to complete."
                print "while test -f " builddir ".wait"
                print "do"
                print "\tsleep 1"
                print "done"
-               print "echo ", cf[j], cpus[j] ": Build complete."
+               print "echo ", cfr[jn], cpusr[jn] ": Build complete."
                jn++;
        }
-       k = first
        for (j = 1; j < jn; j++) {
                builddir=KVM "/b" j
                print "rm -f " builddir ".ready"
-               print "echo ----", cf[k], cpus[k] ": Starting kernel"
-               k++;
+               print "echo ----", cfr[j], cpusr[j] ": Starting kernel"
        }
        print "wait"
        print "echo ---- All kernel runs complete"
-       k = first
        for (j = 1; j < jn; j++) {
                builddir=KVM "/b" j
-               print "echo ----", cf[k], cpus[k] ": Build/run results:"
+               print "echo ----", cfr[j], cpusr[j] ": Build/run results:"
                print "cat " builddir ".out"
-               k++;
        }
 }