[wininet/tests] Add a few more tests
Paul Vriens
paul.vriens.wine at gmail.com
Wed Feb 7 08:54:30 CST 2007
Hi,
I've added a few FtpGetFile related tests. Wine currently almost always creates
the local file which is not correct (at least it shouldn't be there after a
failed call).
Changelog
Add a few more tests
Cheers,
Paul.
-------------- next part --------------
diff --git a/dlls/wininet/tests/ftp.c b/dlls/wininet/tests/ftp.c
index df36db7..3a5fa70 100644
--- a/dlls/wininet/tests/ftp.c
+++ b/dlls/wininet/tests/ftp.c
@@ -253,6 +253,11 @@ static void test_getfile(void)
return;
}
+ /* Make sure we start clean */
+
+ DeleteFileA("should_be_non_existing_deadbeef");
+ DeleteFileA("should_also_be_non_existing_deadbeef");
+
/* We should have a ftp-connection, try some getting */
/* No remote file */
@@ -260,8 +265,14 @@ static void test_getfile(void)
bRet = FtpGetFileA(hFtp, NULL, "should_be_non_existing_deadbeef", FALSE, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_UNKNOWN, 0);
ok ( bRet == FALSE, "Expected FtpGetFileA to fail\n");
todo_wine
+ {
ok ( GetLastError() == ERROR_INVALID_PARAMETER,
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+ /* Currently Wine always creates the local file (even on failure) which is not correct, hence the test */
+ ok (GetFileAttributesA("should_be_non_existing_deadbeef") == INVALID_FILE_ATTRIBUTES,
+ "Local file should not have been created\n");
+ }
+ DeleteFileA("should_be_non_existing_deadbeef");
/* No local file */
SetLastError(0xdeadbeef);
@@ -280,6 +291,9 @@ static void test_getfile(void)
ok ( GetLastError() == ERROR_SUCCESS,
"Expected ERROR_SUCCESS, got %d\n", GetLastError());
}
+ /* Wine passes this test but for the wrong reason */
+ ok (GetFileAttributesA("should_be_non_existing_deadbeef") != INVALID_FILE_ATTRIBUTES,
+ "Local file should have been created\n");
DeleteFileA("should_be_non_existing_deadbeef");
/* Illegal condition flags */
@@ -287,20 +301,25 @@ static void test_getfile(void)
bRet = FtpGetFileA(hFtp, "welcome.msg", "should_be_non_existing_deadbeef", FALSE, FILE_ATTRIBUTE_NORMAL, 5, 0);
ok ( bRet == FALSE, "Expected FtpGetFileA to fail\n");
todo_wine
+ {
ok ( GetLastError() == ERROR_INVALID_PARAMETER,
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+ ok (GetFileAttributesA("should_be_non_existing_deadbeef") == INVALID_FILE_ATTRIBUTES,
+ "Local file should not have been created\n");
+ }
+ DeleteFileA("should_be_non_existing_deadbeef");
/* Remote file doesn't exist */
SetLastError(0xdeadbeef);
bRet = FtpGetFileA(hFtp, "should_be_non_existing_deadbeef", "should_also_be_non_existing_deadbeef", FALSE, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_UNKNOWN, 0);
ok ( bRet == FALSE, "Expected FtpGetFileA to fail\n");
todo_wine
+ {
ok ( GetLastError() == ERROR_INTERNET_EXTENDED_ERROR,
"Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n", GetLastError());
- /* Wine currently creates the file (empty though), cater for that */
- todo_wine
ok (GetFileAttributesA("should_also_be_non_existing_deadbeef") == INVALID_FILE_ATTRIBUTES,
"Local file should not have been created\n");
+ }
DeleteFileA("should_also_be_non_existing_deadbeef");
/* This one should succeed and give us a copy of the 'welcome.msg' file */
--
1.4.4.4
More information about the wine-patches
mailing list