Re: [PATCH 2/3] Ktest: use dodie for critical falures
Thanks for the review Steve! One quick comment inline: On 03/21/2018 08:16 AM, Steven Rostedt wrote: On Fri, 15 Dec 2017 15:20:10 -0800 Tim Tianyang Chenwrote: Users should get emails when the script dies because of a critical failure. Critical failures are defined as any errors that could abnormally terminate the script. In order to add email support, this patch converts all die() to dodie() except: * when '-v' is used as an option to get the version of the script. * in Sig-Int handeler because it's not a fatal error to cancel the script. * errors happen during parsing config I would say you don't need it for parsing the config either. It doesn't make sense, as you wouldn't have the mailto defined yet. Maybe it's the way I worded it. This patch coverts all die() to dodie() _except_ these situations. So it doesn't send emails on config errors, which is what you said here. @@ -4132,7 +4132,7 @@ if ($#ARGV == 0) { if (! -f $ktest_config) { $newconfig = 1; get_test_case; -open(OUT, ">$ktest_config") or die "Can not create $ktest_config"; +open(OUT, ">$ktest_config") or dodie "Can not create $ktest_config"; Here, no config was specified, and so no configs either. print OUT << "EOF" # Generated by ktest.pl # @@ -4167,7 +4167,7 @@ if (defined($opt{"LOG_FILE"})) { my @new_configs = keys %entered_configs; if ($#new_configs >= 0) { print "\nAppending entered in configs to $ktest_config\n"; -open(OUT, ">>$ktest_config") or die "Can not append to $ktest_config"; +open(OUT, ">>$ktest_config") or dodie "Can not append to $ktest_config"; Here too. Right, I missed these two. I will send out v3 shortly. Tim
Re: [PATCH 2/3] Ktest: use dodie for critical falures
Thanks for the review Steve! One quick comment inline: On 03/21/2018 08:16 AM, Steven Rostedt wrote: On Fri, 15 Dec 2017 15:20:10 -0800 Tim Tianyang Chen wrote: Users should get emails when the script dies because of a critical failure. Critical failures are defined as any errors that could abnormally terminate the script. In order to add email support, this patch converts all die() to dodie() except: * when '-v' is used as an option to get the version of the script. * in Sig-Int handeler because it's not a fatal error to cancel the script. * errors happen during parsing config I would say you don't need it for parsing the config either. It doesn't make sense, as you wouldn't have the mailto defined yet. Maybe it's the way I worded it. This patch coverts all die() to dodie() _except_ these situations. So it doesn't send emails on config errors, which is what you said here. @@ -4132,7 +4132,7 @@ if ($#ARGV == 0) { if (! -f $ktest_config) { $newconfig = 1; get_test_case; -open(OUT, ">$ktest_config") or die "Can not create $ktest_config"; +open(OUT, ">$ktest_config") or dodie "Can not create $ktest_config"; Here, no config was specified, and so no configs either. print OUT << "EOF" # Generated by ktest.pl # @@ -4167,7 +4167,7 @@ if (defined($opt{"LOG_FILE"})) { my @new_configs = keys %entered_configs; if ($#new_configs >= 0) { print "\nAppending entered in configs to $ktest_config\n"; -open(OUT, ">>$ktest_config") or die "Can not append to $ktest_config"; +open(OUT, ">>$ktest_config") or dodie "Can not append to $ktest_config"; Here too. Right, I missed these two. I will send out v3 shortly. Tim
Re: [PATCH 2/3] Ktest: use dodie for critical falures
On Fri, 15 Dec 2017 15:20:10 -0800 Tim Tianyang Chenwrote: > Users should get emails when the script dies because of a critical failure. > Critical > failures are defined as any errors that could abnormally terminate the script. > > In order to add email support, this patch converts all die() to dodie() > except: > * when '-v' is used as an option to get the version of the script. > * in Sig-Int handeler because it's not a fatal error to cancel the script. > * errors happen during parsing config I would say you don't need it for parsing the config either. It doesn't make sense, as you wouldn't have the mailto defined yet. > @@ -4132,7 +4132,7 @@ if ($#ARGV == 0) { > if (! -f $ktest_config) { > $newconfig = 1; > get_test_case; > -open(OUT, ">$ktest_config") or die "Can not create $ktest_config"; > +open(OUT, ">$ktest_config") or dodie "Can not create $ktest_config"; Here, no config was specified, and so no configs either. > print OUT << "EOF" > # Generated by ktest.pl > # > @@ -4167,7 +4167,7 @@ if (defined($opt{"LOG_FILE"})) { > my @new_configs = keys %entered_configs; > if ($#new_configs >= 0) { > print "\nAppending entered in configs to $ktest_config\n"; > -open(OUT, ">>$ktest_config") or die "Can not append to $ktest_config"; > +open(OUT, ">>$ktest_config") or dodie "Can not append to $ktest_config"; Here too. -- Steve > foreach my $config (@new_configs) { > print OUT "$config = $entered_configs{$config}\n"; > $opt{$config} = process_variables($entered_configs{$config});
Re: [PATCH 2/3] Ktest: use dodie for critical falures
On Fri, 15 Dec 2017 15:20:10 -0800 Tim Tianyang Chen wrote: > Users should get emails when the script dies because of a critical failure. > Critical > failures are defined as any errors that could abnormally terminate the script. > > In order to add email support, this patch converts all die() to dodie() > except: > * when '-v' is used as an option to get the version of the script. > * in Sig-Int handeler because it's not a fatal error to cancel the script. > * errors happen during parsing config I would say you don't need it for parsing the config either. It doesn't make sense, as you wouldn't have the mailto defined yet. > @@ -4132,7 +4132,7 @@ if ($#ARGV == 0) { > if (! -f $ktest_config) { > $newconfig = 1; > get_test_case; > -open(OUT, ">$ktest_config") or die "Can not create $ktest_config"; > +open(OUT, ">$ktest_config") or dodie "Can not create $ktest_config"; Here, no config was specified, and so no configs either. > print OUT << "EOF" > # Generated by ktest.pl > # > @@ -4167,7 +4167,7 @@ if (defined($opt{"LOG_FILE"})) { > my @new_configs = keys %entered_configs; > if ($#new_configs >= 0) { > print "\nAppending entered in configs to $ktest_config\n"; > -open(OUT, ">>$ktest_config") or die "Can not append to $ktest_config"; > +open(OUT, ">>$ktest_config") or dodie "Can not append to $ktest_config"; Here too. -- Steve > foreach my $config (@new_configs) { > print OUT "$config = $entered_configs{$config}\n"; > $opt{$config} = process_variables($entered_configs{$config});
[PATCH 2/3] Ktest: use dodie for critical falures
Users should get emails when the script dies because of a critical failure. Critical failures are defined as any errors that could abnormally terminate the script. In order to add email support, this patch converts all die() to dodie() except: * when '-v' is used as an option to get the version of the script. * in Sig-Int handeler because it's not a fatal error to cancel the script. * errors happen during parsing config Suggested-by: Dhaval GianiSigned-off-by: Tim Tianyang Chen --- changes since v1: removed changes when errors happen during config parsing --- ktest.pl | 58 +- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/ktest.pl b/ktest.pl index 91cae4470fe7..38e6d39bdcd2 100755 --- a/ktest.pl +++ b/ktest.pl @@ -1503,7 +1503,7 @@ sub exec_console { close($pts); exec $console or - die "Can't open console $console"; + dodie "Can't open console $console"; } sub open_console { @@ -1651,7 +1651,7 @@ sub save_logs { if (!-d $dir) { mkpath($dir) or - die "can't create $dir"; + dodie "can't create $dir"; } my %files = ( @@ -1664,7 +1664,7 @@ sub save_logs { while (my ($name, $source) = each(%files)) { if (-f "$source") { cp "$source", "$dir/$name" or - die "failed to copy $source"; + dodie "failed to copy $source"; } } @@ -1838,7 +1838,7 @@ sub get_grub2_index { $ssh_grub =~ s,\$SSH_COMMAND,cat $grub_file,g; open(IN, "$ssh_grub |") - or die "unable to get $grub_file"; + or dodie "unable to get $grub_file"; my $found = 0; @@ -1853,7 +1853,7 @@ sub get_grub2_index { } close(IN); -die "Could not find '$grub_menu' in $grub_file on $machine" +dodie "Could not find '$grub_menu' in $grub_file on $machine" if (!$found); doprint "$grub_number\n"; $last_grub_menu = $grub_menu; @@ -1881,7 +1881,7 @@ sub get_grub_index { $ssh_grub =~ s,\$SSH_COMMAND,cat /boot/grub/menu.lst,g; open(IN, "$ssh_grub |") - or die "unable to get menu.lst"; + or dodie "unable to get menu.lst"; my $found = 0; @@ -1896,7 +1896,7 @@ sub get_grub_index { } close(IN); -die "Could not find '$grub_menu' in /boot/grub/menu on $machine" +dodie "Could not find '$grub_menu' in /boot/grub/menu on $machine" if (!$found); doprint "$grub_number\n"; $last_grub_menu = $grub_menu; @@ -2009,7 +2009,7 @@ sub monitor { my $full_line = ""; open(DMESG, "> $dmesg") or - die "unable to write to $dmesg"; + dodie "unable to write to $dmesg"; reboot_to; @@ -2888,7 +2888,7 @@ sub run_bisect { sub update_bisect_replay { my $tmp_log = "$tmpdir/ktest_bisect_log"; run_command "git bisect log > $tmp_log" or - die "can't create bisect log"; + dodie "can't create bisect log"; return $tmp_log; } @@ -2897,9 +2897,9 @@ sub bisect { my $result; -die "BISECT_GOOD[$i] not defined\n"if (!defined($bisect_good)); -die "BISECT_BAD[$i] not defined\n" if (!defined($bisect_bad)); -die "BISECT_TYPE[$i] not defined\n"if (!defined($bisect_type)); +dodie "BISECT_GOOD[$i] not defined\n" if (!defined($bisect_good)); +dodie "BISECT_BAD[$i] not defined\n" if (!defined($bisect_bad)); +dodie "BISECT_TYPE[$i] not defined\n" if (!defined($bisect_type)); my $good = $bisect_good; my $bad = $bisect_bad; @@ -2962,7 +2962,7 @@ sub bisect { if ($check ne "good") { doprint "TESTING BISECT BAD [$bad]\n"; run_command "git checkout $bad" or - die "Failed to checkout $bad"; + dodie "Failed to checkout $bad"; $result = run_bisect $type; @@ -2974,7 +2974,7 @@ sub bisect { if ($check ne "bad") { doprint "TESTING BISECT GOOD [$good]\n"; run_command "git checkout $good" or - die "Failed to checkout $good"; + dodie "Failed to checkout $good"; $result = run_bisect $type; @@ -2985,7 +2985,7 @@ sub bisect { # checkout where we started run_command "git checkout $head" or - die "Failed to checkout $head"; + dodie "Failed to checkout $head"; } run_command "git bisect start$start_files" or @@ -3442,9 +3442,9 @@ sub patchcheck_reboot { sub patchcheck { my ($i) = @_; -die "PATCHCHECK_START[$i] not defined\n" +dodie "PATCHCHECK_START[$i] not defined\n" if (!defined($patchcheck_start)); -die "PATCHCHECK_TYPE[$i] not defined\n" +dodie "PATCHCHECK_TYPE[$i] not defined\n" if (!defined($patchcheck_type)); my $start = $patchcheck_start; @@ -3458,7
[PATCH 2/3] Ktest: use dodie for critical falures
Users should get emails when the script dies because of a critical failure. Critical failures are defined as any errors that could abnormally terminate the script. In order to add email support, this patch converts all die() to dodie() except: * when '-v' is used as an option to get the version of the script. * in Sig-Int handeler because it's not a fatal error to cancel the script. * errors happen during parsing config Suggested-by: Dhaval Giani Signed-off-by: Tim Tianyang Chen --- changes since v1: removed changes when errors happen during config parsing --- ktest.pl | 58 +- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/ktest.pl b/ktest.pl index 91cae4470fe7..38e6d39bdcd2 100755 --- a/ktest.pl +++ b/ktest.pl @@ -1503,7 +1503,7 @@ sub exec_console { close($pts); exec $console or - die "Can't open console $console"; + dodie "Can't open console $console"; } sub open_console { @@ -1651,7 +1651,7 @@ sub save_logs { if (!-d $dir) { mkpath($dir) or - die "can't create $dir"; + dodie "can't create $dir"; } my %files = ( @@ -1664,7 +1664,7 @@ sub save_logs { while (my ($name, $source) = each(%files)) { if (-f "$source") { cp "$source", "$dir/$name" or - die "failed to copy $source"; + dodie "failed to copy $source"; } } @@ -1838,7 +1838,7 @@ sub get_grub2_index { $ssh_grub =~ s,\$SSH_COMMAND,cat $grub_file,g; open(IN, "$ssh_grub |") - or die "unable to get $grub_file"; + or dodie "unable to get $grub_file"; my $found = 0; @@ -1853,7 +1853,7 @@ sub get_grub2_index { } close(IN); -die "Could not find '$grub_menu' in $grub_file on $machine" +dodie "Could not find '$grub_menu' in $grub_file on $machine" if (!$found); doprint "$grub_number\n"; $last_grub_menu = $grub_menu; @@ -1881,7 +1881,7 @@ sub get_grub_index { $ssh_grub =~ s,\$SSH_COMMAND,cat /boot/grub/menu.lst,g; open(IN, "$ssh_grub |") - or die "unable to get menu.lst"; + or dodie "unable to get menu.lst"; my $found = 0; @@ -1896,7 +1896,7 @@ sub get_grub_index { } close(IN); -die "Could not find '$grub_menu' in /boot/grub/menu on $machine" +dodie "Could not find '$grub_menu' in /boot/grub/menu on $machine" if (!$found); doprint "$grub_number\n"; $last_grub_menu = $grub_menu; @@ -2009,7 +2009,7 @@ sub monitor { my $full_line = ""; open(DMESG, "> $dmesg") or - die "unable to write to $dmesg"; + dodie "unable to write to $dmesg"; reboot_to; @@ -2888,7 +2888,7 @@ sub run_bisect { sub update_bisect_replay { my $tmp_log = "$tmpdir/ktest_bisect_log"; run_command "git bisect log > $tmp_log" or - die "can't create bisect log"; + dodie "can't create bisect log"; return $tmp_log; } @@ -2897,9 +2897,9 @@ sub bisect { my $result; -die "BISECT_GOOD[$i] not defined\n"if (!defined($bisect_good)); -die "BISECT_BAD[$i] not defined\n" if (!defined($bisect_bad)); -die "BISECT_TYPE[$i] not defined\n"if (!defined($bisect_type)); +dodie "BISECT_GOOD[$i] not defined\n" if (!defined($bisect_good)); +dodie "BISECT_BAD[$i] not defined\n" if (!defined($bisect_bad)); +dodie "BISECT_TYPE[$i] not defined\n" if (!defined($bisect_type)); my $good = $bisect_good; my $bad = $bisect_bad; @@ -2962,7 +2962,7 @@ sub bisect { if ($check ne "good") { doprint "TESTING BISECT BAD [$bad]\n"; run_command "git checkout $bad" or - die "Failed to checkout $bad"; + dodie "Failed to checkout $bad"; $result = run_bisect $type; @@ -2974,7 +2974,7 @@ sub bisect { if ($check ne "bad") { doprint "TESTING BISECT GOOD [$good]\n"; run_command "git checkout $good" or - die "Failed to checkout $good"; + dodie "Failed to checkout $good"; $result = run_bisect $type; @@ -2985,7 +2985,7 @@ sub bisect { # checkout where we started run_command "git checkout $head" or - die "Failed to checkout $head"; + dodie "Failed to checkout $head"; } run_command "git bisect start$start_files" or @@ -3442,9 +3442,9 @@ sub patchcheck_reboot { sub patchcheck { my ($i) = @_; -die "PATCHCHECK_START[$i] not defined\n" +dodie "PATCHCHECK_START[$i] not defined\n" if (!defined($patchcheck_start)); -die "PATCHCHECK_TYPE[$i] not defined\n" +dodie "PATCHCHECK_TYPE[$i] not defined\n" if (!defined($patchcheck_type)); my $start = $patchcheck_start; @@ -3458,7 +3458,7 @@ sub patchcheck { if