TestLauncher now detects missing entry points. For instance:
https://testbot.winehq.org/JobDetails.pl?Key=87361&f201=exe32.report#k20...
rtworkq.c:0: Tests skipped: missing entry point (details below) | rtworkq_test.exe - Entry Point Not Found | The procedure entry point CoGetApartmentType could not be located in the dynamic link library ole32.dll.
The two lines starting with "|" are extracted from the Windows critical error dialog and clearly show the issue.
The remaining question is whether this case should really be a skip or a failure.
If a dll is missing the past policy was to just skip the test so I carried on for missing entry points, ordinals, and indirectly missing dlls (when a test links with a dll which links with a missing dll).
Reporting missing entry points as failures would make it more obvious that the test needs fixing to use GetProcAddress(). But in some cases, such as rtworkq:rtworkq here, that may be somewhat pointless (it would be unable to perform any of the current tests without CoGetApartmentType()).
So what's the general consensus on this?
See also: https://bugs.winehq.org/show_bug.cgi?id=48208
On 3/21/21 10:06 PM, Francois Gouget wrote:
TestLauncher now detects missing entry points. For instance:
https://testbot.winehq.org/JobDetails.pl?Key=87361&f201=exe32.report#k20...
rtworkq.c:0: Tests skipped: missing entry point (details below) | rtworkq_test.exe - Entry Point Not Found | The procedure entry point CoGetApartmentType could not be located in the dynamic link library ole32.dll.
The two lines starting with "|" are extracted from the Windows critical error dialog and clearly show the issue.
The remaining question is whether this case should really be a skip or a failure.
I think particular case it should not run this test on Vista at all, because rtworkq.dll does not exist there. That's why I didn't bother with pointer checks, CoGetApartmentType() is always available where rtworkq.dll is available. Vista is probably a bad example.
A general failure/timeout is equally informative, screenshots then will have first missing function name, do we need more than that?
If a dll is missing the past policy was to just skip the test so I carried on for missing entry points, ordinals, and indirectly missing dlls (when a test links with a dll which links with a missing dll).
Reporting missing entry points as failures would make it more obvious that the test needs fixing to use GetProcAddress(). But in some cases, such as rtworkq:rtworkq here, that may be somewhat pointless (it would be unable to perform any of the current tests without CoGetApartmentType()).
So what's the general consensus on this?
On Sun, 21 Mar 2021, Nikolay Sivov wrote: [...]
The two lines starting with "|" are extracted from the Windows critical error dialog and clearly show the issue.
The remaining question is whether this case should really be a skip or a failure.
I think particular case it should not run this test on Vista at all, because rtworkq.dll does not exist there. That's why I didn't bother with pointer checks, CoGetApartmentType() is always available where rtworkq.dll is available. Vista is probably a bad example.
I see. Vista is missing both rtworkq.dll and the entry point in ole32.dll but Windows found the missing entry point issue first and only reported that.
A general failure/timeout is equally informative, screenshots then will have first missing function name, do we need more than that?
Right now the TestBot reports no failure at all since it's a skip.
https://testbot.winehq.org/JobDetails.pl?Key=87361&f201=exe32.report#k20...
Also in my experience almost nobody checks the screenshots but at least now that information is in the test report.