summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/lib/mtr_cases.pm15
-rw-r--r--mysql-test/suite/mtr2/combinations5
-rw-r--r--storage/example/mysql-test/mtr/suite.pm8
-rw-r--r--storage/myisam/mysql-test/mtr2/suite.pm9
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 { };
+