diff options
-rw-r--r-- | mysql-test/lib/mtr_cases.pm | 15 | ||||
-rw-r--r-- | mysql-test/suite/mtr2/combinations | 5 | ||||
-rw-r--r-- | storage/example/mysql-test/mtr/suite.pm | 8 | ||||
-rw-r--r-- | storage/myisam/mysql-test/mtr2/suite.pm | 9 |
4 files changed, 32 insertions, 5 deletions
diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index 160fdcd935b..a8db67f1e67 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -472,11 +472,13 @@ sub process_suite { else { my @combs; - @combs = combinations_from_file($parent, "$suitedir/combinations") - unless $suite->{skip}; + my $from = "$suitedir/combinations"; + @combs = combinations_from_file($parent, $from) unless $suite->{skip}; $suite->{combinations} = [ @combs ]; # in overlays it's a union of parent's and overlay's files. - unshift @{$suite->{combinations}}, @{$parent->{combinations}} if $parent; + unshift @{$suite->{combinations}}, + grep { not $skip_combinations{"$from => $_->{name}"} } + @{$parent->{combinations}} if $parent; } # suite.opt @@ -1039,8 +1041,11 @@ sub get_tags_from_file($$) { $suite = load_suite_for_file($comb_file) if $prefix[0] eq ''; my @comb; unless ($suite->{skip}) { - @comb = combinations_from_file($over, "$prefix[0]$comb_file"); - push @comb, combinations_from_file(undef, "$prefix[1]$comb_file") if $over; + my $from = "$prefix[0]$comb_file"; + @comb = combinations_from_file($over, $from); + push @comb, + grep { not $skip_combinations{"$from => $_->{name}"} } + combinations_from_file(undef, "$prefix[1]$comb_file") if $over; } push @combinations, [ @comb ]; diff --git a/mysql-test/suite/mtr2/combinations b/mysql-test/suite/mtr2/combinations new file mode 100644 index 00000000000..b26eab8ce1d --- /dev/null +++ b/mysql-test/suite/mtr2/combinations @@ -0,0 +1,5 @@ +[1st] +lock-wait-timeout=5 + +[2nd] +lock-wait-timeout=3 diff --git a/storage/example/mysql-test/mtr/suite.pm b/storage/example/mysql-test/mtr/suite.pm new file mode 100644 index 00000000000..f7ff42241fe --- /dev/null +++ b/storage/example/mysql-test/mtr/suite.pm @@ -0,0 +1,8 @@ +package My::Suite::MTR::Example; + +@ISA = qw(My::Suite); + +sub skip_combinations {( + 't/combs.combinations' => [ 'c1' ], +)} +bless { }; diff --git a/storage/myisam/mysql-test/mtr2/suite.pm b/storage/myisam/mysql-test/mtr2/suite.pm new file mode 100644 index 00000000000..0f287e4a8ba --- /dev/null +++ b/storage/myisam/mysql-test/mtr2/suite.pm @@ -0,0 +1,9 @@ +package My::Suite::MTR2::MyISAM; + +@ISA = qw(My::Suite); + +sub skip_combinations {( + 'combinations' => [ '1st' ], +)} +bless { }; + |