Module: wine Branch: master Commit: adbc691d209ffcb198f8f2d3b7d04f83f97d91e6 URL: http://source.winehq.org/git/wine.git/?a=commit;h=adbc691d209ffcb198f8f2d3b7...
Author: Stefan Leichter Stefan.Leichter@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)