Stefan Leichter : setupapi/tests: Test signature $Windows NT$ in SetupDiGetINFClassA too.

Alexandre Julliard julliard at winehq.org
Wed Dec 18 14:27:47 CST 2013


Module: wine
Branch: master
Commit: adbc691d209ffcb198f8f2d3b7d04f83f97d91e6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=adbc691d209ffcb198f8f2d3b7d04f83f97d91e6

Author: Stefan Leichter <Stefan.Leichter at camline.com>
Date:   Tue Dec 17 21:42:11 2013 +0100

setupapi/tests: Test signature $Windows NT$ in SetupDiGetINFClassA too.

---

 dlls/setupapi/tests/devinst.c |  154 +++++++++++++++++++++--------------------
 1 files changed, 80 insertions(+), 74 deletions(-)

diff --git a/dlls/setupapi/tests/devinst.c b/dlls/setupapi/tests/devinst.c
index ccb6b68..319bb31 100644
--- a/dlls/setupapi/tests/devinst.c
+++ b/dlls/setupapi/tests/devinst.c
@@ -1370,6 +1370,7 @@ static void testSetupDiGetINFClassA(void)
 {
     static const char inffile[] = "winetest.inf";
     static const char content[] = "[Version]\r\n\r\n";
+    static const char* signatures[] = {"\"$CHICAGO$\"", "\"$Windows NT$\""};
 
     char cn[MAX_PATH];
     char filename[MAX_PATH];
@@ -1377,6 +1378,7 @@ static void testSetupDiGetINFClassA(void)
     BOOL retval;
     GUID guid;
     HANDLE h;
+    int i;
 
     if(!pSetupDiGetINFClassA)
     {
@@ -1444,96 +1446,100 @@ static void testSetupDiGetINFClassA(void)
     retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
     ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
 
-    h = CreateFileA(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
-                    FILE_ATTRIBUTE_NORMAL, NULL);
-    if(h == INVALID_HANDLE_VALUE)
+    for(i=0; i < sizeof(signatures)/sizeof(char*); i++)
     {
-        win_skip("failed to create file %s (error %u)\n", filename, GetLastError());
-        return;
-    }
-    WriteFile( h, content, sizeof(content), &count, NULL);
-    CloseHandle( h);
-
-    retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
-
-    WritePrivateProfileStringA("Version", "Signature", "\"$CHICAGO$\"", filename);
+        trace("testing signarture %s\n", signatures[i]);
+        h = CreateFileA(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
+                        FILE_ATTRIBUTE_NORMAL, NULL);
+        if(h == INVALID_HANDLE_VALUE)
+        {
+            win_skip("failed to create file %s (error %u)\n", filename, GetLastError());
+            return;
+        }
+        WriteFile( h, content, sizeof(content), &count, NULL);
+        CloseHandle( h);
 
-    retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
+        retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
 
-    WritePrivateProfileStringA("Version", "Class", "WINE", filename);
+        WritePrivateProfileStringA("Version", "Signature", signatures[i], filename);
 
-    count = 0xdeadbeef;
-    retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
-    ok(retval, "expected SetupDiGetINFClassA to succeed! error %u\n", GetLastError());
-    ok(count == 5, "expected count==5, got %u\n", count);
+        retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
 
-    count = 0xdeadbeef;
-    retval = SetupDiGetINFClassA(filename, &guid, cn, 5, &count);
-    ok(retval, "expected SetupDiGetINFClassA to succeed! error %u\n", GetLastError());
-    ok(count == 5, "expected count==5, got %u\n", count);
+        WritePrivateProfileStringA("Version", "Class", "WINE", filename);
 
-    count = 0xdeadbeef;
-    SetLastError(0xdeadbeef);
-    retval = SetupDiGetINFClassA(filename, &guid, cn, 4, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
-    ok(ERROR_INSUFFICIENT_BUFFER == GetLastError(),
-        "expected error ERROR_INSUFFICIENT_BUFFER, got %u\n", GetLastError());
-    ok(count == 5, "expected count==5, got %u\n", count);
+        count = 0xdeadbeef;
+        retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
+        ok(retval, "expected SetupDiGetINFClassA to succeed! error %u\n", GetLastError());
+        ok(count == 5, "expected count==5, got %u\n", count);
 
-    /* invalid parameter */
-    SetLastError(0xdeadbeef);
-    retval = SetupDiGetINFClassA(NULL, &guid, cn, MAX_PATH, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
-    ok(ERROR_INVALID_PARAMETER == GetLastError(),
-        "expected error ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+        count = 0xdeadbeef;
+        retval = SetupDiGetINFClassA(filename, &guid, cn, 5, &count);
+        ok(retval, "expected SetupDiGetINFClassA to succeed! error %u\n", GetLastError());
+        ok(count == 5, "expected count==5, got %u\n", count);
 
-    SetLastError(0xdeadbeef);
-    retval = SetupDiGetINFClassA(filename, NULL, cn, MAX_PATH, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
-    ok(ERROR_INVALID_PARAMETER == GetLastError(),
-        "expected error ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+        count = 0xdeadbeef;
+        SetLastError(0xdeadbeef);
+        retval = SetupDiGetINFClassA(filename, &guid, cn, 4, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
+        ok(ERROR_INSUFFICIENT_BUFFER == GetLastError(),
+            "expected error ERROR_INSUFFICIENT_BUFFER, got %u\n", GetLastError());
+        ok(count == 5, "expected count==5, got %u\n", count);
 
-    SetLastError(0xdeadbeef);
-    retval = SetupDiGetINFClassA(filename, &guid, NULL, MAX_PATH, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
-    ok(ERROR_INVALID_PARAMETER == GetLastError(),
-        "expected error ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+        /* invalid parameter */
+        SetLastError(0xdeadbeef);
+        retval = SetupDiGetINFClassA(NULL, &guid, cn, MAX_PATH, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
+        ok(ERROR_INVALID_PARAMETER == GetLastError(),
+            "expected error ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
 
-    SetLastError(0xdeadbeef);
-    retval = SetupDiGetINFClassA(filename, &guid, cn, 0, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
-    ok(ERROR_INSUFFICIENT_BUFFER == GetLastError() ||
-       ERROR_INVALID_PARAMETER == GetLastError(),
-        "expected error ERROR_INSUFFICIENT_BUFFER or ERROR_INVALID_PARAMETER, "
-        "got %u\n", GetLastError());
+        SetLastError(0xdeadbeef);
+        retval = SetupDiGetINFClassA(filename, NULL, cn, MAX_PATH, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
+        ok(ERROR_INVALID_PARAMETER == GetLastError(),
+            "expected error ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
 
-    DeleteFileA(filename);
+        SetLastError(0xdeadbeef);
+        retval = SetupDiGetINFClassA(filename, &guid, NULL, MAX_PATH, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
+        ok(ERROR_INVALID_PARAMETER == GetLastError(),
+            "expected error ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
 
-    WritePrivateProfileStringA("Version", "Signature", "\"$CHICAGO$\"", filename);
-    WritePrivateProfileStringA("Version", "ClassGUID", "WINE", filename);
+        SetLastError(0xdeadbeef);
+        retval = SetupDiGetINFClassA(filename, &guid, cn, 0, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
+        ok(ERROR_INSUFFICIENT_BUFFER == GetLastError() ||
+           ERROR_INVALID_PARAMETER == GetLastError(),
+            "expected error ERROR_INSUFFICIENT_BUFFER or ERROR_INVALID_PARAMETER, "
+            "got %u\n", GetLastError());
 
-    SetLastError(0xdeadbeef);
-    retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
-    ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
-    ok(RPC_S_INVALID_STRING_UUID == GetLastError() ||
-       ERROR_INVALID_PARAMETER == GetLastError(),
-        "expected error RPC_S_INVALID_STRING_UUID or ERROR_INVALID_PARAMETER, "
-        "got %u\n", GetLastError());
+        DeleteFileA(filename);
 
-    /* network adapter guid */
-    WritePrivateProfileStringA("Version", "ClassGUID",
-                               "{4d36e972-e325-11ce-bfc1-08002be10318}", filename);
+        WritePrivateProfileStringA("Version", "Signature", signatures[i], filename);
+        WritePrivateProfileStringA("Version", "ClassGUID", "WINE", filename);
 
-    /* this test succeeds only if the guid is known to the system */
-    count = 0xdeadbeef;
-    retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
-    ok(retval, "expected SetupDiGetINFClassA to succeed! error %u\n", GetLastError());
-    todo_wine
-    ok(count == 4, "expected count==4, got %u(%s)\n", count, cn);
+        SetLastError(0xdeadbeef);
+        retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
+        ok(!retval, "expected SetupDiGetINFClassA to fail!\n");
+        ok(RPC_S_INVALID_STRING_UUID == GetLastError() ||
+           ERROR_INVALID_PARAMETER == GetLastError(),
+            "expected error RPC_S_INVALID_STRING_UUID or ERROR_INVALID_PARAMETER, "
+            "got %u\n", GetLastError());
+
+        /* network adapter guid */
+        WritePrivateProfileStringA("Version", "ClassGUID",
+                                   "{4d36e972-e325-11ce-bfc1-08002be10318}", filename);
+
+        /* this test succeeds only if the guid is known to the system */
+        count = 0xdeadbeef;
+        retval = SetupDiGetINFClassA(filename, &guid, cn, MAX_PATH, &count);
+        ok(retval, "expected SetupDiGetINFClassA to succeed! error %u\n", GetLastError());
+        todo_wine
+        ok(count == 4, "expected count==4, got %u(%s)\n", count, cn);
 
-    DeleteFileA(filename);
+        DeleteFileA(filename);
+    }
 }
 
 START_TEST(devinst)




More information about the wine-cvs mailing list