Detlef Riekenberg : faultrep/tests: Add tests for AddERExcludedApplicationA .

Alexandre Julliard julliard at winehq.org
Tue Oct 26 12:34:48 CDT 2010


Module: wine
Branch: master
Commit: 53fca11fb34c11872480a3eaf0a8e1590022e830
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=53fca11fb34c11872480a3eaf0a8e1590022e830

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Tue Oct 26 10:11:13 2010 +0200

faultrep/tests: Add tests for AddERExcludedApplicationA.

---

 configure                       |    3 +-
 configure.ac                    |    3 +-
 dlls/faultrep/Makefile.in       |    1 +
 dlls/faultrep/tests/Makefile.in |    7 +++
 dlls/faultrep/tests/faultrep.c  |   86 +++++++++++++++++++++++++++++++++++++++
 5 files changed, 98 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 5de5f5c..dcb9203 100755
--- a/configure
+++ b/configure
@@ -14694,7 +14694,8 @@ wine_fn_config_test dlls/dxgi/tests dxgi_test
 wine_fn_config_lib dxguid
 wine_fn_config_dll explorerframe enable_explorerframe
 wine_fn_config_test dlls/explorerframe/tests explorerframe_test
-wine_fn_config_dll faultrep enable_faultrep
+wine_fn_config_dll faultrep enable_faultrep faultrep
+wine_fn_config_test dlls/faultrep/tests faultrep_test
 wine_fn_config_dll fltlib enable_fltlib
 wine_fn_config_dll fusion enable_fusion
 wine_fn_config_test dlls/fusion/tests fusion_test
diff --git a/configure.ac b/configure.ac
index 9a84cf3..8bae871 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2440,7 +2440,8 @@ WINE_CONFIG_TEST(dlls/dxgi/tests)
 WINE_CONFIG_LIB(dxguid)
 WINE_CONFIG_DLL(explorerframe)
 WINE_CONFIG_TEST(dlls/explorerframe/tests)
-WINE_CONFIG_DLL(faultrep)
+WINE_CONFIG_DLL(faultrep,,[faultrep])
+WINE_CONFIG_TEST(dlls/faultrep/tests)
 WINE_CONFIG_DLL(fltlib)
 WINE_CONFIG_DLL(fusion)
 WINE_CONFIG_TEST(dlls/fusion/tests)
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..8a64263
--- /dev/null
+++ b/dlls/faultrep/tests/Makefile.in
@@ -0,0 +1,7 @@
+TESTDLL   = faultrep.dll
+IMPORTS   = faultrep advapi32
+
+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();
+}




More information about the wine-cvs mailing list