Hi,
In an effort to get everything green I'm trying to fix some long standing setupapi test failures.
In one of the tests, test_SetupDecompressOrCopyFile() in misc.c, we call SetupDecompressOrCopyFileA a few times. One of them fails as the target file is still open and doesn't allow reading from it (ERROR_SHARING_VIOLATION).
This only happens when running winetest and not when running the single tests. Once all tests are finished that previously 'locked' file can be removed.
I'm building my own winetest where I selectively removed some of the tests.
If I remove for example comctl32/d3d9/fusion/kernel32/riched20 the setupapi tests succeed. Other combinations are however also possible to make the tests pass (for example everything up to d3d8).
I do see that on Win98 several processes are started due to some tests needing functionality (like 'rpcss.exe', 'spool32.exe', 'pstores.exe', 'ddhelp.exe'). These processes however have only handles to the winetest results file and not to the mentioned setupapi test file.
I'm a bit lost where I should be looking so any ideas, suggestions would be appreciated. I don't know when these tests started failing but I found some failures in test results as far back as May 30th 2008 (WinMe).
It's also worth mentioning that not all Win9x/WinMe boxes fail and that the failures happen on both VMware and real boxes.
Could it be that we are not cleaning up properly after some tests? Most things should however be cleaned up when we exit a test (like freeing libraries, closing open handles etc...), not?