[PATCH 1/3] lz32/tests: Test more last errors set by LZOpenFile[AW].

Saulius Krasuckas saulius.krasuckas at ieee.org
Wed Sep 27 04:48:02 CDT 2006


---

 dlls/lz32/tests/lzexpand_main.c |  112 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 110 insertions(+), 2 deletions(-)

db3a293f82ab2d835c9353f1337d2e58a2a044a5
diff --git a/dlls/lz32/tests/lzexpand_main.c b/dlls/lz32/tests/lzexpand_main.c
index eead144..bc53ccf 100644
--- a/dlls/lz32/tests/lzexpand_main.c
+++ b/dlls/lz32/tests/lzexpand_main.c
@@ -131,6 +131,7 @@ static void test_LZOpenFileA_existing_co
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(filename_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* a, using 8.3-conformant file name. */
   file = LZOpenFileA(filename, &test, OF_EXIST);
@@ -139,6 +140,8 @@ static void test_LZOpenFileA_existing_co
      operating systems.  Doesn't seem to on my copy of Win98.   
    */
   if(file != LZERROR_BADINHANDLE) {
+    ok(GetLastError() == ERROR_SUCCESS,
+       "GetLastError() returns %ld\n", GetLastError());
     ok(test.cBytes == sizeof(OFSTRUCT), 
        "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
     ok(test.nErrCode == 0, "LZOpenFileA set test.nErrCode to %d\n", 
@@ -148,6 +151,8 @@ static void test_LZOpenFileA_existing_co
        test.szPathName, expected);
     LZClose(file);
   } else { /* Win9x */
+    ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+       "GetLastError() returns %ld\n", GetLastError());
     ok(test.cBytes == 0xA5, 
        "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
     ok(test.nErrCode == ERROR_FILE_NOT_FOUND, 
@@ -160,10 +165,13 @@ static void test_LZOpenFileA_existing_co
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(dotless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* b, using dotless file name. */
   file = LZOpenFileA(dotless, &test, OF_EXIST);
   if(file != LZERROR_BADINHANDLE) {
+    ok(GetLastError() == ERROR_SUCCESS,
+       "GetLastError() returns %ld\n", GetLastError());
     ok(test.cBytes == sizeof(OFSTRUCT), 
        "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
     ok(test.nErrCode == 0, "LZOpenFileA set test.nErrCode to %d\n", 
@@ -173,6 +181,8 @@ static void test_LZOpenFileA_existing_co
        test.szPathName, expected);
     LZClose(file);
   } else { /* Win9x */
+    ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+       "GetLastError() returns %ld\n", GetLastError());
     todo_wine
     ok(test.cBytes == 0xA5, 
        "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
@@ -187,10 +197,13 @@ static void test_LZOpenFileA_existing_co
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(extless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* c, using extensionless file name. */
   file = LZOpenFileA(extless, &test, OF_EXIST);
   if(file != LZERROR_BADINHANDLE) {
+    ok(GetLastError() == ERROR_SUCCESS,
+       "GetLastError() returns %ld\n", GetLastError());
     ok(test.cBytes == sizeof(OFSTRUCT), 
        "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
     ok(test.nErrCode == 0, "LZOpenFileA set test.nErrCode to %d\n", 
@@ -200,6 +213,8 @@ static void test_LZOpenFileA_existing_co
        test.szPathName, expected);
     LZClose(file);
   } else { /* Win9x */
+    ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+       "GetLastError() returns %ld\n", GetLastError());
     ok(test.cBytes == 0xA5, 
        "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
     ok(test.nErrCode == ERROR_FILE_NOT_FOUND, 
@@ -213,10 +228,13 @@ static void test_LZOpenFileA_existing_co
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(_terminated_, expected, FALSE);
   full_file_path_name_in_a_CWD(_terminated_, short_expected, TRUE);
+  SetLastError(0xfaceabee);
 
   /* d, using underscore-terminated file name. */
   file = LZOpenFileA(_terminated, &test, OF_EXIST);
   ok(file >= 0, "LZOpenFileA failed on switching to a compressed file name\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 == 0, "LZOpenFileA set test.nErrCode to %d\n", 
@@ -244,6 +262,7 @@ static void test_LZOpenFileA_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(filename_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* a, using 8.3-conformant file name. */
   file = LZOpenFileA(filename, &test, OF_EXIST);
@@ -253,6 +272,8 @@ static void test_LZOpenFileA_nonexisting
    */
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileA succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
@@ -266,11 +287,14 @@ static void test_LZOpenFileA_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(dotless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* b, using dotless file name. */
   file = LZOpenFileA(dotless, &test, OF_EXIST);
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileA succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
@@ -284,11 +308,14 @@ static void test_LZOpenFileA_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(extless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* c, using extensionless file name. */
   file = LZOpenFileA(extless, &test, OF_EXIST);
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileA succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
@@ -302,11 +329,14 @@ static void test_LZOpenFileA_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(_terminated_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* d, using underscore-terminated file name. */
   file = LZOpenFileA(_terminated, &test, OF_EXIST);
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileA succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
@@ -334,31 +364,57 @@ static void test_LZOpenFileA(void)
      "GetLastError() returns %ld\n", GetLastError());
   LZClose(file);
 
+  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());
   LZClose(file);
   retval = GetFileAttributesA(filename_);
   ok(retval != INVALID_FILE_ATTRIBUTES, "GetFileAttributesA: error %ld\n", 
      GetLastError());
 
-  /* Check various opening options. */
+  /* Check various opening options: */
+  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());
   LZClose(file);
+
+  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());
   LZClose(file);
+
+  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());
   LZClose(file);
+
+  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());
   LZClose(file);
 
+  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());
   LZClose(file);
 
   retval = GetFileAttributesA(filename_);
@@ -493,6 +549,7 @@ static void test_LZOpenFileW_existing_co
 
   full_file_path_name_in_a_CWD(filename_, expected, FALSE);
   memset(&test, 0xA5, sizeof(test));
+  SetLastError(0xfaceabee);
 
   /* a, using 8.3-conformant file name. */
   file = LZOpenFileW(filenameW, &test, OF_EXIST);
@@ -500,6 +557,8 @@ static void test_LZOpenFileW_existing_co
      check for the file "foo.xx_" and open that.
    */
   ok(file >= 0, "LZOpenFileW failed on switching to a compressed file name\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", 
@@ -512,10 +571,13 @@ static void test_LZOpenFileW_existing_co
 
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(dotless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* b, using dotless file name. */
   file = LZOpenFileW(dotlessW, &test, OF_EXIST);
   ok(file >= 0, "LZOpenFileW failed on switching to a compressed file name\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", 
@@ -528,10 +590,13 @@ static void test_LZOpenFileW_existing_co
 
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(extless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* c, using extensionless file name. */
   file = LZOpenFileW(extlessW, &test, OF_EXIST);
   ok(file >= 0, "LZOpenFileW failed on switching to a compressed file name\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", 
@@ -544,10 +609,13 @@ static void test_LZOpenFileW_existing_co
 
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(_terminated_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* d, using underscore-terminated file name. */
   file = LZOpenFileW(_terminatedW, &test, OF_EXIST);
   ok(file >= 0, "LZOpenFileW failed on switching to a compressed file name\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", 
@@ -575,6 +643,7 @@ static void test_LZOpenFileW_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(filename_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* a, using 8.3-conformant file name. */
   file = LZOpenFileW(filenameW, &test, OF_EXIST);
@@ -584,6 +653,8 @@ static void test_LZOpenFileW_nonexisting
    */
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileW succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
@@ -596,11 +667,14 @@ static void test_LZOpenFileW_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(dotless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* b, using dotless file name. */
   file = LZOpenFileW(dotlessW, &test, OF_EXIST);
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileW succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
@@ -613,11 +687,14 @@ static void test_LZOpenFileW_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(extless_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* c, using extensionless file name. */
   file = LZOpenFileW(extlessW, &test, OF_EXIST);
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileW succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileW set test.cBytes to %d\n", test.cBytes);
@@ -630,11 +707,14 @@ static void test_LZOpenFileW_nonexisting
   memset(&filled_0xA5, 0xA5, OFS_MAXPATHNAME);
   memset(&test, 0xA5, sizeof(test));
   full_file_path_name_in_a_CWD(_terminated_, expected, FALSE);
+  SetLastError(0xfaceabee);
 
   /* d, using underscore-terminated file name. */
   file = LZOpenFileW(_terminatedW, &test, OF_EXIST);
   ok(file == LZERROR_BADINHANDLE, 
      "LZOpenFileW succeeded on nonexistent file\n");
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+     "GetLastError() returns %ld\n", GetLastError());
   todo_wine
   ok(test.cBytes == 0xA5, 
      "LZOpenFileA set test.cBytes to %d\n", test.cBytes);
@@ -655,6 +735,8 @@ static void test_LZOpenFileW(void)
   SetLastError(0xfaceabee);
   /* Check for nonexistent file. */
   file = LZOpenFileW(badfilenameW, &test, OF_READ);
+  ok(GetLastError() == ERROR_FILE_NOT_FOUND || GetLastError() == ERROR_CALL_NOT_IMPLEMENTED,
+     "GetLastError() returns %ld\n", GetLastError());
   if(GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
   {
     trace("LZOpenFileW call not implemented, skipping rest of the test\n");
@@ -664,31 +746,57 @@ static void test_LZOpenFileW(void)
      "LZOpenFileW succeeded on nonexistent file\n");
   LZClose(file);
 
+  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());
   LZClose(file);
   retval = GetFileAttributesW(filenameW_);
   ok(retval != INVALID_FILE_ATTRIBUTES, "GetFileAttributes: error %ld\n", 
     GetLastError());
 
-  /* Check various opening options. */
+  /* Check various opening options: */
+  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());
   LZClose(file);
+
+  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());
   LZClose(file);
+
+  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());
   LZClose(file);
+
+  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());
   LZClose(file);
 
+  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());
   LZClose(file);
 
   retval = GetFileAttributesW(filenameW_);
-- 
1.3.3



More information about the wine-patches mailing list