Hugh McMaster : reg/tests: Test whether overwriting a registry key modifies existing keys and values.

Alexandre Julliard julliard at winehq.org
Wed Mar 24 16:20:40 CDT 2021


Module: wine
Branch: master
Commit: 89251073c7b7a919ca7c3450d53744921ac2979c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=89251073c7b7a919ca7c3450d53744921ac2979c

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Wed Mar 24 19:09:00 2021 +1100

reg/tests: Test whether overwriting a registry key modifies existing keys and values.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/reg/tests/add.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/programs/reg/tests/add.c b/programs/reg/tests/add.c
index 8b6f234c6d0..f5d473e8887 100644
--- a/programs/reg/tests/add.c
+++ b/programs/reg/tests/add.c
@@ -210,7 +210,7 @@ void delete_value_(const char *file, unsigned line, const HKEY hkey, const char
 
 static void test_add(void)
 {
-    HKEY hkey;
+    HKEY hkey, hsubkey;
     LONG err;
     DWORD r, dword, type, size;
     char buffer[22];
@@ -606,6 +606,7 @@ static void test_add(void)
     verify_reg(hkey, "\\foo\\bar", REG_SZ, "", 1, 0);
 
     close_key(hkey);
+    delete_tree(HKEY_CURRENT_USER, KEY_BASE);
 
     /* Test duplicate switches */
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v Wine /t REG_DWORD /d 0x1 /v Test /f", &r);
@@ -642,6 +643,22 @@ static void test_add(void)
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v invalid4 -", &r);
     ok(r == REG_EXIT_FAILURE, "got exit code %u, expected 1\n", r);
 
+    /* Test whether overwriting a registry key modifies existing keys and values */
+    add_key(HKEY_CURRENT_USER, KEY_BASE, &hkey);
+    add_key(hkey, "Subkey", &hsubkey);
+    close_key(hsubkey);
+    add_value(hkey, "Test1", REG_SZ, "Value1", 7);
+    dword = 0x123;
+    add_value(hkey, "Test2", REG_DWORD, &dword, sizeof(dword));
+
+    run_reg_exe("reg add HKCU\\" KEY_BASE " /f", &r);
+    ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
+
+    verify_key(HKEY_CURRENT_USER, KEY_BASE);
+    verify_key(hkey, "Subkey");
+    verify_reg(hkey, "Test1", REG_SZ, "Value1", 7, 0);
+    verify_reg(hkey, "Test2", REG_DWORD, &dword, sizeof(dword), 0);
+
     delete_tree(HKEY_CURRENT_USER, KEY_BASE);
 }
 




More information about the wine-cvs mailing list