[PATCH] Test for last error after RegQueryValueEx

Nikolay Sivov nsivov at codeweavers.com
Fri Feb 26 09:40:19 CST 2010


---
 dlls/advapi32/tests/registry.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c
index 9f9506a..d0b62a5 100644
--- a/dlls/advapi32/tests/registry.c
+++ b/dlls/advapi32/tests/registry.c
@@ -610,6 +610,7 @@ static void test_query_value_ex(void)
 
     type = 0xdeadbeef;
     size = 0xdeadbeef;
+    SetLastError(0xdeadbeef);
     ret = RegQueryValueExA(HKEY_CLASSES_ROOT, "Nonexistent Value", NULL, &type, NULL, &size);
     ok(ret == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %d\n", ret);
     /* the type parameter is cleared on Win9x, but is set to a random value on
@@ -626,6 +627,7 @@ static void test_query_value_ex(void)
         trace("test_query_value_ex: type set to: 0x%08x\n", type);
         ok(size == 0, "size should have been set to 0 instead of %d\n", size);
     }
+    todo_wine ok(GetLastError() == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", GetLastError());
 
     size = sizeof(buffer);
     ret = RegQueryValueExA(HKEY_CLASSES_ROOT, "Nonexistent Value", NULL, &type, buffer, &size);
@@ -633,8 +635,10 @@ static void test_query_value_ex(void)
     ok(size == sizeof(buffer), "size shouldn't have been changed to %d\n", size);
 
     size = 4;
+    SetLastError(0xdeadbeef);
     ret = RegQueryValueExA(hkey_main, "BIN32", NULL, &size, buffer, &size);
     ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret);
+    ok(GetLastError() == 0xdeadbeef, "expected error not set, got %d\n", GetLastError());
 }
 
 static void test_get_value(void)
-- 
1.5.6.5


--=-0RQkg3San1FfJCC3qZX9--




More information about the wine-patches mailing list