[PATCH] faultrep/tests: Add tests for AddERExcludedApplicationA

Detlef Riekenberg wine.dev at web.de
Tue Oct 26 03:11:13 CDT 2010


---
 dlls/faultrep/Makefile.in       |    1 +
 dlls/faultrep/tests/Makefile.in |    7 +++
 dlls/faultrep/tests/faultrep.c  |   86 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 94 insertions(+), 0 deletions(-)
 create mode 100644 dlls/faultrep/tests/Makefile.in
 create mode 100644 dlls/faultrep/tests/faultrep.c

diff --git a/dlls/faultrep/Makefile.in b/dlls/faultrep/Makefile.in
index 96dd2a9..2ad2adb 100644
--- a/dlls/faultrep/Makefile.in
+++ b/dlls/faultrep/Makefile.in
@@ -1,4 +1,5 @@
 MODULE    = faultrep.dll
+IMPORTLIB = faultrep
 IMPORTS   = advapi32
 
 C_SRCS = faultrep.c
diff --git a/dlls/faultrep/tests/Makefile.in b/dlls/faultrep/tests/Makefile.in
new file mode 100644
index 0000000..4ec2d61
--- /dev/null
+++ b/dlls/faultrep/tests/Makefile.in
@@ -0,0 +1,7 @@
+TESTDLL   = faultrep.dll
+IMPORTS   = advapi32 faultrep
+
+C_SRCS = \
+	faultrep.c
+
+ at MAKE_TEST_RULES@
diff --git a/dlls/faultrep/tests/faultrep.c b/dlls/faultrep/tests/faultrep.c
new file mode 100644
index 0000000..dd52928
--- /dev/null
+++ b/dlls/faultrep/tests/faultrep.c
@@ -0,0 +1,86 @@
+/*
+ * Unit test suite for fault reporting in XP and above
+ *
+ * Copyright 2010 Detlef Riekenberg
+ *
+ * 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 <stdarg.h>
+#include <stdio.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "winerror.h"
+#include "winreg.h"
+
+#include "errorrep.h"
+#include "wine/test.h"
+
+static char regpath_root[] = "Software\\Microsoft\\PCHealth\\ErrorReporting";
+static char regpath_exclude[] = "ExclusionList";
+
+/* ###### */
+
+static void test_AddERExcludedApplicationA(void)
+{
+    BOOL res;
+    LONG lres;
+    HKEY hroot;
+    HKEY hexclude = 0;
+
+    /* clean state */
+    lres = RegOpenKeyExA(HKEY_LOCAL_MACHINE, regpath_root, 0, KEY_WRITE, &hroot);
+
+    if (!lres)
+        lres = RegOpenKeyA(hroot, regpath_exclude, &hexclude);
+
+    if (!lres)
+        RegDeleteValueA(hexclude, "winetest_faultrep.exe");
+
+
+    SetLastError(0xdeadbeef);
+    res = AddERExcludedApplicationA(NULL);
+    ok(!res, "got %d and 0x%x (expected FALSE)\n", res, GetLastError());
+
+    SetLastError(0xdeadbeef);
+    res = AddERExcludedApplicationA("");
+    ok(!res, "got %d and 0x%x (expected FALSE)\n", res, GetLastError());
+
+    SetLastError(0xdeadbeef);
+    /* access rights to HKLM or existence of the path doesn't matter
+       this function succeeded */
+    res = AddERExcludedApplicationA("winetest_faultrep.exe");
+    ok(res, "got %d and 0x%x (expected TRUE)\n", res, GetLastError());
+
+    /* add, when already present */
+    SetLastError(0xdeadbeef);
+    res = AddERExcludedApplicationA("winetest_faultrep.exe");
+    ok(res, "got %d and 0x%x (expected TRUE)\n", res, GetLastError());
+
+    /* cleanup */
+    RegDeleteValueA(hexclude, "winetest_faultrep.exe");
+
+    RegCloseKey(hexclude);
+    RegCloseKey(hroot);
+}
+
+/* ########################### */
+
+START_TEST(faultrep)
+{
+    test_AddERExcludedApplicationA();
+}
-- 
1.7.1




More information about the wine-patches mailing list