Module: wine Branch: master Commit: cc4cc7086faf087590d22b9b58b6c45386e181c8 URL: https://source.winehq.org/git/wine.git/?a=commit;h=cc4cc7086faf087590d22b9b5...
Author: Hugh McMaster hugh.mcmaster@outlook.com Date: Mon Mar 1 14:16:52 2021 +1100
reg/tests: Split 'copy' tests from reg.c.
Signed-off-by: Hugh McMaster hugh.mcmaster@outlook.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
programs/reg/tests/Makefile.in | 1 + programs/reg/tests/copy.c | 110 +++++++++++++++++++++++++++++++++++++++++ programs/reg/tests/reg.c | 80 ------------------------------ 3 files changed, 111 insertions(+), 80 deletions(-)
diff --git a/programs/reg/tests/Makefile.in b/programs/reg/tests/Makefile.in index 6f0f9ce7c5c..7458e32348c 100644 --- a/programs/reg/tests/Makefile.in +++ b/programs/reg/tests/Makefile.in @@ -2,6 +2,7 @@ TESTDLL = reg.exe IMPORTS = advapi32
C_SRCS = \ + copy.c \ delete.c \ export.c \ import.c \ diff --git a/programs/reg/tests/copy.c b/programs/reg/tests/copy.c new file mode 100644 index 00000000000..b91352c9d46 --- /dev/null +++ b/programs/reg/tests/copy.c @@ -0,0 +1,110 @@ +/* + * Copyright 2021 Hugh McMaster + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg_test.h" + +#define COPY_DEST KEY_WINE "\reg_copy" + +static void test_copy(void) +{ + DWORD r; + + delete_tree(HKEY_CURRENT_USER, KEY_BASE); + verify_key_nonexist(HKEY_CURRENT_USER, KEY_BASE); + + run_reg_exe("reg copy", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /?", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg copy /h", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg copy -H", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg copy /? /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /h /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /? /s", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /h /s", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /s", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /s /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /f /s", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " foo /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /f HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" KEY_BASE, &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy /f HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" COPY_DEST, &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " /f HKEY_CURRENT_USER\" COPY_DEST, &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " /s HKEY_CURRENT_USER\" COPY_DEST, &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" COPY_DEST " /a", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" COPY_DEST " /f /a", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" KEY_BASE, &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" KEY_BASE " /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" KEY_BASE " /s /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); +} + +START_TEST(copy) +{ + DWORD r; + + if (!run_reg_exe("reg.exe /?", &r)) { + win_skip("reg.exe not available, skipping reg.exe tests\n"); + return; + } + + test_copy(); +} diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c index d8a281548a5..d1af7831f4d 100644 --- a/programs/reg/tests/reg.c +++ b/programs/reg/tests/reg.c @@ -613,85 +613,6 @@ static void test_add(void) delete_tree(HKEY_CURRENT_USER, KEY_BASE); }
-#define COPY_DEST KEY_WINE "\reg_copy" - -static void test_copy(void) -{ - DWORD r; - - delete_tree(HKEY_CURRENT_USER, KEY_BASE); - verify_key_nonexist(HKEY_CURRENT_USER, KEY_BASE); - - run_reg_exe("reg copy", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /?", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); - - run_reg_exe("reg copy /h", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); - - run_reg_exe("reg copy -H", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); - - run_reg_exe("reg copy /? /f", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /h /f", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /? /s", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /h /s", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /f", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /s", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /s /f", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /f /s", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " /f", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " foo /f", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" KEY_BASE" /f", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /f HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" KEY_BASE, &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy /f HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" COPY_DEST, &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " /f HKEY_CURRENT_USER\" COPY_DEST, &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " /s HKEY_CURRENT_USER\" COPY_DEST, &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" COPY_DEST " HKEY_CURRENT_USER\" KEY_BASE, &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" COPY_DEST " HKEY_CURRENT_USER\" KEY_BASE, &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" COPY_DEST "/a", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); - - run_reg_exe("reg copy HKEY_CURRENT_USER\" KEY_BASE " HKEY_CURRENT_USER\" COPY_DEST "/f /a", &r); - ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); -} - START_TEST(reg) { DWORD r; @@ -702,5 +623,4 @@ START_TEST(reg) }
test_add(); - test_copy(); }