diff options
author | Sergei Golubchik <serg@mariadb.org> | 2021-08-29 09:33:00 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2021-08-29 17:32:30 +0200 |
commit | 600e4949062e848e035e2649792a8fed963e6a91 (patch) | |
tree | 7937d14505358b1d8a4a8d24d8eaf4d780ac7a9a /mysql-test/lib/My | |
parent | fe2a7048e7c7345f0e011ef800346d744402bb2d (diff) | |
download | mariadb-git-600e4949062e848e035e2649792a8fed963e6a91.tar.gz |
mtr: fix the check where a combination is pre-selected
if all options from a combination from the combinations file are already
present in the server's list of options, then don't try to run tests
in other combinations from this file.
old behavior was: if at least one option from a combination is
already present in the list...
Diffstat (limited to 'mysql-test/lib/My')
-rw-r--r-- | mysql-test/lib/My/Options.pm | 22 |
1 files changed, 7 insertions, 15 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; } |