diff --git a/mysql-test/lib/My/Options.pm b/mysql-test/lib/My/Options.pm index e79fc0fba9c..f0fc4ba75b5 100644 --- a/mysql-test/lib/My/Options.pm +++ b/mysql-test/lib/My/Options.pm @@ -168,9 +168,14 @@ sub toSQL { foreach my $option (@options) { my ($name, $value)= _split_option($option); #print "name: $name\n"; + #print "value: $value\n"; if ($name =~ /^O, (.*)/){ push(@sql, "SET GLOBAL $1=$value"); - } else { + } + elsif ($name =~ /^set-variable=(.*)/){ + push(@sql, "SET GLOBAL $1=$value"); + } + else { my $sql_name= $name; $sql_name=~ s/-/_/g; push(@sql, "SET GLOBAL $sql_name=$value"); diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 09b66ee4521..b6080538a61 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2833,16 +2833,14 @@ sub server_need_restart { my $query= My::Options::toSQL(@diff_opts); mtr_verbose("Attempting dynamic switch '$query'"); if (run_query($tinfo, $server, $query)){ - mtr_verbose("Restart: Dynamic switch failed"); - return 1; - } - else - { mtr_verbose("Restart: running with different options '" . join(" ", @{$extra_opts}) . "' != '" . join(" ", @{$server->{'started_opts'}}) . "'" ); return 1; } + + # Remember the dynamically set options + $server->{'started_opts'}= $extra_opts; } }