[PATCH v2] shlwapi/tests: Document where SHFormatDateTimeA() crashes for NULL pointers.
Francois Gouget
fgouget at codeweavers.com
Wed Sep 1 04:04:26 CDT 2021
On Wed, 1 Sep 2021, Huw Davies wrote:
[...]
> I don't see the point of this sort of thing. Why do we care that
> Windows crashes? No sane app is ever going to rely on this.
I disagree with your statement "No sane app is ever going to rely on
this".
For instance GdipGetFamilyName() used to crash when given a NULL output
buffer (ad663360fae6). But that changed with Windows 7; 12 years ago. So
I'd argue that it's now reasonable for developers to assume
GdipGetFamilyName() does not crash in that case.
The test says that SHFormatDateTimeA(NULL...) "crashes on native". But
_if_ that only describes the behavior of "Windows Vista or older" I'd
argue that it's likewise reasonable for current applications to rely on
the Windows 7+ behavior.
Now it turns out SHFormatDateTimeA() crashes even in the latest Windows
versions so I'm just documenting that.
Also what is really tested is whether a NULL input pointer is allowed
rather than a NULL output buffer. That may be less relevant, and could
justify removing the test entirely.
> Documenting which Windows versions crash seems even more of a waste of
> time;
I'm not going to go through all the test in Wine to update them if
that's what you're afraid of. But when I try to understand how an API
works in order to fix a test (here a shlwapi:ordinal failure in
Japanese) and I see such a badly documented test I'll certainly check it
out.
Also any patch that contains an "if (0) /* crashes */" should have
better documentation before it gets applied.
> are we really going to update this after every new Windows
> release?
I'm fine with removing the test if you prefer that.
But if it's going to stay it should have some indication of which
Windows version crashed.
--
Francois Gouget <fgouget at codeweavers.com>
More information about the wine-devel
mailing list