Rationale: - currently, winetest is built either as a 32bit exec or a 64bit exec, containaing a bunch of tests of same bitness. - there's no simple support for having parent process in one bitness, and child process in a different bitness. - lots of cases are not covered in ntdll, kernel32 and kernelbase tests. - there are here and there a couple of tweaks to workaround this, but nothing a bit solid.
Attached is a proposal to extend winetest to support better these use cases: - the idea is to add an extra-option to winetest.exe (64bit) passing the path to the corresponding winetest.exe (32bit). - when running test X (64bit), the path to corresponding test X (32bit) will be passed to test X (64 bit), allowing it to trigger test with test X (32bit). - nothing more is provided: it's up to the test designer to decide whether to use the 32bit child (and to adapt potentially the test) to cope with the difference in bitness between parent and child. - this can be used either in current wow64 setup, and also in multi-arch wow64 setup (just need to change the patch to 32bit winetest.exe)
There's an example of such test at the end of the serie.
Comments, ideas welcomed. And especially if it's something worth continuing.
Note: - this is first shot at it, it should be improved (especially in ensuring that the 32bit/64bit pair is correct).
A+