[for-linus][PATCH 1/2] ktest.pl: Change the logic to control the size of the log file emailed

Steven Rostedt
2020-08-10T18:29:06Z

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

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 | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 36db5b0b3647..9363a5b27339 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -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;
}
--
2.28.0