MDEV-399 Combinations defined in the base suite cannot be skipped by overlay

When appliying parent combinations to the overlay,
filter them through the %skip_combinations using the overlayed filename
This commit is contained in:
Sergei Golubchik 2012-08-01 19:57:36 +02:00
parent bd39599668
commit 6ed4a283fd
4 changed files with 32 additions and 5 deletions

View File

@ -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 ];

View File

@ -0,0 +1,5 @@
[1st]
lock-wait-timeout=5
[2nd]
lock-wait-timeout=3

View File

@ -0,0 +1,8 @@
package My::Suite::MTR::Example;
@ISA = qw(My::Suite);
sub skip_combinations {(
't/combs.combinations' => [ 'c1' ],
)}
bless { };

View File

@ -0,0 +1,9 @@
package My::Suite::MTR2::MyISAM;
@ISA = qw(My::Suite);
sub skip_combinations {(
'combinations' => [ '1st' ],
)}
bless { };