Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- Dropping support for very old Windows versions allows us to enable the test for SearchPathW with a null filename. --- dlls/kernel32/tests/path.c | 82 ++++++++++---------------------------- 1 file changed, 20 insertions(+), 62 deletions(-)
diff --git a/dlls/kernel32/tests/path.c b/dlls/kernel32/tests/path.c index 2955be0da9c..db376eef24a 100644 --- a/dlls/kernel32/tests/path.c +++ b/dlls/kernel32/tests/path.c @@ -350,8 +350,7 @@ static void test_InitPathA(CHAR *newdir, CHAR *curDrive, CHAR *otherDrive) "GetTempPathA returned a path that did not end in '\'\n"); lstrcpyA(tmpstr,"aaaaaaaa"); len1=GetTempPathA(len,tmpstr); - ok(len1==len+1 || broken(len1 == len), /* WinME */ - "GetTempPathA should return string length %d instead of %d\n",len+1,len1); + ok(len1==len+1,"GetTempPathA should return string length %d instead of %d\n",len+1,len1);
/* Test GetTmpFileNameA */ ok((id=GetTempFileNameA(tmppath,"path",0,newdir)),"GetTempFileNameA failed\n"); @@ -364,25 +363,20 @@ static void test_InitPathA(CHAR *newdir, CHAR *curDrive, CHAR *otherDrive) ok(DeleteFileA(newdir),"Couldn't delete the temporary file we just created\n");
id=GetTempFileNameA(tmppath,NULL,0,newdir); -/* Windows 95, 98 return 0==id, while Windows 2000, XP return 0!=id */ - if (id) - { - sprintf(tmpstr,"%.4x.tmp",id & 0xffff); - sprintf(tmpstr1,"%x.tmp",id & 0xffff); - ok(lstrcmpiA(newdir+lstrlenA(tmppath),tmpstr)==0 || - lstrcmpiA(newdir+lstrlenA(tmppath),tmpstr1)==0, - "GetTempFileNameA returned '%s' which doesn't match '%s' or '%s'. id=%x\n", - newdir,tmpstr,tmpstr1,id); - ok(DeleteFileA(newdir),"Couldn't delete the temporary file we just created\n"); - } + sprintf(tmpstr,"%.4x.tmp",id & 0xffff); + sprintf(tmpstr1,"%x.tmp",id & 0xffff); + ok(lstrcmpiA(newdir+lstrlenA(tmppath),tmpstr)==0 || + lstrcmpiA(newdir+lstrlenA(tmppath),tmpstr1)==0, + "GetTempFileNameA returned '%s' which doesn't match '%s' or '%s'. id=%x\n", + newdir,tmpstr,tmpstr1,id); + ok(DeleteFileA(newdir),"Couldn't delete the temporary file we just created\n");
for(unique=0;unique<3;unique++) { /* Nonexistent path */ sprintf(invalid_dir, "%s\%s",tmppath,"non_existent_dir_1jwj3y32nb3"); SetLastError(0xdeadbeef); ok(!GetTempFileNameA(invalid_dir,"tfn",unique,newdir),"GetTempFileNameA should have failed\n"); - ok(GetLastError()==ERROR_DIRECTORY || broken(GetLastError()==ERROR_PATH_NOT_FOUND)/*win98*/, - "got %d, expected ERROR_DIRECTORY\n", GetLastError()); + ok(GetLastError()==ERROR_DIRECTORY,"got %u, expected ERROR_DIRECTORY\n", GetLastError());
/* Check return value for unique !=0 */ if(unique) { @@ -489,12 +483,12 @@ static void test_CurrentDirectoryA(CHAR *origdir, CHAR *newdir) SetLastError( 0xdeadbeef ); strcpy( buffer, "foo" ); len = GetCurrentDirectoryA( 65536, buffer ); - ok( (len != 0 && len < MAX_PATH) || broken(!len), /* nt4 */ "GetCurrentDirectoryA failed %u err %u\n", len, GetLastError() ); + ok( (len != 0 && len < MAX_PATH), "GetCurrentDirectoryA failed %u err %u\n", len, GetLastError() ); if (len) ok( !strcmp( buffer, origdir ), "wrong result %s\n", buffer ); SetLastError( 0xdeadbeef ); strcpy( buffer, "foo" ); len = GetCurrentDirectoryA( 2 * 65536, buffer ); - ok( (len != 0 && len < MAX_PATH) || broken(!len), /* nt4 */ "GetCurrentDirectoryA failed %u err %u\n", len, GetLastError() ); + ok( (len != 0 && len < MAX_PATH), "GetCurrentDirectoryA failed %u err %u\n", len, GetLastError() ); if (len) ok( !strcmp( buffer, origdir ), "wrong result %s\n", buffer ); HeapFree( GetProcessHeap(), 0, buffer );
@@ -1004,11 +998,6 @@ static void test_GetTempPathW(char* tmp_dir)
lstrcpyW(buf, fooW); len = GetTempPathW(MAX_PATH, buf); - if (len == 0 && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) - { - win_skip("GetTempPathW is not available\n"); - return; - } ok(lstrcmpiW(buf, tmp_dirW) == 0, "GetTempPathW returned an incorrect temporary path\n"); ok(len == lstrlenW(buf), "returned length should be equal to the length of string\n");
@@ -1185,12 +1174,6 @@ static void test_GetLongPathNameA(void)
SetLastError(0xdeadbeef); length = GetLongPathNameA(temppath2, NULL, 0); - if (length == 0 && GetLastError() == ERROR_BAD_NET_NAME) - { - win_skip("UNC syntax tests don't work on Win98/WinMe\n"); - DeleteFileA(tempfile); - return; - } ok(length == explength, "Wrong length %d, expected %d\n", length, explength);
length = GetLongPathNameA(temppath2, NULL, MAX_PATH); @@ -1275,11 +1258,6 @@ static void test_GetLongPathNameW(void)
SetLastError(0xdeadbeef); length = GetLongPathNameW(NULL,NULL,0); - if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) - { - win_skip("GetLongPathNameW is not implemented\n"); - return; - } ok(0==length,"GetLongPathNameW returned %d but expected 0\n",length); ok(GetLastError()==ERROR_INVALID_PARAMETER,"GetLastError returned %d but expected ERROR_INVALID_PARAMETER\n",GetLastError());
@@ -1371,13 +1349,7 @@ static void test_GetShortPathNameW(void) HANDLE file; int ret;
- SetLastError(0xdeadbeef); GetTempPathW( MAX_PATH, tmppath ); - if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) - { - win_skip("GetTempPathW is not implemented\n"); - return; - }
lstrcpyW( path, tmppath ); lstrcatW( path, test_path ); @@ -1462,11 +1434,8 @@ static void test_GetSystemDirectory(void)
SetLastError(0xdeadbeef); res = GetSystemDirectoryA(NULL, total-1); - /* 95+NT: total (includes the terminating Zero) - 98+ME: 0 with ERROR_INVALID_PARAMETER */ - ok( (res == total) || (!res && (GetLastError() == ERROR_INVALID_PARAMETER)), - "returned %d with %d (expected '%d' or: '0' with " - "ERROR_INVALID_PARAMETER)\n", res, GetLastError(), total); + ok( res == total, "returned %u with %u (expected '%u')\n", + res, GetLastError(), total );
if (total > MAX_PATH) return;
@@ -1521,11 +1490,8 @@ static void test_GetWindowsDirectory(void)
SetLastError(0xdeadbeef); res = GetWindowsDirectoryA(NULL, total-1); - /* 95+NT: total (includes the terminating Zero) - 98+ME: 0 with ERROR_INVALID_PARAMETER */ - ok( (res == total) || (!res && (GetLastError() == ERROR_INVALID_PARAMETER)), - "returned %d with %d (expected '%d' or: '0' with " - "ERROR_INVALID_PARAMETER)\n", res, GetLastError(), total); + ok( res == total, "returned %u with %u (expected '%u')\n", + res, GetLastError(), total );
if (total > MAX_PATH) return;
@@ -1912,11 +1878,11 @@ static void test_SearchPathW(void) HANDLE handle; DWORD ret;
-if (0) -{ - /* NULL filename, crashes on nt4 */ - SearchPathW(pathW, NULL, NULL, ARRAY_SIZE(buffW), buffW, &ptrW); -} + /* NULL filename */ + ret = SearchPathW(pathW, NULL, NULL, ARRAY_SIZE(buffW), buffW, &ptrW); + ok(ret == 0, "Expected failure, got %d\n", ret); + ok(GetLastError() == ERROR_INVALID_PARAMETER, + "Expected ERROR_INVALID_PARAMETER, got %#x\n", GetLastError());
GetWindowsDirectoryW(pathW, ARRAY_SIZE(pathW));
@@ -2105,14 +2071,6 @@ static void test_GetFullPathNameW(void) {emptyW, MAX_PATH, output, &filepart, 1}, };
- SetLastError(0xdeadbeef); - ret = GetFullPathNameW(NULL, 0, NULL, NULL); - if (!ret && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) - { - win_skip("GetFullPathNameW is not available\n"); - return; - } - for (i = 0; i < ARRAY_SIZE(invalid_parameters); i++) { SetLastError(0xdeadbeef);