Bug #79892 It is not possible to load a plugin on a entire MTR suite
Submitted: 8 Jan 2016 13:03 Modified: 28 Jan 2016 14:38
Reporter: Nuno Carvalho Email Updates:
Status: Closed Impact on me:
None 
Category:Tools: MTR / mysql-test-run Severity:S3 (Non-critical)
Version:5.7 OS:Any
Assigned to: CPU Architecture:Any

[8 Jan 2016 13:03] Nuno Carvalho
Description:
I'm trying to load a plugin for a entire MTR suite, but after many tries
I believe that it is not supported.

This is what I want to achieve:
  Run rpl suite with group_replication.so plugin loaded.
Until now I did achieve this by specifying both --mysqld=--plugin-load=
and --mysqld=--plugin-dir= on MTR command line.
Though this will be complex to run on PB2, since the plugin name depends
on the platform, so vs dll; but mainly because the plugin-dir is
different in almost all platforms.
Example: OEL: /usr/lib64/mysql/plugin; Windows: C:/....; Solaris:
/usr/lib/mysql/plugin and the list continues.

One possible way to support this would be to allow suite .cnf files to
interpret environment variables, like the test-master.opt file does.
But that it is not supported.

I do know that to run a single test case with a plugin I can set
  $GROUP_REPLICATION_OPT --plugin-load=$GROUP_REPLICATION
on test-master/slave.opt
But it is kind of lame create a wrapper test case just to load a plugin,
especially on a entire suite.
example:

rpl_0_group_replication.test
----------------------------
--source .../rpl_0.test

rpl_0_group_replication-master.opt
----------------------------------
$GROUP_REPLICATION_OPT --plugin-load=$GROUP_REPLICATION

rpl_0_group_replication-slave.opt
---------------------------------
$GROUP_REPLICATION_OPT --plugin-load=$GROUP_REPLICATION

How to repeat:
Try to run a complete MTR suite with a plugin loaded on PB2.

Suggested fix:
Provide support for suite .cnf files to interpret environment variables.
[28 Jan 2016 14:38] Paul Dubois
Fixed in 5.7.12.

Changes for test suite. No changelog entry needed.