[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