ktest: Restore stty setting at first in dodie
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Fri, 20 Jan 2023 09:16:16 +0000 (18:16 +0900)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Mon, 20 Feb 2023 16:52:27 +0000 (11:52 -0500)
The do_send_email() will call die before restoring stty if sendmail
setting is not correct or sendmail is not installed. It is safer to
restore it in the beginning of dodie().

Link: https://lkml.kernel.org/r/167420617635.2988775.13045295332829029437.stgit@devnote3
Cc: John 'Warthog9' Hawley <warthog9@kernel.org>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
tools/testing/ktest/ktest.pl

index 822794c..829f5bd 100755 (executable)
@@ -1538,6 +1538,11 @@ sub dodie {
     return if ($in_die);
     $in_die = 1;
 
+    if ($monitor_cnt) {
+       # restore terminal settings
+       system("stty $stty_orig");
+    }
+
     my $i = $iteration;
 
     doprint "CRITICAL FAILURE... [TEST $i] ", @_, "\n";
@@ -1584,11 +1589,6 @@ sub dodie {
                "Your test started at $script_start_time has failed with:\n@_\n", $log_file);
     }
 
-    if ($monitor_cnt) {
-       # restore terminal settings
-       system("stty $stty_orig");
-    }
-
     if (defined($post_test)) {
        run_command $post_test;
     }