[resend] wininet/tests: Dynamically load some functions so the test
runs on Windows 98.
Francois Gouget
fgouget at free.fr
Tue Feb 20 08:53:49 CST 2007
---
dlls/wininet/tests/http.c | 65 +++++++++++++++++++++++++++++++--------------
1 files changed, 45 insertions(+), 20 deletions(-)
diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c
index d6e9bb4..837f7e1 100644
--- a/dlls/wininet/tests/http.c
+++ b/dlls/wininet/tests/http.c
@@ -35,6 +35,13 @@
static HANDLE hCompleteEvent;
+static INTERNET_STATUS_CALLBACK (WINAPI *pInternetSetStatusCallbackA)(HINTERNET ,INTERNET_STATUS_CALLBACK);
+static BOOL (WINAPI *pInternetTimeFromSystemTimeA)(CONST SYSTEMTIME *,DWORD ,LPSTR ,DWORD);
+static BOOL (WINAPI *pInternetTimeFromSystemTimeW)(CONST SYSTEMTIME *,DWORD ,LPWSTR ,DWORD);
+static BOOL (WINAPI *pInternetTimeToSystemTimeA)(LPCSTR ,SYSTEMTIME *,DWORD);
+static BOOL (WINAPI *pInternetTimeToSystemTimeW)(LPCWSTR ,SYSTEMTIME *,DWORD);
+
+
static VOID WINAPI callback(
HINTERNET hInternet,
DWORD_PTR dwContext,
@@ -176,7 +183,7 @@ static void InternetReadFile_test(int flags)
if (hi == 0x0) goto abort;
- InternetSetStatusCallback(hi,&callback);
+ pInternetSetStatusCallbackA(hi,&callback);
trace("InternetConnectA <--\n");
hic=InternetConnectA(hi, "www.winehq.org", INTERNET_INVALID_PORT_NUMBER,
@@ -318,7 +325,7 @@ static void InternetReadFileExA_test(int flags)
if (hi == 0x0) goto abort;
- InternetSetStatusCallback(hi,&callback);
+ pInternetSetStatusCallbackA(hi,&callback);
trace("InternetConnectA <--\n");
hic=InternetConnectA(hi, "www.winehq.org", INTERNET_INVALID_PORT_NUMBER,
@@ -488,7 +495,7 @@ static void InternetTimeFromSystemTimeA_test(void)
char string[INTERNET_RFC1123_BUFSIZE];
static const char expect[] = "Fri, 07 Jan 2005 12:06:35 GMT";
- ret = InternetTimeFromSystemTimeA( &time, INTERNET_RFC1123_FORMAT, string, sizeof(string) );
+ ret = pInternetTimeFromSystemTimeA( &time, INTERNET_RFC1123_FORMAT, string, sizeof(string) );
ok( ret, "InternetTimeFromSystemTimeA failed (%u)\n", GetLastError() );
ok( !memcmp( string, expect, sizeof(expect) ),
@@ -503,7 +510,7 @@ static void InternetTimeFromSystemTimeW_test(void)
static const WCHAR expect[] = { 'F','r','i',',',' ','0','7',' ','J','a','n',' ','2','0','0','5',' ',
'1','2',':','0','6',':','3','5',' ','G','M','T',0 };
- ret = InternetTimeFromSystemTimeW( &time, INTERNET_RFC1123_FORMAT, string, sizeof(string) );
+ ret = pInternetTimeFromSystemTimeW( &time, INTERNET_RFC1123_FORMAT, string, sizeof(string) );
ok( ret, "InternetTimeFromSystemTimeW failed (%u)\n", GetLastError() );
ok( !memcmp( string, expect, sizeof(expect) ),
@@ -518,12 +525,12 @@ static void InternetTimeToSystemTimeA_test(void)
static const char string[] = "Fri, 07 Jan 2005 12:06:35 GMT";
static const char string2[] = " fri 7 jan 2005 12 06 35";
- ret = InternetTimeToSystemTimeA( string, &time, 0 );
+ ret = pInternetTimeToSystemTimeA( string, &time, 0 );
ok( ret, "InternetTimeToSystemTimeA failed (%u)\n", GetLastError() );
ok( !memcmp( &time, &expect, sizeof(expect) ),
"InternetTimeToSystemTimeA failed (%u)\n", GetLastError() );
- ret = InternetTimeToSystemTimeA( string2, &time, 0 );
+ ret = pInternetTimeToSystemTimeA( string2, &time, 0 );
ok( ret, "InternetTimeToSystemTimeA failed (%u)\n", GetLastError() );
ok( !memcmp( &time, &expect, sizeof(expect) ),
"InternetTimeToSystemTimeA failed (%u)\n", GetLastError() );
@@ -540,29 +547,29 @@ static void InternetTimeToSystemTimeW_test(void)
'1','2',' ','0','6',' ','3','5',0 };
static const WCHAR string3[] = { 'F','r',0 };
- ret = InternetTimeToSystemTimeW( NULL, NULL, 0 );
+ ret = pInternetTimeToSystemTimeW( NULL, NULL, 0 );
ok( !ret, "InternetTimeToSystemTimeW succeeded (%u)\n", GetLastError() );
- ret = InternetTimeToSystemTimeW( NULL, &time, 0 );
+ ret = pInternetTimeToSystemTimeW( NULL, &time, 0 );
ok( !ret, "InternetTimeToSystemTimeW succeeded (%u)\n", GetLastError() );
- ret = InternetTimeToSystemTimeW( string, NULL, 0 );
+ ret = pInternetTimeToSystemTimeW( string, NULL, 0 );
ok( !ret, "InternetTimeToSystemTimeW succeeded (%u)\n", GetLastError() );
- ret = InternetTimeToSystemTimeW( string, &time, 0 );
+ ret = pInternetTimeToSystemTimeW( string, &time, 0 );
ok( ret, "InternetTimeToSystemTimeW failed (%u)\n", GetLastError() );
- ret = InternetTimeToSystemTimeW( string, &time, 0 );
+ ret = pInternetTimeToSystemTimeW( string, &time, 0 );
ok( ret, "InternetTimeToSystemTimeW failed (%u)\n", GetLastError() );
ok( !memcmp( &time, &expect, sizeof(expect) ),
"InternetTimeToSystemTimeW failed (%u)\n", GetLastError() );
- ret = InternetTimeToSystemTimeW( string2, &time, 0 );
+ ret = pInternetTimeToSystemTimeW( string2, &time, 0 );
ok( ret, "InternetTimeToSystemTimeW failed (%u)\n", GetLastError() );
ok( !memcmp( &time, &expect, sizeof(expect) ),
"InternetTimeToSystemTimeW failed (%u)\n", GetLastError() );
- ret = InternetTimeToSystemTimeW( string3, &time, 0 );
+ ret = pInternetTimeToSystemTimeW( string3, &time, 0 );
ok( ret, "InternetTimeToSystemTimeW failed (%u)\n", GetLastError() );
}
@@ -1128,15 +1135,33 @@ static void test_http_connection(void)
START_TEST(http)
{
- InternetReadFile_test(INTERNET_FLAG_ASYNC);
- InternetReadFile_test(0);
- InternetReadFileExA_test(INTERNET_FLAG_ASYNC);
+ HMODULE hdll;;
+ hdll = GetModuleHandleA("wininet.dll");
+ pInternetSetStatusCallbackA = (void*)GetProcAddress(hdll, "InternetSetStatusCallbackA");
+ pInternetTimeFromSystemTimeA = (void*)GetProcAddress(hdll, "InternetTimeFromSystemTimeA");
+ pInternetTimeFromSystemTimeW = (void*)GetProcAddress(hdll, "InternetTimeFromSystemTimeW");
+ pInternetTimeToSystemTimeA = (void*)GetProcAddress(hdll, "InternetTimeToSystemTimeA");
+ pInternetTimeToSystemTimeW = (void*)GetProcAddress(hdll, "InternetTimeToSystemTimeW");
+
+ if (!pInternetSetStatusCallbackA)
+ skip("skipping the InternetReadFile tests\n");
+ else
+ {
+ InternetReadFile_test(INTERNET_FLAG_ASYNC);
+ InternetReadFile_test(0);
+ InternetReadFileExA_test(INTERNET_FLAG_ASYNC);
+ }
InternetOpenRequest_test();
InternetOpenUrlA_test();
- InternetTimeFromSystemTimeA_test();
- InternetTimeFromSystemTimeW_test();
- InternetTimeToSystemTimeA_test();
- InternetTimeToSystemTimeW_test();
+ if (!pInternetTimeFromSystemTimeA)
+ skip("skipping the InternetTime tests\n");
+ else
+ {
+ InternetTimeFromSystemTimeA_test();
+ InternetTimeFromSystemTimeW_test();
+ InternetTimeToSystemTimeA_test();
+ InternetTimeToSystemTimeW_test();
+ }
HttpSendRequestEx_test();
HttpHeaders_test();
test_http_connection();
--
1.4.4.4
More information about the wine-patches
mailing list