Commit 33795a70 authored by Bjorn Munch's avatar Bjorn Munch

merge 54364

parents 7f6ffe9a c9d57b0c
...@@ -124,7 +124,7 @@ sub mtr_report_test ($) { ...@@ -124,7 +124,7 @@ sub mtr_report_test ($) {
my $timest = format_time(); my $timest = format_time();
my $fail = "fail"; my $fail = "fail";
if ( $::opt_experimental ) if ( @$::experimental_test_cases )
{ {
# Find out if this test case is an experimental one, so we can treat # Find out if this test case is an experimental one, so we can treat
# the failure as an expected failure instead of a regression. # the failure as an expected failure instead of a regression.
......
...@@ -187,7 +187,7 @@ our $opt_client_debugger; ...@@ -187,7 +187,7 @@ our $opt_client_debugger;
my $config; # The currently running config my $config; # The currently running config
my $current_config_name; # The currently running config file template my $current_config_name; # The currently running config file template
our $opt_experimental; our @opt_experimentals;
our $experimental_test_cases; our $experimental_test_cases;
my $baseport; my $baseport;
...@@ -847,7 +847,7 @@ sub command_line_setup { ...@@ -847,7 +847,7 @@ sub command_line_setup {
'big-test' => \$opt_big_test, 'big-test' => \$opt_big_test,
'combination=s' => \@opt_combinations, 'combination=s' => \@opt_combinations,
'skip-combinations' => \&collect_option, 'skip-combinations' => \&collect_option,
'experimental=s' => \$opt_experimental, 'experimental=s' => \@opt_experimentals,
'skip-im' => \&ignore_option, 'skip-im' => \&ignore_option,
# Specify ports # Specify ports
...@@ -1030,43 +1030,47 @@ sub command_line_setup { ...@@ -1030,43 +1030,47 @@ sub command_line_setup {
mtr_print_thick_line('#'); mtr_print_thick_line('#');
} }
if ( $opt_experimental ) if ( @opt_experimentals )
{ {
# $^O on Windows considered not generic enough # $^O on Windows considered not generic enough
my $plat= (IS_WINDOWS) ? 'windows' : $^O; my $plat= (IS_WINDOWS) ? 'windows' : $^O;
# read the list of experimental test cases from the file specified on # read the list of experimental test cases from the files specified on
# the command line # the command line
open(FILE, "<", $opt_experimental) or mtr_error("Can't read experimental file: $opt_experimental");
mtr_report("Using experimental file: $opt_experimental");
$experimental_test_cases = []; $experimental_test_cases = [];
while(<FILE>) { foreach my $exp_file (@opt_experimentals)
chomp; {
# remove comments (# foo) at the beginning of the line, or after a open(FILE, "<", $exp_file)
# blank at the end of the line or mtr_error("Can't read experimental file: $exp_file");
s/( +|^)#.*$//; mtr_report("Using experimental file: $exp_file");
# If @ platform specifier given, use this entry only if it contains while(<FILE>) {
# @<platform> or @!<xxx> where xxx != platform chomp;
if (/\@.*/) # remove comments (# foo) at the beginning of the line, or after a
{ # blank at the end of the line
next if (/\@!$plat/); s/( +|^)#.*$//;
next unless (/\@$plat/ or /\@!/); # If @ platform specifier given, use this entry only if it contains
# Then remove @ and everything after it # @<platform> or @!<xxx> where xxx != platform
s/\@.*$//; if (/\@.*/)
} {
# remove whitespace next if (/\@!$plat/);
s/^ +//; next unless (/\@$plat/ or /\@!/);
s/ +$//; # Then remove @ and everything after it
# if nothing left, don't need to remember this line s/\@.*$//;
if ( $_ eq "" ) { }
next; # remove whitespace
s/^ +//;
s/ +$//;
# if nothing left, don't need to remember this line
if ( $_ eq "" ) {
next;
}
# remember what is left as the name of another test case that should be
# treated as experimental
print " - $_\n";
push @$experimental_test_cases, $_;
} }
# remember what is left as the name of another test case that should be close FILE;
# treated as experimental
print " - $_\n";
push @$experimental_test_cases, $_;
} }
close FILE;
} }
foreach my $arg ( @ARGV ) foreach my $arg ( @ARGV )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment