[PATCH v2 1/8] setupapi/tests: Test phantom value after device creation.
Zhiyi Zhang
zzhang at codeweavers.com
Thu Mar 14 22:40:41 CDT 2019
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
v2: Supersede 160879~160886. Add handling device set with null GUID and tests.
dlls/setupapi/tests/devinst.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/dlls/setupapi/tests/devinst.c b/dlls/setupapi/tests/devinst.c
index 004a956401..3add9b2502 100644
--- a/dlls/setupapi/tests/devinst.c
+++ b/dlls/setupapi/tests/devinst.c
@@ -742,6 +742,11 @@ static void test_register_device_info(void)
SP_DEVINFO_DATA device = {0};
BOOL ret;
HDEVINFO set;
+ HKEY hkey;
+ LSTATUS ls;
+ DWORD type = 0;
+ DWORD phantom = 0;
+ DWORD size;
int i = 0;
SetLastError(0xdeadbeef);
@@ -770,8 +775,19 @@ static void test_register_device_info(void)
ret = SetupDiCreateDeviceInfoA(set, "Root\\LEGACY_BOGUS\\0000", &guid, NULL, NULL, 0, &device);
ok(ret, "Failed to create device, error %#x.\n", GetLastError());
+ RegOpenKeyA(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Enum\\ROOT\\LEGACY_BOGUS\\0000", &hkey);
+ size = sizeof(phantom);
+ ls = RegQueryValueExA(hkey, "Phantom", NULL, &type, (BYTE *)&phantom, &size);
+ todo_wine ok(ls == ERROR_SUCCESS, "Got wrong error code %#x\n", ls);
+ todo_wine ok(phantom == 1, "Got wrong phantom value %d\n", phantom);
+ todo_wine ok(type == REG_DWORD, "Got wrong phantom type %#x\n", type);
+ ok(size == sizeof(phantom), "Got wrong phantom size %d\n", size);
ret = SetupDiRegisterDeviceInfo(set, &device, 0, NULL, NULL, NULL);
ok(ret, "Failed to register device, error %#x.\n", GetLastError());
+ size = sizeof(phantom);
+ ls = RegQueryValueExA(hkey, "Phantom", NULL, NULL, (BYTE *)&phantom, &size);
+ ok(ls == ERROR_FILE_NOT_FOUND, "Got wrong error code %#x\n", ls);
+ RegCloseKey(hkey);
ret = SetupDiCreateDeviceInfoA(set, "Root\\LEGACY_BOGUS\\0001", &guid, NULL, NULL, 0, &device);
ok(ret, "Failed to create device, error %#x.\n", GetLastError());
--
2.19.2
More information about the wine-devel
mailing list