[PATCH 4/4] urlmon/tests: Add some IAuthenticate tests for IMoniker::BindToStorage().
Dmitry Timoshkov
dmitry at baikal.ru
Tue Jun 22 09:54:40 CDT 2021
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
dlls/urlmon/tests/url.c | 228 +++++++++++++++++++++++++++++-----------
1 file changed, 168 insertions(+), 60 deletions(-)
diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c
index 69ec00476ff..15a90864aea 100644
--- a/dlls/urlmon/tests/url.c
+++ b/dlls/urlmon/tests/url.c
@@ -91,6 +91,7 @@ DEFINE_EXPECT(QueryInterface_IBindStatusCallback);
DEFINE_EXPECT(QueryInterface_IBindStatusCallbackEx);
DEFINE_EXPECT(QueryInterface_IBindStatusCallbackHolder);
DEFINE_EXPECT(QueryInterface_IAuthenticate);
+DEFINE_EXPECT(QueryInterface_IAuthenticateEx);
DEFINE_EXPECT(QueryInterface_IInternetProtocol);
DEFINE_EXPECT(QueryInterface_IWindowForBindingUI);
DEFINE_EXPECT(QueryInterface_IHttpSecurity);
@@ -148,6 +149,7 @@ DEFINE_EXPECT(GetWindow_IHttpSecurity);
DEFINE_EXPECT(GetWindow_IWindowForBindingUI);
DEFINE_EXPECT(GetWindow_ICodeInstall);
DEFINE_EXPECT(OnSecurityProblem);
+DEFINE_EXPECT(Authenticate_Authenticate);
static const WCHAR winetest_data_urlW[] =
{'h','t','t','p',':','/','/','t','e','s','t','.','w','i','n','e','h','q','.','o','r','g','/',
@@ -159,8 +161,9 @@ static const WCHAR wszTextHtml[] = {'t','e','x','t','/','h','t','m','l',0};
static WCHAR BSCBHolder[] = { '_','B','S','C','B','_','H','o','l','d','e','r','_',0 };
#define WINEHQ_IP "4.4.81.124"
+#define WINEHQ_IPW L"4.4.81.124"
static const WCHAR wszWineHQSite[] = L"www.winehq.org";
-static const WCHAR wszWineHQIP[] = L"" WINEHQ_IP;
+static const WCHAR wszWineHQIP[] = L"" WINEHQ_IPW;
static const CHAR wszIndexHtmlA[] = "index.html";
static const WCHAR cache_fileW[] = {'c',':','\\','c','a','c','h','e','.','h','t','m',0};
static const CHAR dwl_htmlA[] = "dwl.html";
@@ -191,6 +194,10 @@ static BOOL async_switch = FALSE;
static BOOL strict_bsc_qi;
static DWORD bindtest_flags;
static const char *test_file;
+static BOOL auth_supported = FALSE;
+static BOOL auth_fail = FALSE;
+static BOOL auth_ask_for_credentials = FALSE;
+static DWORD response_code = 200;
static WCHAR file_url[INTERNET_MAX_URL_LENGTH], current_url[INTERNET_MAX_URL_LENGTH];
@@ -203,7 +210,8 @@ static enum {
HTTPS_TEST,
FTP_TEST,
WINETEST_TEST,
- WINETEST_SYNC_TEST
+ WINETEST_SYNC_TEST,
+ HTTP_BASIC_AUTH_TEST
} test_protocol;
static enum {
@@ -233,7 +241,7 @@ static BOOL proxy_active(void)
static BOOL is_urlmon_protocol(int prot)
{
- return prot == FILE_TEST || prot == HTTP_TEST || prot == HTTPS_TEST || prot == FTP_TEST || prot == MK_TEST;
+ return prot == FILE_TEST || prot == HTTP_TEST || prot == HTTPS_TEST || prot == FTP_TEST || prot == MK_TEST || prot == HTTP_BASIC_AUTH_TEST;
}
static void test_CreateURLMoniker(LPCWSTR url1, LPCWSTR url2)
@@ -1240,7 +1248,7 @@ static HRESULT WINAPI HttpNegotiate_BeginningTransaction(IHttpNegotiate2 *iface,
ok(GetCurrentThreadId() == thread_id, "wrong thread %d\n", GetCurrentThreadId());
- ok(!lstrcmpW(szURL, current_url), "szURL != current_url\n");
+ ok(!lstrcmpW(szURL, current_url), "got %s, expected %s\n", debugstr_w(szURL), debugstr_w(current_url));
ok(!dwReserved, "dwReserved=%d, expected 0\n", dwReserved);
ok(pszAdditionalHeaders != NULL, "pszAdditionalHeaders == NULL\n");
if(pszAdditionalHeaders)
@@ -1256,9 +1264,12 @@ static HRESULT WINAPI HttpNegotiate_OnResponse(IHttpNegotiate2 *iface, DWORD dwR
ok(GetCurrentThreadId() == thread_id, "wrong thread %d\n", GetCurrentThreadId());
- ok(dwResponseCode == 200, "dwResponseCode=%d, expected 200\n", dwResponseCode);
+ ok(dwResponseCode == response_code, "dwResponseCode=%d, expected %u\n", dwResponseCode, response_code);
ok(szResponseHeaders != NULL, "szResponseHeaders == NULL\n");
- ok(szRequestHeaders == NULL, "szRequestHeaders != NULL\n");
+ if (auth_supported)
+ ok(szRequestHeaders != NULL, "szRequestHeaders == NULL\n");
+ else
+ ok(szRequestHeaders == NULL, "szRequestHeaders != NULL\n");
/* Note: in protocol.c tests, OnResponse pszAdditionalRequestHeaders _is_ NULL */
ok(pszAdditionalRequestHeaders != NULL, "pszAdditionalHeaders == NULL\n");
if(pszAdditionalRequestHeaders)
@@ -1437,6 +1448,62 @@ static IServiceProviderVtbl ServiceProviderVtbl = {
static IServiceProvider ServiceProvider = { &ServiceProviderVtbl };
+static HRESULT WINAPI Authenticate_QueryInterface(IAuthenticate *iface, REFIID riid, void **ppv)
+{
+ if(IsEqualGUID(riid, &IID_IAuthenticateEx)) {
+ CHECK_EXPECT(QueryInterface_IAuthenticateEx);
+ *ppv = NULL;
+ return E_NOINTERFACE;
+ }
+
+ if(IsEqualGUID(riid, &IID_IAuthenticate)) {
+ CHECK_EXPECT(QueryInterface_IAuthenticate);
+ *ppv = iface;
+ return S_OK;
+ }
+
+ ok(0, "Unexpected interface requested: %s\n", debugstr_guid(riid));
+ return E_NOINTERFACE;
+}
+
+static ULONG WINAPI Authenticate_AddRef(IAuthenticate *iface)
+{
+ return 2;
+}
+
+static ULONG WINAPI Authenticate_Release(IAuthenticate *iface)
+{
+ return 1;
+}
+
+static HRESULT WINAPI Authenticate_Authenticate(IAuthenticate *iface, HWND *hwnd, LPWSTR *user, LPWSTR *pass)
+{
+ if (winetest_debug > 1)
+ trace("IAuthenticate::Authenticate()\n");
+
+ CHECK_EXPECT(Authenticate_Authenticate);
+
+ if(auth_fail)
+ return E_NOTIMPL;
+
+ if(auth_ask_for_credentials) {
+ binding_hres = INET_E_DATA_NOT_AVAILABLE;
+ *hwnd = GetDesktopWindow();
+ }else
+ *hwnd = 0;
+ *user = *pass = NULL;
+ return S_OK;
+}
+
+static IAuthenticateVtbl AuthenticateVtbl = {
+ Authenticate_QueryInterface,
+ Authenticate_AddRef,
+ Authenticate_Release,
+ Authenticate_Authenticate
+};
+
+static IAuthenticate Authenticate = { &AuthenticateVtbl };
+
static IBindStatusCallbackEx objbsc;
static void test_WinInetHttpInfo(IWinInetHttpInfo *http_info, DWORD progress)
@@ -1465,7 +1532,7 @@ static void test_WinInetHttpInfo(IWinInetHttpInfo *http_info, DWORD progress)
if(download_state == BEFORE_DOWNLOAD && progress != BINDSTATUS_MIMETYPEAVAILABLE && progress != BINDSTATUS_DECODING)
ok(status == 0, "progress %u: status = %d\n", progress, status);
else
- ok(status == HTTP_STATUS_OK, "progress %u: status = %d\n", progress, status);
+ ok(status == response_code, "progress %u: status = %d, expected %d\n", progress, status, response_code);
ok(size == sizeof(DWORD), "size = %d\n", size);
}
@@ -1513,6 +1580,11 @@ static HRESULT WINAPI statusclb_QueryInterface(IBindStatusCallbackEx *iface, REF
return S_OK;
}else if (IsEqualGUID(&IID_IAuthenticate, riid)) {
CHECK_EXPECT(QueryInterface_IAuthenticate);
+ if (auth_supported)
+ {
+ *ppv = &Authenticate;
+ return S_OK;
+ }
return E_NOINTERFACE;
}else if(IsEqualGUID(&IID_IBindStatusCallback, riid)) {
if(strict_bsc_qi)
@@ -1843,6 +1915,7 @@ static HRESULT WINAPI statusclb_OnStopBinding(IBindStatusCallbackEx *iface, HRES
else
ok(hresult == E_ABORT, "binding failed: %08x, expected E_ABORT\n", hresult);
} else
+todo_wine_if(auth_ask_for_credentials)
ok(hresult == binding_hres, "binding failed: %08x, expected %08x\n", hresult, binding_hres);
ok(szError == NULL, "szError should be NULL\n");
@@ -1873,7 +1946,7 @@ static HRESULT WINAPI statusclb_OnStopBinding(IBindStatusCallbackEx *iface, HRES
ok(IsEqualCLSID(&clsid, &CLSID_FileProtocol),
"incorrect protocol CLSID: %s, expected CLSID_FileProtocol\n",
wine_dbgstr_guid(&clsid));
- }else if(test_protocol == HTTP_TEST) {
+ }else if(test_protocol == HTTP_TEST || test_protocol == HTTP_BASIC_AUTH_TEST) {
ok(IsEqualCLSID(&clsid, &CLSID_HttpProtocol),
"incorrect protocol CLSID: %s, expected CLSID_HttpProtocol\n",
wine_dbgstr_guid(&clsid));
@@ -2844,13 +2917,17 @@ static void init_bind_test(int protocol, DWORD flags, DWORD t)
stopped_obj_binding = FALSE;
data_available = FALSE;
mime_type[0] = 0;
- binding_hres = S_OK;
+ binding_hres = protocol == HTTP_BASIC_AUTH_TEST ? E_ACCESSDENIED : S_OK;
bind_to_object = (flags & BINDTEST_TOOBJECT) != 0;
tymed = t;
filedwl_api = (flags & BINDTEST_FILEDWLAPI) != 0;
post_test = (flags & BINDTEST_HTTPRESPONSE) != 0;
switch(protocol) {
+ case HTTP_BASIC_AUTH_TEST:
+ lstrcpyW(current_url, L"http://httpbin.org/basic-auth/foo/bar");
+ break;
+
case HTTP_TEST:
if(post_test)
url_a = "http://test.winehq.org/tests/post.php";
@@ -2890,7 +2967,7 @@ static void init_bind_test(int protocol, DWORD flags, DWORD t)
abort_start = (flags & BINDTEST_ABORT_START) != 0;
abort_progress = (flags & BINDTEST_ABORT_PROGRESS) != 0;
async_switch = (flags & BINDTEST_ASYNC_SWITCH) != 0;
- is_async_prot = protocol == HTTP_TEST || protocol == HTTPS_TEST || protocol == FTP_TEST || protocol == WINETEST_TEST;
+ is_async_prot = protocol == HTTP_TEST || protocol == HTTPS_TEST || protocol == FTP_TEST || protocol == WINETEST_TEST || protocol == HTTP_BASIC_AUTH_TEST;
prot_state = 0;
ResetEvent(complete_event);
@@ -3005,7 +3082,7 @@ static void test_MonikerComposeWith(void)
IMoniker_Release(outmon);
}
-static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
+static void test_BindToStorage(int protocol, DWORD flags, DWORD t, DWORD exhres)
{
IMoniker *mon;
HRESULT hres;
@@ -3018,6 +3095,7 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
IBinding *bind;
init_bind_test(protocol, flags, t);
+ binding_hres = exhres;
allow_finding_resource = (flags & BINDTEST_ALLOW_FINDINGRESOURCE) != 0;
if(no_callback) {
@@ -3073,7 +3151,6 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
binding_hres = INET_E_INVALID_CERTIFICATE;
}
-
if(only_check_prot_args)
SET_EXPECT(OnStopBinding);
if(!no_callback) {
@@ -3094,7 +3171,7 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
if(tymed != TYMED_FILE || (test_protocol != ABOUT_TEST && test_protocol != ITS_TEST))
SET_EXPECT(UnlockRequest);
}else {
- if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == WINETEST_TEST) {
+ if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == WINETEST_TEST || test_protocol == HTTP_BASIC_AUTH_TEST) {
SET_EXPECT(QueryService_IInternetBindInfo);
if(!abort_start)
SET_EXPECT(QueryInterface_IHttpNegotiate);
@@ -3119,9 +3196,16 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
}
if(!no_callback) {
if((test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == FTP_TEST
- || test_protocol == FILE_TEST || test_protocol == WINETEST_TEST) && !abort_start)
+ || test_protocol == FILE_TEST || test_protocol == WINETEST_TEST || test_protocol == HTTP_BASIC_AUTH_TEST) && !abort_start)
SET_EXPECT(OnProgress_SENDINGREQUEST);
- if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == WINETEST_TEST) {
+ if(test_protocol == HTTP_BASIC_AUTH_TEST) {
+ SET_EXPECT(QueryInterface_IAuthenticate);
+ SET_EXPECT(QueryInterface_IAuthenticateEx);
+ if (!auth_supported)
+ SET_EXPECT(QueryService_IAuthenticate);
+ SET_EXPECT(Authenticate_Authenticate);
+ }
+ if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == WINETEST_TEST || test_protocol == HTTP_BASIC_AUTH_TEST) {
SET_EXPECT(QueryInterface_IHttpNegotiate);
SET_EXPECT(OnResponse);
}
@@ -3142,7 +3226,7 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
}
hres = IMoniker_BindToStorage(mon, bctx, NULL, tymed == TYMED_ISTREAM ? &IID_IStream : &IID_IUnknown, (void**)&unk);
- if ((test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
+ if ((test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == HTTP_BASIC_AUTH_TEST)
&& hres == HRESULT_FROM_WIN32(ERROR_INTERNET_NAME_NOT_RESOLVED))
{
skip("Network unreachable, skipping tests\n");
@@ -3183,6 +3267,10 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
invalid_cn_accepted = FALSE;
binding_hres = INET_E_INVALID_CERTIFICATE;
}
+ }else if(FAILED(binding_hres)) {
+todo_wine_if(auth_ask_for_credentials)
+ ok(hres == exhres, "IMoniker_BindToStorage failed: %08x, expected %08x\n", hres, exhres);
+ ok(!unk, "unk = %p, expected NULL\n", unk);
}else {
ok(hres == S_OK, "IMoniker_BindToStorage failed: %08x\n", hres);
ok(unk != NULL, "unk == NULL\n");
@@ -3302,7 +3390,7 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
CHECK_CALLED(OnDataAvailable);
else
CHECK_NOT_CALLED(OnDataAvailable);
- }else if((tymed != TYMED_FILE || test_protocol != ABOUT_TEST) && !abort_start)
+ }else if((tymed != TYMED_FILE || test_protocol != ABOUT_TEST) && !abort_start && binding_hres == S_OK)
CHECK_CALLED(OnDataAvailable);
CHECK_CALLED(OnStopBinding);
}
@@ -4033,10 +4121,30 @@ START_TEST(url)
test_BindToStorage_fail();
trace("synchronous http test (COM not initialised)...\n");
- test_BindToStorage(HTTP_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, 0, TYMED_ISTREAM, S_OK);
CoInitialize(NULL);
+ http_is_first = TRUE;
+ trace("IAuthenticate test...\n");
+ test_BindToStorage(HTTP_BASIC_AUTH_TEST, 0, 0, E_ACCESSDENIED);
+
+ auth_supported = TRUE;
+ trace("IAuthenticate test (auth_supported)...\n");
+ test_BindToStorage(HTTP_BASIC_AUTH_TEST, 0, 0, E_ACCESSDENIED);
+
+ if(winetest_interactive) { /* Press ESC when asked for credentials*/
+ auth_ask_for_credentials = TRUE;
+ response_code = 401;
+ trace("IAuthenticate interactive test...\n");
+ test_BindToStorage(HTTP_BASIC_AUTH_TEST, 0, 0, S_OK);
+ }
+
+ auth_supported = FALSE;
+ auth_ask_for_credentials = FALSE;
+ http_is_first = FALSE;
+ response_code = 200;
+
trace("test StdURLMoniker...\n");
test_StdURLMoniker();
@@ -4044,28 +4152,28 @@ START_TEST(url)
test_MonikerComposeWith();
trace("synchronous http test...\n");
- test_BindToStorage(HTTP_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, 0, TYMED_ISTREAM, S_OK);
trace("emulated synchronous http test (to file)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_FILE);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_FILE, S_OK);
trace("synchronous http test (to object)...\n");
test_BindToObject(HTTP_TEST, 0, S_OK);
trace("emulated synchronous http test (with cache)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_USE_CACHE, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_USE_CACHE, TYMED_ISTREAM, S_OK);
trace("emulated synchronous http test (with cache, no read)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_USE_CACHE|BINDTEST_NO_CALLBACK_READ, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_USE_CACHE|BINDTEST_NO_CALLBACK_READ, TYMED_ISTREAM, 0);
trace("synchronous http test (with cache, no read)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_USE_CACHE|BINDTEST_NO_CALLBACK_READ, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_USE_CACHE|BINDTEST_NO_CALLBACK_READ, TYMED_ISTREAM, S_OK);
trace("synchronous file test...\n");
- test_BindToStorage(FILE_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(FILE_TEST, 0, TYMED_ISTREAM, 0);
trace("emulated synchronous file test (to file)...\n");
- test_BindToStorage(FILE_TEST, BINDTEST_EMULATE, TYMED_FILE);
+ test_BindToStorage(FILE_TEST, BINDTEST_EMULATE, TYMED_FILE, S_OK);
trace("synchronous file test (to object)...\n");
test_BindToObject(FILE_TEST, 0, S_OK);
@@ -4076,31 +4184,31 @@ START_TEST(url)
create_html_file();
trace("file test (no callback)...\n");
- test_BindToStorage(FILE_TEST, BINDTEST_NO_CALLBACK, TYMED_ISTREAM);
+ test_BindToStorage(FILE_TEST, BINDTEST_NO_CALLBACK, TYMED_ISTREAM, S_OK);
if(can_do_https()) {
trace("synchronous https test (invalid CN, dialog)\n");
onsecurityproblem_hres = S_FALSE;
http_is_first = TRUE;
- test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM);
+ test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM, S_OK);
bindf = BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE | BINDF_PULLDATA;
trace("asynchronous https test (invalid CN, fail)\n");
onsecurityproblem_hres = E_FAIL;
- test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM);
+ test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM, S_OK);
trace("asynchronous https test (invalid CN, accept)\n");
onsecurityproblem_hres = S_OK;
- test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM);
+ test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM, S_OK);
trace("asynchronous https test (invalid CN, dialog 2)\n");
onsecurityproblem_hres = S_FALSE;
- test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM);
+ test_BindToStorage(HTTPS_TEST, BINDTEST_INVALID_CN, TYMED_ISTREAM, S_OK);
invalid_cn_accepted = FALSE;
trace("asynchronous https test...\n");
- test_BindToStorage(HTTPS_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(HTTPS_TEST, 0, TYMED_ISTREAM, S_OK);
}else {
win_skip("Skipping https tests\n");
}
@@ -4108,39 +4216,39 @@ START_TEST(url)
bindf = BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE | BINDF_PULLDATA;
trace("winetest test (async switch)...\n");
- test_BindToStorage(WINETEST_TEST, BINDTEST_EMULATE|BINDTEST_ASYNC_SWITCH, TYMED_ISTREAM);
+ test_BindToStorage(WINETEST_TEST, BINDTEST_EMULATE|BINDTEST_ASYNC_SWITCH, TYMED_ISTREAM, S_OK);
trace("about test (no read)...\n");
- test_BindToStorage(ABOUT_TEST, BINDTEST_NO_CALLBACK_READ, TYMED_ISTREAM);
+ test_BindToStorage(ABOUT_TEST, BINDTEST_NO_CALLBACK_READ, TYMED_ISTREAM, S_OK);
trace("http test...\n");
- test_BindToStorage(HTTP_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, 0, TYMED_ISTREAM, 0);
trace("http test (to file)...\n");
- test_BindToStorage(HTTP_TEST, 0, TYMED_FILE);
+ test_BindToStorage(HTTP_TEST, 0, TYMED_FILE, 0);
trace("http test (to object)...\n");
test_BindToObject(HTTP_TEST, 0, S_OK);
trace("http test (short response)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_HTTPRESPONSE|BINDTEST_ALLOW_FINDINGRESOURCE, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_HTTPRESPONSE|BINDTEST_ALLOW_FINDINGRESOURCE, TYMED_ISTREAM, S_OK);
trace("http test (short response, to object)...\n");
test_BindToObject(HTTP_TEST, 0, S_OK);
trace("http test (abort start binding E_NOTIMPL)...\n");
abort_hres = E_NOTIMPL;
- test_BindToStorage(HTTP_TEST, BINDTEST_ABORT_START, TYMED_FILE);
+ test_BindToStorage(HTTP_TEST, BINDTEST_ABORT_START, TYMED_FILE, S_OK);
trace("http test (abort start binding E_ABORT)...\n");
abort_hres = E_ABORT;
- test_BindToStorage(HTTP_TEST, BINDTEST_ABORT_START, TYMED_FILE);
+ test_BindToStorage(HTTP_TEST, BINDTEST_ABORT_START, TYMED_FILE, S_OK);
trace("http test (abort progress)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_ABORT_PROGRESS|BINDTEST_ALLOW_FINDINGRESOURCE, TYMED_FILE);
+ test_BindToStorage(HTTP_TEST, BINDTEST_ABORT_PROGRESS|BINDTEST_ALLOW_FINDINGRESOURCE, TYMED_FILE, S_OK);
trace("emulated http test...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
trace("emulated http test (to object)...\n");
test_BindToObject(HTTP_TEST, BINDTEST_EMULATE, S_OK);
@@ -4149,67 +4257,67 @@ START_TEST(url)
test_BindToObject(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_REDIRECT, S_OK);
trace("emulated http test (to file)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_FILE);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_FILE, S_OK);
trace("emulated http test (redirect)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_REDIRECT, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_REDIRECT, TYMED_ISTREAM, S_OK);
trace("emulated http test (with cache)...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_USE_CACHE, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_USE_CACHE, TYMED_ISTREAM, S_OK);
trace("winetest test (no callback)...\n");
- test_BindToStorage(WINETEST_TEST, BINDTEST_EMULATE|BINDTEST_NO_CALLBACK|BINDTEST_USE_CACHE, TYMED_ISTREAM);
+ test_BindToStorage(WINETEST_TEST, BINDTEST_EMULATE|BINDTEST_NO_CALLBACK|BINDTEST_USE_CACHE, TYMED_ISTREAM, S_OK);
trace("emulated https test...\n");
- test_BindToStorage(HTTPS_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(HTTPS_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
trace("about test...\n");
- test_BindToStorage(ABOUT_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(ABOUT_TEST, 0, TYMED_ISTREAM, S_OK);
trace("about test (to file)...\n");
- test_BindToStorage(ABOUT_TEST, 0, TYMED_FILE);
+ test_BindToStorage(ABOUT_TEST, 0, TYMED_FILE, S_OK);
trace("about test (to object)...\n");
test_BindToObject(ABOUT_TEST, 0, S_OK);
trace("emulated about test...\n");
- test_BindToStorage(ABOUT_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(ABOUT_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
trace("emulated about test (to file)...\n");
- test_BindToStorage(ABOUT_TEST, BINDTEST_EMULATE, TYMED_FILE);
+ test_BindToStorage(ABOUT_TEST, BINDTEST_EMULATE, TYMED_FILE, S_OK);
trace("emulated about test (to object)...\n");
test_BindToObject(ABOUT_TEST, BINDTEST_EMULATE, S_OK);
trace("emulalated test reporting result in read...\n");
- test_BindToStorage(WINETEST_SYNC_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(WINETEST_SYNC_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
trace("file test...\n");
- test_BindToStorage(FILE_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(FILE_TEST, 0, TYMED_ISTREAM, S_OK);
trace("file test (to file)...\n");
- test_BindToStorage(FILE_TEST, 0, TYMED_FILE);
+ test_BindToStorage(FILE_TEST, 0, TYMED_FILE, S_OK);
trace("file test (to object)...\n");
test_BindToObject(FILE_TEST, 0, S_OK);
trace("emulated file test...\n");
- test_BindToStorage(FILE_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(FILE_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
trace("emulated file test (to file)...\n");
- test_BindToStorage(FILE_TEST, BINDTEST_EMULATE, TYMED_FILE);
+ test_BindToStorage(FILE_TEST, BINDTEST_EMULATE, TYMED_FILE, S_OK);
trace("emulated file test (to object)...\n");
test_BindToObject(FILE_TEST, BINDTEST_EMULATE, S_OK);
trace("emulated its test...\n");
- test_BindToStorage(ITS_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(ITS_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
trace("emulated its test (to file)...\n");
- test_BindToStorage(ITS_TEST, BINDTEST_EMULATE, TYMED_FILE);
+ test_BindToStorage(ITS_TEST, BINDTEST_EMULATE, TYMED_FILE, S_OK);
trace("emulated mk test...\n");
- test_BindToStorage(MK_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(MK_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
trace("test URLDownloadToFile for file protocol...\n");
test_URLDownloadToFile(FILE_TEST, FALSE);
@@ -4224,12 +4332,12 @@ START_TEST(url)
test_URLDownloadToFile_abort();
trace("test emulated http abort...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_ABORT, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE|BINDTEST_ABORT, TYMED_ISTREAM, S_OK);
bindf |= BINDF_NOWRITECACHE;
trace("ftp test...\n");
- test_BindToStorage(FTP_TEST, 0, TYMED_ISTREAM);
+ test_BindToStorage(FTP_TEST, 0, TYMED_ISTREAM, S_OK);
trace("test failures...\n");
test_BindToStorage_fail();
@@ -4238,7 +4346,7 @@ START_TEST(url)
only_check_prot_args = TRUE; /* Fail after checking arguments to Protocol_Start */
trace("check emulated http protocol arguments...\n");
- test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_ISTREAM);
+ test_BindToStorage(HTTP_TEST, BINDTEST_EMULATE, TYMED_ISTREAM, S_OK);
}
DeleteFileA(test_file);
--
2.31.1
More information about the wine-devel
mailing list