kernel32/tests: Add tests to verify GetVolumeNameForVolumeMountPointA returns correct string.
This commit is contained in:
parent
f7e6777e6e
commit
fce0f9ab8a
|
@ -343,6 +343,56 @@ static void test_GetVolumeInformationA(void)
|
||||||
"GetVolumeInformationA failed, root=%s, last error=%u\n", windowsdir, GetLastError());
|
"GetVolumeInformationA failed, root=%s, last error=%u\n", windowsdir, GetLastError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Test to check that unique volume name from windows dir mount point */
|
||||||
|
/* matches at least one of the unique volume names returned from the */
|
||||||
|
/* FindFirstVolumeA/FindNextVolumeA list. */
|
||||||
|
static void test_enum_vols(void)
|
||||||
|
{
|
||||||
|
DWORD ret;
|
||||||
|
HANDLE hFind = INVALID_HANDLE_VALUE;
|
||||||
|
char Volume_1[MAX_PATH] = {0};
|
||||||
|
char Volume_2[MAX_PATH] = {0};
|
||||||
|
char path[] = "c:\\";
|
||||||
|
BOOL found = FALSE;
|
||||||
|
char windowsdir[MAX_PATH];
|
||||||
|
|
||||||
|
if (!pGetVolumeNameForVolumeMountPointA) {
|
||||||
|
win_skip("GetVolumeNameForVolumeMountPointA not found\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*get windows drive letter and update strings for testing */
|
||||||
|
ret = GetWindowsDirectory( windowsdir, sizeof(windowsdir) );
|
||||||
|
ok(ret < sizeof(windowsdir), "windowsdir is abnormally long!\n");
|
||||||
|
ok(ret != 0, "GetWindowsDirecory: error %d\n", GetLastError());
|
||||||
|
path[0] = windowsdir[0];
|
||||||
|
|
||||||
|
/* get the unique volume name for the windows drive */
|
||||||
|
ret = pGetVolumeNameForVolumeMountPointA( path, Volume_1, MAX_PATH );
|
||||||
|
ok(ret == TRUE, "GetVolumeNameForVolumeMountPointA failed\n");
|
||||||
|
todo_wine
|
||||||
|
ok(strlen(Volume_1) == 49, "GetVolumeNameForVolumeMountPointA returned wrong length name %s\n", Volume_1);
|
||||||
|
|
||||||
|
/* get first unique volume name of list */
|
||||||
|
hFind = pFindFirstVolumeA( Volume_2, MAX_PATH );
|
||||||
|
ok(hFind != INVALID_HANDLE_VALUE, "FindFirstVolume failed, err=%u\n",
|
||||||
|
GetLastError());
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
/* validate correct length of unique volume name */
|
||||||
|
ok(strlen(Volume_2) == 49, "Find[First/Next]Volume returned wrong length name %s\n", Volume_1);
|
||||||
|
if (memcmp(Volume_1, Volume_2, 49) == 0)
|
||||||
|
{
|
||||||
|
found = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (pFindNextVolumeA( hFind, Volume_2, MAX_PATH ));
|
||||||
|
todo_wine
|
||||||
|
ok(found, "volume name %s not found by Find[First/Next]Volume\n", Volume_1);
|
||||||
|
pFindVolumeClose( hFind );
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(volume)
|
START_TEST(volume)
|
||||||
{
|
{
|
||||||
hdll = GetModuleHandleA("kernel32.dll");
|
hdll = GetModuleHandleA("kernel32.dll");
|
||||||
|
@ -362,4 +412,5 @@ START_TEST(volume)
|
||||||
test_GetLogicalDriveStringsA();
|
test_GetLogicalDriveStringsA();
|
||||||
test_GetLogicalDriveStringsW();
|
test_GetLogicalDriveStringsW();
|
||||||
test_GetVolumeInformationA();
|
test_GetVolumeInformationA();
|
||||||
|
test_enum_vols();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue