diff --git a/dlls/kernel32/tests/volume.c b/dlls/kernel32/tests/volume.c index 5b117b82afa..7ed55d7013d 100644 --- a/dlls/kernel32/tests/volume.c +++ b/dlls/kernel32/tests/volume.c @@ -591,7 +591,7 @@ static void test_disk_extents(void) static void test_GetVolumePathNameA(void) { - char volume_path[MAX_PATH]; + char volume_path[MAX_PATH], cwd[MAX_PATH]; struct { const char *file_name; const char *path_name; @@ -671,6 +671,10 @@ static void test_GetVolumePathNameA(void) "M::", "C:\\", 4, ERROR_FILE_NOT_FOUND, ERROR_MORE_DATA }, + { /* test 17: an unreasonable DOS path */ + "InvalidDrive:\\AnInvalidFolder", "%CurrentDrive%\\", sizeof(volume_path), + NO_ERROR, NO_ERROR + }, }; BOOL ret, success; DWORD error; @@ -683,6 +687,13 @@ static void test_GetVolumePathNameA(void) return; } + /* Obtain the drive of the working directory */ + ret = GetCurrentDirectoryA( sizeof(cwd), cwd ); + ok( ret, "Failed to obtain the current working directory.\n" ); + cwd[2] = 0; + ret = SetEnvironmentVariableA( "CurrentDrive", cwd ); + ok( ret, "Failed to set an environment variable for the current working drive.\n" ); + for (i=0; i