rcutorture: Handle non-statistic bang-string error messages
authorPaul E. McKenney <paulmck@kernel.org>
Sun, 26 Apr 2020 23:51:56 +0000 (16:51 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 29 Jun 2020 19:01:44 +0000 (12:01 -0700)
The current console parsing assumes that console lines containing "!!!"
are statistics lines from which it can parse the number of rcutorture
too-short grace-period failures.  This prints confusing output for
other problems, including memory exhaustion.  This commit therefore
differentiates between these cases and prints an appropriate error string.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
tools/testing/selftests/rcutorture/bin/parse-console.sh

index 4bf62d7..1c64ca8 100755 (executable)
@@ -44,11 +44,23 @@ then
                tail -1 |
                awk '
                {
-                       for (i=NF-8;i<=NF;i++)
+                       normalexit = 1;
+                       for (i=NF-8;i<=NF;i++) {
+                               if (i <= 0 || i !~ /^[0-9]*$/) {
+                                       bangstring = $0;
+                                       gsub(/^\[[^]]*] /, "", bangstring);
+                                       print bangstring;
+                                       normalexit = 0;
+                                       exit 0;
+                               }
                                sum+=$i;
+                       }
                }
-               END { print sum }'`
-               print_bug $title FAILURE, $nerrs instances
+               END {
+                       if (normalexit)
+                               print sum " instances"
+               }'`
+               print_bug $title FAILURE, $nerrs
                exit
        fi