Lets say we have a suite foo, which has a test bar.test, which calls source qux.inc.
An engine X has an overlay for the suite foo. The test bar.test there remains the same, but the file qux.inc is overridden.
On Linux, it works as expected, when foo-X.bar is executed, the file basedir/X/mysql-test/foo/qux.inc is used in the source command. But on Windows it is not so – basedir/mysql-test/suite/foo/qux.inc is still called.
I got it work by this change: http://bazaar.launchpad.net/~elenst/maria/5.5-elenst-overlays/revision/3945 , but I'm not 100% sure it's the right and complete fix.
In the revision above, only a change in mysqltest.cc is the fix, the rest is a test case for the problem.
It modifies mtr2.single test so that it calls overlay.inc, and introduces overlay.inc files in the base mtr2 suite and in the MyISAM overlay for it. It also adds single.rdiff file for MyISAM.
So, the expected result is when the base suite is executed, it calls the base overlay.inc which executes select 2, which matches the result file. When the MyISAM overlay is executed, it should call its own overlay.inc which executes select 3, which matches the rdiff file.
On Windows, without the fix the test fails:
Which shows that the included file is wrong (but rdiff is picked up all right).