On Wed, 23 Jan 2002, Patrik Stridvall wrote: [...]
BEGIN { require wine; &wine::module_native("wininet"); &wine::module_builtin("imm32", "msacm32"); }
I am not sure any test should require the native version of any dll.
We cannot ship native dlls with Wine for obvious reasons, so requiring the native dll would force Wine developpers to have a Windows partition installation around, and one configured for use in the tests. Otherwise they would not be able to run the tests, would they?
I don't think that's good.
Of course it shouldn't require it. It should simply skip parts of the test if the native version is not available.
if(&wine::is_native("wininet")) { # Do native wininet tests }
Choosing to use a native dll is more up to the developper to debug a test. And then modifying the configuration file, as we usually do to debug applications, should be simple and familiar enough.
But maybe I misunderstood something.
Well it allows us to automatically test a non-developer Windows installation directly under Linux without requiring him to reboot.
Even developers make find it useful to quickly be able to modify the loadorder without having to modify his configuration.
Sometimes what you want to test is quite subtle, like you have a function A in module B that calls function C in module D.
Perhaps you want to test the robustness of Wines implementation of function A by testing it both with the native and the builtin version of D.
If you have many such tests it would be a lot of unnessary manual work to switch D between native and builtin while testing B as builtin.
Then perhaps somebody else have some use I haven't even though of.
The main use will be I think to force tests to as the default test the builtin version since if you type "make test" in a directory you really expect to test the files in THAT directory, not the native version even if your ~/.wine/config specifies that.