[PATCH 1/3] regedit/tests: Use a helper function to write registry files

Hugh McMaster hugh.mcmaster at outlook.com
Mon Sep 18 03:27:42 CDT 2017


Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/regedit/tests/regedit.c | 52 +++++++++++++++++++---------------------
 1 file changed, 25 insertions(+), 27 deletions(-)

diff --git a/programs/regedit/tests/regedit.c b/programs/regedit/tests/regedit.c
index 60f93c92c2..1f2284f836 100644
--- a/programs/regedit/tests/regedit.c
+++ b/programs/regedit/tests/regedit.c
@@ -48,23 +48,33 @@ static BOOL run_regedit_exe_(unsigned line, const char *cmd)
     return (ret != WAIT_TIMEOUT);
 }
 
+static BOOL write_file(const void *str, DWORD size)
+{
+    HANDLE file;
+    BOOL ret;
+    DWORD written;
+
+    file = CreateFileA("test.reg", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
+                       FILE_ATTRIBUTE_NORMAL, NULL);
+    ok(file != INVALID_HANDLE_VALUE, "Failed to create registry file\n");
+    if (file == INVALID_HANDLE_VALUE)
+        return FALSE;
+
+    ret = WriteFile(file, str, size, &written, NULL);
+    ok(ret, "WriteFile failed: %u\n", GetLastError());
+    CloseHandle(file);
+
+    return ret;
+}
+
 #define exec_import_str(c) r_exec_import_str(__LINE__, c)
 static BOOL r_exec_import_str(unsigned line, const char *file_contents)
 {
-    HANDLE regfile;
-    DWORD written;
     BOOL br;
 
-    regfile = CreateFileA("test.reg", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
-            FILE_ATTRIBUTE_NORMAL, NULL);
-    lok(regfile != INVALID_HANDLE_VALUE, "Failed to create test.reg file\n");
-    if(regfile == INVALID_HANDLE_VALUE)
+    if (!write_file(file_contents, strlen(file_contents)))
         return FALSE;
 
-    br = WriteFile(regfile, file_contents, strlen(file_contents), &written, NULL);
-    lok(br, "WriteFile failed: %u\n", GetLastError());
-    CloseHandle(regfile);
-
     run_regedit_exe("regedit.exe /s test.reg");
 
     br = DeleteFileA("test.reg");
@@ -78,9 +88,7 @@ static BOOL r_exec_import_wstr(unsigned line, const char *file_contents)
 {
     int lenA, len, memsize;
     WCHAR *wstr;
-    HANDLE regfile;
-    DWORD written;
-    BOOL br;
+    BOOL br = FALSE;
 
     lenA = strlen(file_contents);
 
@@ -90,26 +98,16 @@ static BOOL r_exec_import_wstr(unsigned line, const char *file_contents)
     if (!wstr) return FALSE;
     MultiByteToWideChar(CP_UTF8, 0, file_contents, lenA, wstr, len);
 
-    regfile = CreateFileA("test.reg", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
-            FILE_ATTRIBUTE_NORMAL, NULL);
-    lok(regfile != INVALID_HANDLE_VALUE, "Failed to create test.reg file\n");
-    if (regfile == INVALID_HANDLE_VALUE)
-    {
-        HeapFree(GetProcessHeap(), 0, wstr);
-        return FALSE;
-    }
-
-    br = WriteFile(regfile, wstr, memsize, &written, NULL);
-    lok(br, "WriteFile failed: %u\n", GetLastError());
-    CloseHandle(regfile);
-
-    HeapFree(GetProcessHeap(), 0, wstr);
+    if (!write_file(wstr, memsize))
+        goto exit;
 
     run_regedit_exe("regedit.exe /s test.reg");
 
     br = DeleteFileA("test.reg");
     lok(br, "DeleteFile failed: %u\n", GetLastError());
 
+exit:
+    HeapFree(GetProcessHeap(), 0, wstr);
     return br;
 }
 
-- 
2.14.1




More information about the wine-patches mailing list