← Back to team overview

maria-developers team mailing list archive

Re: question about MTR


Hi Rich,

MTR does have some hidden magic, but it's not _that_ smart... If you just add a line source include/have_myengine.inc, it won't magically load the engine myengine unless you take care about it.

What actually happens with have_XYZ.inc files is that they (and any other inc files or test files, for that matter) might come with opt or combination files with identical names. These opt or combination files may contain server and engine options responsible for loading the engine.

For example, if you look at maria-5.5, you'll find the file include/have_blackhole.inc. Seemingly, all it does is check that the BLACKHOLE engine has been loaded. However, there is also file include/have_blackhole.opt, which contains server options --plugin-load=<blackhole soname> and --loose-blackhole. So, when MTR prepares a test, it scans the test file, finds the include file, finds the option file with the same name (if exists), and adds its contents to server startup options.

Similar logic applies if you have a combinations file instead of opt file. The difference is that a combinations file might contain several sets of server options; in this case the same test is executed several times, once with each combination of options. For example, you can check have_innodb.inc and have_innodb.combinations.

Hope this answers your question. There are more tricks in MTR, describing them all in one email would be useless and confusing... If you encounter something obscure, just drop another post.


On 7/24/2012 11:40 PM, Rich Prohaska wrote:
It appears that MTR looks at a test and figures out the appropriate
mysqld configuration needed to run the test.  For example, if I have
lines like "source include/have_XYZ.inc" in my test, MTR will run the
test with the right storage engines loaded (and only those storage
engines).  Is this accurate?
Rich Prohaska