Module: wine Branch: master Commit: 5858af901189c8ff5674e1714c4a9096987b6f44 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5858af901189c8ff5674e1714c...
Author: Detlef Riekenberg wine.dev@web.de Date: Mon Nov 1 23:08:47 2010 +0100
wer/tests: Add more tests for Wer*ExcludedApplication.
---
dlls/wer/tests/main.c | 66 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 54 insertions(+), 12 deletions(-)
diff --git a/dlls/wer/tests/main.c b/dlls/wer/tests/main.c index f63b7bd..b10a819 100644 --- a/dlls/wer/tests/main.c +++ b/dlls/wer/tests/main.c @@ -31,6 +31,7 @@ #include "wine/test.h"
static const WCHAR appcrash[] = {'A','P','P','C','R','A','S','H',0}; +static const WCHAR backslash[] = {'\',0}; static const WCHAR empty[] = {0}; static const WCHAR winetest_wer[] = {'w','i','n','e','t','e','s','t','_','w','e','r','.','e','x','e',0};
@@ -39,14 +40,12 @@ static const WCHAR winetest_wer[] = {'w','i','n','e','t','e','s','t','_','w','e' static void test_WerAddExcludedApplication(void) { HRESULT hr; + WCHAR buffer[MAX_PATH]; + UINT res;
/* clean state */ hr = WerRemoveExcludedApplication(winetest_wer, FALSE); - if (hr == E_NOTIMPL) { - skip("Wer*ExcludedApplication not implemented\n"); - return; - } - ok((hr == S_OK) || (hr == E_FAIL) || __HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND), + ok((hr == S_OK) || (hr == E_FAIL) || (hr == __HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND)), "got 0x%x (expected S_OK, E_FAIL or HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND))\n", hr);
hr = WerAddExcludedApplication(NULL, FALSE); @@ -65,6 +64,27 @@ static void test_WerAddExcludedApplication(void) /* cleanup */ hr = WerRemoveExcludedApplication(winetest_wer, FALSE); ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + + /* appname has a path */ + res = GetWindowsDirectoryW(buffer, sizeof(buffer) / sizeof(buffer[0])); + if (res > 0) { + /* the last part from the path is added to the inclusion list */ + hr = WerAddExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + hr = WerRemoveExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + + lstrcatW(buffer, backslash); + hr = WerAddExcludedApplication(buffer, FALSE); + ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr); + + lstrcatW(buffer, winetest_wer); + hr = WerAddExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + hr = WerRemoveExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + } + }
/* #### */ @@ -72,15 +92,12 @@ static void test_WerAddExcludedApplication(void) static void test_WerRemoveExcludedApplication(void) { HRESULT hr; + WCHAR buffer[MAX_PATH]; + UINT res;
/* clean state */ hr = WerRemoveExcludedApplication(winetest_wer, FALSE); - if (hr == E_NOTIMPL) { - skip("Wer*ExcludedApplication not implemented\n"); - return; - } - - ok((hr == S_OK) || (hr == E_FAIL) || __HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND), + ok((hr == S_OK) || (hr == E_FAIL) || (hr == __HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND)), "got 0x%x (expected S_OK, E_FAIL or HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND))\n", hr);
hr = WerAddExcludedApplication(winetest_wer, FALSE); @@ -97,9 +114,34 @@ static void test_WerRemoveExcludedApplication(void)
/* app not in the list */ hr = WerRemoveExcludedApplication(winetest_wer, FALSE); - ok((hr == E_FAIL) || __HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND), + ok((hr == E_FAIL) || (hr == __HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND)), "got 0x%x (expected E_FAIL or HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND))\n", hr);
+ /* appname has a path */ + res = GetWindowsDirectoryW(buffer, sizeof(buffer) / sizeof(buffer[0])); + if (res > 0) { + hr = WerRemoveExcludedApplication(buffer, FALSE); + ok((hr == E_FAIL) || (hr == __HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND)), + "got 0x%x (expected E_FAIL or HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND))\n", hr); + + /* the last part from the path is added to the inclusion list */ + hr = WerAddExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + hr = WerRemoveExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + + lstrcatW(buffer, backslash); + hr = WerAddExcludedApplication(buffer, FALSE); + ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr); + hr = WerRemoveExcludedApplication(buffer, FALSE); + ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr); + + lstrcatW(buffer, winetest_wer); + hr = WerAddExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + hr = WerRemoveExcludedApplication(buffer, FALSE); + ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr); + } }
/* #### */