Guy Albertelli : kernel32/tests: Fix new problems with volume tests.
Alexandre Julliard
julliard at winehq.org
Thu Apr 30 11:01:11 CDT 2009
Module: wine
Branch: master
Commit: 1016bd7ec44a01c4f6acbf68dcc4cb665429a216
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1016bd7ec44a01c4f6acbf68dcc4cb665429a216
Author: Guy Albertelli <galberte at neo.rr.com>
Date: Wed Apr 29 15:33:01 2009 -0400
kernel32/tests: Fix new problems with volume tests.
---
dlls/kernel32/tests/volume.c | 46 +++++++----------------------------------
1 files changed, 8 insertions(+), 38 deletions(-)
diff --git a/dlls/kernel32/tests/volume.c b/dlls/kernel32/tests/volume.c
index 49703ef..19fc6f0 100644
--- a/dlls/kernel32/tests/volume.c
+++ b/dlls/kernel32/tests/volume.c
@@ -37,10 +37,15 @@ static BOOL (WINAPI *pGetVolumeInformationA)(LPCSTR, LPSTR, DWORD, LPDWORD, LPDW
static void test_query_dos_deviceA(void)
{
char drivestr[] = "a:";
- char *p, *q, *buffer, buffer2[2000];
+ char *p, *buffer, buffer2[2000];
DWORD ret, ret2, buflen=32768;
BOOL found = FALSE;
+ if (!pFindFirstVolumeA) {
+ win_skip("On win9x, HARDDISK and RAMDISK not present\n");
+ return;
+ }
+
buffer = HeapAlloc( GetProcessHeap(), 0, buflen );
ret = QueryDosDeviceA( NULL, buffer, buflen );
ok(ret && GetLastError() != ERROR_INSUFFICIENT_BUFFER,
@@ -54,29 +59,13 @@ static void test_query_dos_deviceA(void)
p = buffer;
for (;;) {
if (!strlen(p)) break;
- trace("device entry %s\n", p);
ret2 = QueryDosDeviceA( p, buffer2, sizeof(buffer2) );
- ok(ret2, "QueryDosDeviceA failed to return current mapping, last error %u\n", GetLastError());
- if (ret2) {
- q = buffer2;
- for (;;) {
- if (!strlen(q)) break;
- trace("for device %s, current mapping %s\n", p, q);
- q += strlen(q) + 1;
- if (ret2 <= (q-buffer2)) break;
- }
- }
+ ok(ret2, "QueryDosDeviceA failed to return current mapping for %s, last error %u\n", p, GetLastError());
p += strlen(p) + 1;
if (ret <= (p-buffer)) break;
}
}
- if (!pFindFirstVolumeA) {
- win_skip("On win9x, HARDDISK and RAMDISK not present\n");
- HeapFree( GetProcessHeap(), 0, buffer );
- return;
- }
-
for (;drivestr[0] <= 'z'; drivestr[0]++) {
ret = QueryDosDeviceA( drivestr, buffer, buflen);
if(ret) {
@@ -294,49 +283,30 @@ static void test_GetVolumeInformationA(void)
ret = pGetVolumeInformationA(NULL, vol_name_buf, vol_name_size, NULL,
NULL, NULL, fs_name_buf, fs_name_len);
ok(ret, "GetVolumeInformationA failed on null root dir, last error %u\n", GetLastError());
- if (ret) {
- trace("for %s, vol_serial_num=0x%08x, max_comp_len=%d, filesys flags=0x%08x, vol name=%s, filesys name=%s\n",
- "<NULL>", vol_serial_num, max_comp_len, fs_flags, vol_name_buf, fs_name_buf);
- }
/* Try normal drive letter with trailing \ */
ret = pGetVolumeInformationA(Root_Dir1, vol_name_buf, vol_name_size,
&vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
ok(ret, "GetVolumeInformationA failed, root=%s, last error=%u\n", Root_Dir1, GetLastError());
- if (ret) {
- trace("for %s, vol_serial_num=0x%08x, max_comp_len=%d, filesys flags=0x%08x, vol name=%s, filesys name=%s\n",
- Root_Dir1, vol_serial_num, max_comp_len, fs_flags, vol_name_buf, fs_name_buf);
- }
/* try again with dirve letter and the "disable parsing" prefix */
ret = pGetVolumeInformationA(Root_Dir2, vol_name_buf, vol_name_size,
&vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
todo_wine ok(ret, "GetVolumeInformationA failed, root=%s, last error=%u\n", Root_Dir2, GetLastError());
- if (ret) {
- trace("for %s, vol_serial_num=0x%08x, max_comp_len=%d, filesys flags=0x%08x, vol name=%s, filesys name=%s\n",
- Root_Dir2, vol_serial_num, max_comp_len, fs_flags, vol_name_buf, fs_name_buf);
- }
/* try again with unique voluem name */
ret = pGetVolumeInformationA(volume, vol_name_buf, vol_name_size,
&vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
todo_wine ok(ret, "GetVolumeInformationA failed, root=%s, last error=%u\n", volume, GetLastError());
- if (ret) {
- trace("for %s, vol_serial_num=0x%08x, max_comp_len=%d, filesys flags=0x%08x, vol name=%s, filesys name=%s\n",
- volume, vol_serial_num, max_comp_len, fs_flags, vol_name_buf, fs_name_buf);
- }
/* try again with device name space */
Root_Dir2[2] = '.';
ret = pGetVolumeInformationA(Root_Dir2, vol_name_buf, vol_name_size,
&vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
todo_wine ok(ret, "GetVolumeInformationA failed, root=%s, last error=%u\n", Root_Dir2, GetLastError());
- if (ret) {
- trace("for %s, vol_serial_num=0x%08x, max_comp_len=%d, filesys flags=0x%08x, vol name=%s, filesys name=%s\n",
- Root_Dir2, vol_serial_num, max_comp_len, fs_flags, vol_name_buf, fs_name_buf);
- }
/* try again with a directory off the root - should generate error */
+ if (windowsdir[strlen(windowsdir)-1] != '\\') strcat(windowsdir, "\\");
ret = pGetVolumeInformationA(windowsdir, vol_name_buf, vol_name_size,
&vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
todo_wine ok(!ret && GetLastError()==ERROR_DIR_NOT_ROOT,
More information about the wine-cvs
mailing list