https://bugs.winehq.org/show_bug.cgi?id=50783
Bug ID: 50783 Summary: WineTest declares dlls with dots in their name as missing Product: Wine Version: 6.3 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: testcases Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
It turns out that winetest.exe has been checking the presence of the dlls by calling LoadLibrary("serialui") and not LoadLibrary("serialui.dll"). Surprisingly this works.
But if the dll name contains dots, such as "lib.and.dot.dll", then LoadLibrary("lib.and.dot") does not work, even if lib.and.dot.dll does exist, as confirmed by LoadLibrary("lib.and.dot.dll"). At least in Wine. So this causes winetest.exe to skip the lib.and.dot tests because the dll is missing.
Maybe that's a LoadLibrary() Wine bug.
Or maybe the fix would be to add the '.dll' extension... except if the name from the test executable ends in .exe, .com, .ocx, etc. But this would require a list of authorized library extensions (or do the checks twice: once without and once with the extra .dll extension).
lib.and.dot_test.exe -> lib.and.dot.dll msscript.ocx_test.exe -> msscript.ocx serialui_test.exe -> serialui.dll reg.exe_test.exe -> reg.exe (yes WineTest calls LoadLibrary("reg.exe")) chcp.com_test.exe -> chcp.com ndis.sys_test.exe -> ndis.sys ...
Or change the test executable filenames so they always have the full name of the tested dll.
Or this could be fixed by not doing the LoadLibrary() check at all: https://bugs.winehq.org/show_bug.cgi?id=45032#c1
https://bugs.winehq.org/show_bug.cgi?id=50783
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |fgouget@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=50783
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #1 from François Gouget fgouget@codeweavers.com --- This is fixed:
commit e618fb526d06ae19306bae88e81e0214fcbd7d85 Author: Francois Gouget fgouget@codeweavers.com Date: Tue Mar 16 10:34:07 2021 +0100
winetest: Fix detecting whether a test can be run or not.
Rather than second-guessing the loader, run 'test.exe --list' with the critical-error handler message box disabled and use the resulting exit codes. But keep the activation context and COM code to improve the chances of getting the dll version.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45032 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50783 Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=50783
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e618fb526d06ae19306bae88e81 | |e0214fcbd7d85
https://bugs.winehq.org/show_bug.cgi?id=50783
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.5.