Commit 89bdd639 authored by Francois Gouget's avatar Francois Gouget Committed by Alexandre Julliard

wininet/tests: FtpCommandA() is not available on Win9x. So load it dynamically and skip some tests.

parent dd50ac4e
...@@ -42,6 +42,10 @@ ...@@ -42,6 +42,10 @@
#include "wine/test.h" #include "wine/test.h"
static BOOL (WINAPI *pFtpCommandA)(HINTERNET,BOOL,DWORD,LPCSTR,DWORD_PTR,HINTERNET*);
static void test_getfile_no_open(void) static void test_getfile_no_open(void)
{ {
BOOL bRet; BOOL bRet;
...@@ -680,10 +684,16 @@ static void test_command(HINTERNET hFtp, HINTERNET hConnect) ...@@ -680,10 +684,16 @@ static void test_command(HINTERNET hFtp, HINTERNET hConnect)
{ TRUE, ERROR_SUCCESS, "PWD\r\n" } { TRUE, ERROR_SUCCESS, "PWD\r\n" }
}; };
if (!pFtpCommandA)
{
skip("FtpCommandA() is not available. Skipping the Ftp command tests\n");
return;
}
for (i = 0; i < sizeof(command_test) / sizeof(command_test[0]); i++) for (i = 0; i < sizeof(command_test) / sizeof(command_test[0]); i++)
{ {
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
ret = FtpCommandA(hFtp, FALSE, FTP_TRANSFER_TYPE_ASCII, command_test[i].cmd, 0, NULL); ret = pFtpCommandA(hFtp, FALSE, FTP_TRANSFER_TYPE_ASCII, command_test[i].cmd, 0, NULL);
error = GetLastError(); error = GetLastError();
ok(ret == command_test[i].ret, "%d: expected FtpCommandA to %s\n", i, command_test[i].ret ? "succeed" : "fail"); ok(ret == command_test[i].ret, "%d: expected FtpCommandA to %s\n", i, command_test[i].ret ? "succeed" : "fail");
...@@ -697,8 +707,14 @@ static void test_get_current_dir(HINTERNET hFtp, HINTERNET hConnect) ...@@ -697,8 +707,14 @@ static void test_get_current_dir(HINTERNET hFtp, HINTERNET hConnect)
DWORD dwCurrentDirectoryLen = MAX_PATH; DWORD dwCurrentDirectoryLen = MAX_PATH;
CHAR lpszCurrentDirectory[MAX_PATH]; CHAR lpszCurrentDirectory[MAX_PATH];
if (!pFtpCommandA)
{
skip("FtpCommandA() is not available. Skipping the Ftp get_current_dir tests\n");
return;
}
/* change directories to get a more interesting pwd */ /* change directories to get a more interesting pwd */
bRet = FtpCommandA(hFtp, FALSE, FTP_TRANSFER_TYPE_ASCII, "CWD pub/", 0, NULL); bRet = pFtpCommandA(hFtp, FALSE, FTP_TRANSFER_TYPE_ASCII, "CWD pub/", 0, NULL);
if(bRet == FALSE) if(bRet == FALSE)
{ {
skip("Failed to change directories in test_get_current_dir(HINTERNET hFtp).\n"); skip("Failed to change directories in test_get_current_dir(HINTERNET hFtp).\n");
...@@ -771,8 +787,12 @@ static void test_get_current_dir(HINTERNET hFtp, HINTERNET hConnect) ...@@ -771,8 +787,12 @@ static void test_get_current_dir(HINTERNET hFtp, HINTERNET hConnect)
START_TEST(ftp) START_TEST(ftp)
{ {
HMODULE hWininet;
HANDLE hInternet, hFtp, hHttp; HANDLE hInternet, hFtp, hHttp;
hWininet = GetModuleHandleA("wininet.dll");
pFtpCommandA = (void*)GetProcAddress(hWininet, "FtpCommandA");
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
hInternet = InternetOpen("winetest", 0, NULL, NULL, 0); hInternet = InternetOpen("winetest", 0, NULL, NULL, 0);
ok(hInternet != NULL, "InternetOpen failed: %u\n", GetLastError()); ok(hInternet != NULL, "InternetOpen failed: %u\n", GetLastError());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment