[PATCH 3/3] lz32/tests: More checks for various LZOpenFile[AW]
operations on existing files.
Saulius Krasuckas
saulius.krasuckas at ieee.org
Wed Sep 27 04:49:31 CDT 2006
---
dlls/lz32/tests/lzexpand_main.c | 124 +++++++++++++++++++++++++++++++++++++++
1 files changed, 124 insertions(+), 0 deletions(-)
6c84d56b31e9f795be0efdbab3d3282807ce0141
diff --git a/dlls/lz32/tests/lzexpand_main.c b/dlls/lz32/tests/lzexpand_main.c
index 103751a..9427db8 100644
--- a/dlls/lz32/tests/lzexpand_main.c
+++ b/dlls/lz32/tests/lzexpand_main.c
@@ -354,6 +354,7 @@ static void test_LZOpenFileA(void)
DWORD retval;
INT file;
static char badfilename_[] = "badfilename_";
+ char expected[MAX_PATH];
SetLastError(0xfaceabee);
/* Check for nonexistent file. */
@@ -364,57 +365,118 @@ static void test_LZOpenFileA(void)
"GetLastError() returns %ld\n", GetLastError());
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* Create an empty file. */
file = LZOpenFileA(filename_, &test, OF_CREATE);
ok(file >= 0, "LZOpenFileA failed on creation\n");
ok(GetLastError() == ERROR_SUCCESS || GetLastError() == ERROR_FILE_NOT_FOUND,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileA set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileA returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+
retval = GetFileAttributesA(filename_);
ok(retval != INVALID_FILE_ATTRIBUTES, "GetFileAttributesA: error %ld\n",
GetLastError());
/* Check various opening options: */
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* a, for reading. */
file = LZOpenFileA(filename_, &test, OF_READ);
ok(file >= 0, "LZOpenFileA failed on read\n");
ok(GetLastError() == ERROR_SUCCESS || GetLastError() == ERROR_BAD_PATHNAME,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileA set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileA returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* b, for writing. */
file = LZOpenFileA(filename_, &test, OF_WRITE);
ok(file >= 0, "LZOpenFileA failed on write\n");
ok(GetLastError() == ERROR_SUCCESS || GetLastError() == ERROR_BAD_PATHNAME,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileA set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileA returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* c, for reading and writing. */
file = LZOpenFileA(filename_, &test, OF_READWRITE);
ok(file >= 0, "LZOpenFileA failed on read/write\n");
ok(GetLastError() == ERROR_SUCCESS || GetLastError() == ERROR_BAD_PATHNAME,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileA set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileA returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* d, for checking file existance. */
file = LZOpenFileA(filename_, &test, OF_EXIST);
ok(file >= 0, "LZOpenFileA failed on read/write\n");
ok(GetLastError() == ERROR_SUCCESS || GetLastError() == ERROR_BAD_PATHNAME,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileA set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileA returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* Delete the file then make sure it doesn't exist anymore. */
file = LZOpenFileA(filename_, &test, OF_DELETE);
ok(file >= 0, "LZOpenFileA failed on delete\n");
todo_wine
ok(GetLastError() == ERROR_SUCCESS || GetLastError() == ERROR_BAD_PATHNAME,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileA set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileA returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
retval = GetFileAttributesA(filename_);
@@ -731,6 +793,7 @@ static void test_LZOpenFileW(void)
DWORD retval;
INT file;
static WCHAR badfilenameW[] = {'b','a','d','f','i','l','e','n','a','m','e','.','x','t','n',0};
+ char expected[MAX_PATH];
SetLastError(0xfaceabee);
/* Check for nonexistent file. */
@@ -746,57 +809,118 @@ static void test_LZOpenFileW(void)
"LZOpenFileW succeeded on nonexistent file\n");
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* Create an empty file. */
file = LZOpenFileW(filenameW_, &test, OF_CREATE);
ok(file >= 0, "LZOpenFile failed on creation\n");
ok(GetLastError() == ERROR_SUCCESS,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileW set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileW returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+
retval = GetFileAttributesW(filenameW_);
ok(retval != INVALID_FILE_ATTRIBUTES, "GetFileAttributes: error %ld\n",
GetLastError());
/* Check various opening options: */
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* a, for reading. */
file = LZOpenFileW(filenameW_, &test, OF_READ);
ok(file >= 0, "LZOpenFileW failed on read\n");
ok(GetLastError() == ERROR_SUCCESS,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileW set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileW returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* b, for writing. */
file = LZOpenFileW(filenameW_, &test, OF_WRITE);
ok(file >= 0, "LZOpenFileW failed on write\n");
ok(GetLastError() == ERROR_SUCCESS,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileW set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileW returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* c, for reading and writing. */
file = LZOpenFileW(filenameW_, &test, OF_READWRITE);
ok(file >= 0, "LZOpenFileW failed on read/write\n");
ok(GetLastError() == ERROR_SUCCESS,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileW set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileW returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* d, for checking file existance. */
file = LZOpenFileW(filenameW_, &test, OF_EXIST);
ok(file >= 0, "LZOpenFileW failed on read/write\n");
ok(GetLastError() == ERROR_SUCCESS,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileW set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileW returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
+ memset(&test, 0xA5, sizeof(test));
+ full_file_path_name_in_a_CWD(filename_, expected, FALSE);
SetLastError(0xfaceabee);
+
/* Delete the file then make sure it doesn't exist anymore. */
file = LZOpenFileW(filenameW_, &test, OF_DELETE);
ok(file >= 0, "LZOpenFileW failed on delete\n");
todo_wine
ok(GetLastError() == ERROR_SUCCESS,
"GetLastError() returns %ld\n", GetLastError());
+ ok(test.cBytes == sizeof(OFSTRUCT),
+ "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
+ ok(test.nErrCode == ERROR_SUCCESS,
+ "LZOpenFileW set test.nErrCode to %d\n", test.nErrCode);
+ ok(lstrcmpA(test.szPathName, expected) == 0,
+ "LZOpenFileW returned '%s', but was expected to return '%s'\n",
+ test.szPathName, expected);
LZClose(file);
retval = GetFileAttributesW(filenameW_);
--
1.3.3
More information about the wine-patches
mailing list