From: Yuxuan Shui yshui@codeweavers.com
--- dlls/urlmon/tests/protocol.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/urlmon/tests/protocol.c b/dlls/urlmon/tests/protocol.c index e2db124f21e..c87d596f243 100644 --- a/dlls/urlmon/tests/protocol.c +++ b/dlls/urlmon/tests/protocol.c @@ -3617,7 +3617,11 @@ static void test_http_protocol(void)
trace("Testing http protocol (redirected, binding)...\n"); bindf = BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE | BINDF_PULLDATA | BINDF_FROMURLMON | BINDF_NOWRITECACHE; - test_http_protocol_url(redirect_url, HTTP_TEST, TEST_REDIRECT|TEST_USEBINDING, TYMED_NULL); + test_http_protocol_url(redirect_url, HTTP_TEST, TEST_REDIRECT | TEST_USEBINDING, TYMED_NULL); + + trace("Testing http protocol (redirected, disable auto redirect, binding)...\n"); + bindf = BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE | BINDF_PULLDATA | BINDF_FROMURLMON | BINDF_NOWRITECACHE; + test_http_protocol_url(redirect_url, HTTP_TEST, TEST_REDIRECT | TEST_DISABLEAUTOREDIRECT | TEST_USEBINDING, TYMED_NULL);
/* This is a bit ugly. We unconditionally disable this test on Wine. This won't work until we have * support for reading from cache via HTTP layer in wininet. Until then, Wine will fail badly, affecting
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=137340
Your paranoid android.
=== w7u_2qxl (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w7u_adm (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w7u_el (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w8 (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect protocol.c:1191: Test failed: unexpected call ReportResult
=== w8adm (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect protocol.c:1191: Test failed: unexpected call ReportResult
=== w864 (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w1064v1507 (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w1064v1809 (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect protocol.c:1191: Test failed: unexpected call ReportResult
=== w1064_tsign (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w10pro64 (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w11pro64 (32 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w7pro64 (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w864 (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w1064v1507 (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect protocol.c:1191: Test failed: unexpected call ReportResult
=== w1064v1809 (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w1064_2qxl (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect protocol.c:1191: Test failed: unexpected call ReportResult
=== w1064_adm (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect protocol.c:1191: Test failed: unexpected call ReportResult
=== w1064_tsign (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect protocol.c:1191: Test failed: unexpected call ReportResult
=== w10pro64 (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w10pro64_en_AE_u8 (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w10pro64_ar (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w10pro64_ja (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w10pro64_zh_CN (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== w11pro64_amd (64 bit report) ===
urlmon: protocol.c:3448: Test failed: expected QueryService_IBindCallbackRedirect
=== debian11 (32 bit report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11 (32 bit ar:MA report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11 (32 bit de report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11 (32 bit fr report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11 (32 bit he:IL report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11 (32 bit hi:IN report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11 (32 bit ja:JP report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11 (32 bit zh:CN report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:903: Test failed: unexpected call ReportProgress_SENDINGREQUEST protocol.c:937: Test failed: unexpected call ReportProgress_ACCEPTRANGES protocol.c:1104: Test failed: unexpected call ReportData protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=3 Unhandled exception: page fault on execute access to 0x04e883fc in 32-bit code (0x04e883fc).
=== debian11b (32 bit WoW report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:1112: Test failed: ulProgress == 0 protocol.c:1120: Test failed: grcfBSCF = 00000005 protocol.c:983: Test failed: QueryInfo failed: 00000001 protocol.c:985: Test failed: buf = connection protocol.c:987: Test failed: size = 1024, expected 10 protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=1
=== debian11b (64 bit WoW report) ===
urlmon: protocol.c:415: Test failed: unexpected call Redirect protocol.c:926: Test failed: unexpected call ReportProgress_REDIRECTING protocol.c:456: Test failed: unexpected call QueryService_InternetProtocol protocol.c:917: Test failed: unexpected call ReportProgress_PROTOCOLCLASSID protocol.c:1428: Test failed: unexpected call GetBindInfo protocol.c:1514: Test failed: unexpected call GetBindString_ROOTDOC_URL protocol.c:1471: Test failed: unexpected call GetBindString_ACCEPT_MIMES protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:328: Test failed: unexpected call BeginningTransaction protocol.c:333: Test failed: szURL != http_url protocol.c:450: Test failed: unexpected call QueryService_HttpNegotiate protocol.c:368: Test failed: unexpected call GetRootSecurityId protocol.c:1112: Test failed: ulProgress == 0 protocol.c:1120: Test failed: grcfBSCF = 00000005 protocol.c:983: Test failed: QueryInfo failed: 00000001 protocol.c:985: Test failed: buf = connection protocol.c:987: Test failed: size = 1024, expected 10 protocol.c:1199: Test failed: hrResult = 00000000, expected: 800c0014 protocol.c:3551: Test failed: ref=1
This test is meant to probe how native urlmon handles http redirect with auto redirect disabled, when the protocol object is created via `CreateBinding`. To my surprise, in this case native urlmon doesn't even call `IBindingCallbackRedirect::Redirect`, it just does not handle http redirection.
OTOH this test crashes wine, see [Bug 55527](https://bugs.winehq.org/show_bug.cgi?id=55527)
I thought you were trying to find out how are post messages handled and for that you'd need to post some data in the test.
On Fri Sep 15 11:48:38 2023 +0000, Jacek Caban wrote:
I thought you were trying to find out how are post messages handled and for that you'd need to post some data in the test.
that's true. but even GET requests behaves differently from what we expect, so this would be a good starting point to investigate the behavior of native urlmon.
On Fri Sep 15 11:48:38 2023 +0000, Yuxuan Shui wrote:
that's true. but even GET requests behaves differently from what we expect, so this would be a good starting point to investigate the behavior of native urlmon.
to make it do post we just need to change the `TYMED_NULL` to `TYMED_HGLOBAL`
On Fri Sep 15 13:15:58 2023 +0000, Yuxuan Shui wrote:
to make it do post we just need to change the `TYMED_NULL` to `TYMED_HGLOBAL`
First of all, your test fails on Windows, so it's not interesting in current form. I will add more comments in !3725.
This merge request was closed by Jacek Caban.