From a87a380a75723e0aa0e257c7efcc3024b56fb49d Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Wed, 24 Mar 2021 19:08:59 +1100 Subject: [PATCH] reg/tests: Add tests for duplicate command-line switches. Signed-off-by: Hugh McMaster Signed-off-by: Alexandre Julliard --- programs/reg/tests/add.c | 6 ++++++ programs/reg/tests/delete.c | 9 +++++++++ programs/reg/tests/query.c | 9 +++++++++ 3 files changed, 24 insertions(+) diff --git a/programs/reg/tests/add.c b/programs/reg/tests/add.c index 6d513f14fbd..8b6f234c6d0 100644 --- a/programs/reg/tests/add.c +++ b/programs/reg/tests/add.c @@ -233,6 +233,9 @@ static void test_add(void) run_reg_exe("reg add HKCU\\" KEY_BASE " /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + run_reg_exe("reg add HKCU\\" KEY_BASE " /f /f", &r); + todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + open_key(HKEY_CURRENT_USER, KEY_BASE, 0, &hkey); /* Test empty type */ @@ -291,6 +294,9 @@ static void test_add(void) ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); verify_reg(hkey, NULL, REG_SZ, "", 1, 0); + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /f /ve", &r); + todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg add HKEY_CURRENT_USER\\" KEY_BASE " /ve /d WineTEST /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); verify_reg(hkey, "", REG_SZ, "WineTEST", 9, 0); diff --git a/programs/reg/tests/delete.c b/programs/reg/tests/delete.c index ee2257d42c5..77d95d013c9 100644 --- a/programs/reg/tests/delete.c +++ b/programs/reg/tests/delete.c @@ -47,9 +47,18 @@ static void test_delete(void) run_reg_exe("reg delete HKCU\\" KEY_BASE " /v Wine /va", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg delete HKCU\\" KEY_BASE " /ve /ve", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg delete HKCU\\" KEY_BASE " /ve /va", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg delete HKCU\\" KEY_BASE " /va /va", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg delete HKCU\\" KEY_BASE " /v Test /ve /va", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg delete HKCU\\" KEY_BASE " /v Wine /v Test /f", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); diff --git a/programs/reg/tests/query.c b/programs/reg/tests/query.c index afa655f8d74..fcd43a4b195 100644 --- a/programs/reg/tests/query.c +++ b/programs/reg/tests/query.c @@ -74,6 +74,12 @@ static void test_query(void) run_reg_exe("reg query HKCU\\" KEY_BASE " /ve", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test /v Wine", &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); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + /* Create a test subkey */ add_key(key, "Subkey", &subkey); add_value(subkey, "Test", REG_SZ, world, sizeof(world)); @@ -110,6 +116,9 @@ static void test_query(void) 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 " /s /s", &r); + todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + /* Clean-up, then query */ delete_key(key, "subkey"); close_key(key);