Dan Kegel : kernel32: Add initial test for DefineDosDevice.
Alexandre Julliard
julliard at winehq.org
Mon Jul 25 11:43:12 CDT 2011
Module: wine
Branch: master
Commit: c63d085d1f0dd1d7c28aa7e17fbfd21180e24c6b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c63d085d1f0dd1d7c28aa7e17fbfd21180e24c6b
Author: Dan Kegel <dank at kegel.com>
Date: Sat Jul 23 15:09:57 2011 -0700
kernel32: Add initial test for DefineDosDevice.
---
dlls/kernel32/tests/volume.c | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/dlls/kernel32/tests/volume.c b/dlls/kernel32/tests/volume.c
index fb920f3..813ff0b 100644
--- a/dlls/kernel32/tests/volume.c
+++ b/dlls/kernel32/tests/volume.c
@@ -75,6 +75,40 @@ static void test_query_dos_deviceA(void)
HeapFree( GetProcessHeap(), 0, buffer );
}
+void test_define_dos_deviceA(void)
+{
+ char drivestr[3];
+ char buf[MAX_PATH];
+ DWORD ret;
+
+ /* Find an unused drive letter */
+ drivestr[1] = ':';
+ drivestr[2] = 0;
+ for (drivestr[0] = 'a'; drivestr[0] <= 'z'; drivestr[0]++) {
+ ret = QueryDosDeviceA( drivestr, buf, sizeof(buf));
+ if (!ret) break;
+ }
+ if (drivestr[0] > 'z') {
+ skip("can't test creating a dos drive, none available\n");
+ return;
+ }
+
+ /* Map it to point to the current directory */
+ ret = GetCurrentDirectory(sizeof(buf), buf);
+ ok(ret, "GetCurrentDir\n");
+
+ ret = DefineDosDeviceA(0, drivestr, buf);
+ todo_wine
+ ok(ret, "Could not make drive %s point to %s! \n", drivestr, buf);
+
+ if (!ret) {
+ skip("can't test removing fake drive\n");
+ } else {
+ ret = DefineDosDeviceA(DDD_REMOVE_DEFINITION, drivestr, NULL);
+ ok(ret, "Could not remove fake drive %s!\n", drivestr);
+ }
+}
+
static void test_FindFirstVolume(void)
{
char volume[51];
@@ -705,6 +739,7 @@ START_TEST(volume)
pGetVolumePathNamesForVolumeNameW = (void *) GetProcAddress(hdll, "GetVolumePathNamesForVolumeNameW");
test_query_dos_deviceA();
+ test_define_dos_deviceA();
test_FindFirstVolume();
test_GetVolumeNameForVolumeMountPointA();
test_GetVolumeNameForVolumeMountPointW();
More information about the wine-cvs
mailing list