> 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.