How to distinct different behavior of IE versions

Reece Dunn msclrhd at googlemail.com
Tue Jan 20 03:43:33 CST 2009


2009/1/20 Thomas Heckel <thomas.heckel at gmx.net>:
> Hi,
>
> I'm new to the wine development and interested in some bug hunting to
> gain better compatibility on windows. Just for starts I looked a little
> bit onto test.winehq.org and there especially why wininet:http was
> passing on some windows systems and on some failing with
> "http.c:1837: Test failed: got 12150 expected ERROR_IO_PENDING".
> 12150 is defined in include/winhttp.h as ERROR_WINHTTP_HEADER_NOT_FOUND.
>
> The occurence is dependent on the version of the wininet.dll. If it is
> 6.xxx the test fails. If the dll is 7.xxx the test passes.
>
> The relevant test case "static void test_HttpSendRequestW(int port)"
> checked in 3 days ago from Hans Leidekker as commit
> 667e48286e25c56bca98a135db62d723b74ef89e looks for the HTTP header
> "UA-CPU: x86". But this string is only supported from IE 7 up. It makes
> sense that this test has to fail on machines with no IE 7+ installed.
>
> But how to tackle such things in a test case? Take care of different
> windows versions is used in various test cases. Can the IE version be
> found out with a similar mechanism? Or should a test case just ignore
> such nuances from internet explorer?

In this case (as the test is not requiring that specific header), you
can choose a different header that satisfies the requirement of the
test that works with the different versions of IE.

Alternatively, if this behaviour is on >= IE7, you could check for the
ERROR_WINHTTP_HEADER_NOT_FOUND return and issue a wine_skip (there are
examples of this in other tests).

- Reece



More information about the wine-devel mailing list