Commit a88a4336 authored by Sergei Golubchik's avatar Sergei Golubchik

mtr failed to detect when a combination is forced

mtr detects a forced combination if the command line for a test already
includes all options from this combination. options are stored in a perl
hash as (key,value) pairs.

this breaks if the command line has two options with the same name,
like --plugin-load-add=foo --plugin-load-add=bar, and the combination
forces plugin foo.

In particular, this resulted in warnings when running
federated.federatedx_versioning test
parent d7f4fd30
...@@ -142,11 +142,11 @@ sub diff { ...@@ -142,11 +142,11 @@ sub diff {
sub is_subset { sub is_subset {
my ($set, $subset)= @_; my ($set, $subset)= @_;
my %cache = map { _split_option($_) } @$set; my %cache = map { join('=', _split_option($_)), 1 } @$set;
for (@$subset){ for (@$subset){
my ($name, $value)= _split_option($_); my ($name, $value)= _split_option($_);
return 0 unless exists $cache{$name} and $cache{$name} eq $value; return 0 unless $cache{"$name=$value"};
} }
return 1; return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment