[WINESYNC] reg/tests: Give 'query' tests some structure.

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

wine commit id 5bc2af7b1cf2e4e56311dad77acd8f67b3b7a13f by Hugh McMaster <hugh.mcmaster@outlook.com>
This commit is contained in:
winesync 2022-01-16 21:08:22 +01:00 committed by Thomas Csovcsity
parent b12d798037
commit a12c844899
2 changed files with 25 additions and 34 deletions

View file

@ -21,14 +21,8 @@
static void test_query(void)
{
DWORD r;
DWORD r, dword = 0x123;
HKEY key, subkey;
const char hello[] = "Hello";
const char world[] = "World";
const char empty1[] = "Empty1";
const char empty2[] = "Empty2";
const DWORD dword1 = 0x123;
const DWORD dword2 = 0xabc;
delete_tree(HKEY_CURRENT_USER, KEY_BASE);
verify_key_nonexist(HKEY_CURRENT_USER, KEY_BASE);
@ -47,8 +41,8 @@ static void test_query(void)
/* Create a test key */
add_key(HKEY_CURRENT_USER, KEY_BASE, &key);
add_value(key, "Test", REG_SZ, hello, sizeof(hello));
add_value(key, "Wine", REG_DWORD, &dword1, sizeof(dword1));
add_value(key, "Test1", REG_SZ, "Hello, World", 13);
add_value(key, "Test2", REG_DWORD, &dword, sizeof(dword));
run_reg_exe("reg query HKCU\\" KEY_BASE " /v", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
@ -56,65 +50,62 @@ static void test_query(void)
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Missing", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test /v Wine", &r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test1 /v Test2", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test /ve", &r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test1 /ve", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /s /s", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE, &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /ve", &r);
ok(r == REG_EXIT_SUCCESS || broken(r == REG_EXIT_FAILURE /* WinXP */),
"got exit code %d, expected 0\n", r);
add_value(key, NULL, REG_SZ, empty1, sizeof(empty1));
run_reg_exe("reg query HKCU\\" KEY_BASE, &r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test1", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test", &r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test2", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Wine", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /ve", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
add_value(key, "Wine", REG_SZ, "First instance", 15);
/* Create a test subkey */
add_key(key, "Subkey", &subkey);
add_value(subkey, "Test", REG_SZ, world, sizeof(world));
add_value(subkey, "Wine", REG_DWORD, &dword2, sizeof(dword2));
add_value(subkey, NULL, REG_SZ, empty2, sizeof(empty2));
close_key(subkey);
add_value(subkey, "Test3", REG_SZ, "Some string data", 16);
dword = 0xabc;
add_value(subkey, "Test4", REG_DWORD, &dword, sizeof(dword));
run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /v Test", &r);
run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /v Test3", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /v Wine", &r);
run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /v Test4", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /ve", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
add_value(subkey, "Wine", REG_SZ, "Second instance", 16);
/* Test recursion */
run_reg_exe("reg query HKCU\\" KEY_BASE " /s", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test /s", &r);
ok(r == REG_EXIT_SUCCESS || r == REG_EXIT_FAILURE /* WinXP */,
"got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /v Wine /s", &r);
ok(r == REG_EXIT_SUCCESS || r == REG_EXIT_FAILURE /* WinXP */,
"got exit code %d, expected 0\n", r);
add_value(key, NULL, REG_SZ, "Empty", 6);
add_value(subkey, NULL, REG_SZ, "Empty", 6);
close_key(subkey);
run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /ve", &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
run_reg_exe("reg query HKCU\\" KEY_BASE " /ve /s", &r);
ok(r == REG_EXIT_SUCCESS || r == REG_EXIT_FAILURE /* WinXP */,
"got exit code %d, expected 0\n", r);

View file

@ -4,4 +4,4 @@ directories:
files:
programs/reg/resource.h: base/applications/cmdutils/reg/resource.h
tags:
wine: 3d772fe408970f6a1aad02321f21706408dd92e9
wine: 5bc2af7b1cf2e4e56311dad77acd8f67b3b7a13f