maria-developers team mailing list archive
Mailing list archive
Re: question about MTR
Elena Stepanova <elenst@xxxxxxxxxxxxxxxx>
Thu, 26 Jul 2012 07:13:29 +0400
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
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?