ktest.pl: Change the logic to control the size of the log file emailed
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 2 Jul 2020 13:56:15 +0000 (09:56 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Mon, 10 Aug 2020 18:21:09 +0000 (14:21 -0400)
If the log file for a given test is larger than the max size given then use
set the seek from the end of the log file instead of from the start of the
test.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
tools/testing/ktest/ktest.pl

index 36db5b0b36475b972e21559572eefb0d4fdc0432..9363a5b273398d1fe03230c98f5ed60d09a02f9f 100755 (executable)
@@ -1499,18 +1499,21 @@ sub dodie {
        my $log_file;
 
        if (defined($opt{"LOG_FILE"})) {
-           my $size = 0;
+           my $whence = 0; # beginning of file
+           my $pos = $test_log_start;
+
            if (defined($mail_max_size)) {
                my $log_size = tell LOG;
                $log_size -= $test_log_start;
                if ($log_size > $mail_max_size) {
-                   $size = $log_size - $mail_max_size;
+                   $whence = 2; # end of file
+                   $pos = - $mail_max_size;
                }
            }
            $log_file = "$tmpdir/log";
            open (L, "$opt{LOG_FILE}") or die "Can't open $opt{LOG_FILE} to read)";
            open (O, "> $tmpdir/log") or die "Can't open $tmpdir/log\n";
-           seek(L, $test_log_start + $size, 0);
+           seek(L, $pos, $whence);
            while (<L>) {
                print O;
            }