Erich E. Hoover : kernel32/tests: Add a bunch more GetVolumePathName tests.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jun 23 09:17:15 CDT 2015
Module: wine
Branch: master
Commit: 62279b7f4d879d341e70879b10d842e1128ef395
URL: http://source.winehq.org/git/wine.git/?a=commit;h=62279b7f4d879d341e70879b10d842e1128ef395
Author: Erich E. Hoover <erich.e.hoover at wine-staging.com>
Date: Wed Jun 17 19:29:16 2015 -0600
kernel32/tests: Add a bunch more GetVolumePathName tests.
---
dlls/kernel32/tests/volume.c | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/volume.c b/dlls/kernel32/tests/volume.c
index 2bb2603..3eb7fed 100644
--- a/dlls/kernel32/tests/volume.c
+++ b/dlls/kernel32/tests/volume.c
@@ -635,6 +635,34 @@ static void test_GetVolumePathNameA(void)
"\\\\$$$", "C:\\", 1,
ERROR_INVALID_NAME, ERROR_FILENAME_EXCED_RANGE
},
+ { /* test 9: a reasonable DOS path that is guaranteed to exist */
+ "C:\\windows\\system32", "C:\\", sizeof(volume_path),
+ NO_ERROR, NO_ERROR
+ },
+ { /* test 10: a reasonable DOS path that shouldn't exist */
+ "C:\\windows\\system32\\AnInvalidFolder", "C:\\", sizeof(volume_path),
+ NO_ERROR, NO_ERROR
+ },
+ { /* test 11: a reasonable NT-converted DOS path that shouldn't exist */
+ "\\\\?\\C:\\AnInvalidFolder", "\\\\?\\C:\\", sizeof(volume_path),
+ NO_ERROR, NO_ERROR
+ },
+ { /* test 12: an unreasonable NT-converted DOS path */
+ "\\\\?\\InvalidDrive:\\AnInvalidFolder", "\\\\?\\InvalidDrive:\\" /* win2k, winxp */,
+ sizeof(volume_path),
+ ERROR_INVALID_NAME, NO_ERROR
+ },
+ { /* test 13: an unreasonable NT volume path */
+ "\\\\?\\Volume{00000000-00-0000-0000-000000000000}\\AnInvalidFolder",
+ "\\\\?\\Volume{00000000-00-0000-0000-000000000000}\\" /* win2k, winxp */,
+ sizeof(volume_path),
+ ERROR_INVALID_NAME, NO_ERROR
+ },
+ { /* test 14: an unreasonable NT-ish path */
+ "\\\\ReallyBogus\\InvalidDrive:\\AnInvalidFolder",
+ "\\\\ReallyBogus\\InvalidDrive:\\" /* win2k, winxp */, sizeof(volume_path),
+ ERROR_INVALID_NAME, NO_ERROR
+ },
};
BOOL ret, success;
DWORD error;
@@ -649,6 +677,7 @@ static void test_GetVolumePathNameA(void)
for (i=0; i<sizeof(test_paths)/sizeof(test_paths[0]); i++)
{
+ BOOL broken_ret = test_paths[i].broken_error == NO_ERROR ? TRUE : FALSE;
char *output = (test_paths[i].path_name != NULL ? volume_path : NULL);
BOOL expected_ret = test_paths[i].error == NO_ERROR ? TRUE : FALSE;
@@ -656,7 +685,8 @@ static void test_GetVolumePathNameA(void)
SetLastError( 0xdeadbeef );
ret = pGetVolumePathNameA( test_paths[i].file_name, output, test_paths[i].path_len );
error = GetLastError();
- ok(ret == expected_ret, "GetVolumePathName test %d %s unexpectedly.\n",
+ ok(ret == expected_ret || broken(ret == broken_ret),
+ "GetVolumePathName test %d %s unexpectedly.\n",
i, test_paths[i].error == NO_ERROR ? "failed" : "succeeded");
if (ret)
More information about the wine-cvs
mailing list