diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-08-31 11:00:41 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-08-31 11:00:41 +0300 |
commit | e94172c2a07f21118d26e4cde0c48a2fd536cf06 (patch) | |
tree | 81d6b9b67c696e93abb618df35ab5a27094f6e31 /mysql-test/lib | |
parent | 7271cf48d62196abc0c578d00ab3ca09b56aae77 (diff) | |
parent | e62120cec7aa21b9cf77773ecb0935b4b48ed26c (diff) | |
download | mariadb-git-e94172c2a07f21118d26e4cde0c48a2fd536cf06.tar.gz |
Merge 10.5 into 10.6
Diffstat (limited to 'mysql-test/lib')
-rw-r--r-- | mysql-test/lib/My/Options.pm | 22 | ||||
-rw-r--r-- | mysql-test/lib/mtr_cases.pm | 6 |
2 files changed, 11 insertions, 17 deletions
diff --git a/mysql-test/lib/My/Options.pm b/mysql-test/lib/My/Options.pm index 6e0efe862e7..5827e0666a6 100644 --- a/mysql-test/lib/My/Options.pm +++ b/mysql-test/lib/My/Options.pm @@ -140,24 +140,16 @@ sub diff { } -sub is_set { - my ($opts, $set_opts)= @_; +sub is_subset { + my ($set, $subset)= @_; + my %cache = map { _split_option($_) } @$set; - foreach my $opt (@$opts){ - - my ($opt_name1, $value1)= _split_option($opt); - - foreach my $set_opt (@$set_opts){ - my ($opt_name2, $value2)= _split_option($set_opt); - - if ($opt_name1 eq $opt_name2 and $value1 eq $value2){ - # Option already set - return 1; - } - } + for (@$subset){ + my ($name, $value)= _split_option($_); + return 0 unless exists $cache{$name} and $cache{$name} eq $value; } - return 0; + return 1; } diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index dd003dea31d..adc911ba937 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -626,8 +626,10 @@ sub make_combinations($$@) { # Skip all other combinations if the values they change # are already fixed in master_opt or slave_opt - if (My::Options::is_set($test->{master_opt}, $comb->{comb_opt}) && - My::Options::is_set($test->{slave_opt}, $comb->{comb_opt}) ){ + # (empty combinations are not considered a subset of anything) + if (@{$comb->{comb_opt}} && + My::Options::is_subset($test->{master_opt}, $comb->{comb_opt}) && + My::Options::is_subset($test->{slave_opt}, $comb->{comb_opt}) ){ $test_combs->{$comb->{name}} = 2; |