shell32/tests: Arrange for the shell_execute{_ex}() calls to set the test line.
Francois Gouget
fgouget at codeweavers.com
Thu Jan 14 17:57:17 CST 2016
This makes it possible to attribute their internal test results to the relevant test_xxx() function.
This implies that they must not make calls that would reset the test line.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
dlls/shell32/tests/shlexec.c | 39 ++++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c
index 1aa6ab1..6ad5a37 100644
--- a/dlls/shell32/tests/shlexec.c
+++ b/dlls/shell32/tests/shlexec.c
@@ -95,12 +95,12 @@ static int _todo_wait = 0;
static char shell_call[2048]="";
static int bad_shellexecute = 0;
-static INT_PTR shell_execute(LPCSTR verb, LPCSTR file, LPCSTR parameters, LPCSTR directory)
+static INT_PTR _shell_execute(LPCSTR verb, LPCSTR file, LPCSTR parameters, LPCSTR directory)
{
INT_PTR rc, rcEmpty = 0;
if(!verb)
- rcEmpty = shell_execute("", file, parameters, directory);
+ rcEmpty = _shell_execute("", file, parameters, directory);
strcpy(shell_call, "ShellExecute(");
strcat_param(shell_call, "verb", verb);
@@ -109,7 +109,7 @@ static INT_PTR shell_execute(LPCSTR verb, LPCSTR file, LPCSTR parameters, LPCSTR
strcat_param(shell_call, "dir", directory);
strcat(shell_call, ")");
if (winetest_debug > 1)
- trace("%s\n", shell_call);
+ winetest_trace("Called %s\n", shell_call);
DeleteFileA(child_file);
SetLastError(0xcafebabe);
@@ -138,9 +138,9 @@ static INT_PTR shell_execute(LPCSTR verb, LPCSTR file, LPCSTR parameters, LPCSTR
}
}
if (!_todo_wait)
- ok(wait_rc==WAIT_OBJECT_0 || rc <= 32, "%s WaitForSingleObject returned %d\n", shell_call, wait_rc);
+ winetest_ok(wait_rc==WAIT_OBJECT_0 || rc <= 32, "%s WaitForSingleObject returned %d\n", shell_call, wait_rc);
else todo_wine
- ok(wait_rc==WAIT_OBJECT_0 || rc <= 32, "%s WaitForSingleObject returned %d\n", shell_call, wait_rc);
+ winetest_ok(wait_rc==WAIT_OBJECT_0 || rc <= 32, "%s WaitForSingleObject returned %d\n", shell_call, wait_rc);
}
/* The child process may have changed the result file, so let profile
* functions know about it
@@ -153,14 +153,15 @@ static INT_PTR shell_execute(LPCSTR verb, LPCSTR file, LPCSTR parameters, LPCSTR
{
if (rc != rcEmpty && rcEmpty == SE_ERR_NOASSOC) /* NT4 */
bad_shellexecute = 1;
- ok(rc == rcEmpty || broken(rc != rcEmpty && rcEmpty == SE_ERR_NOASSOC) /* NT4 */,
- "%s Got different return value with empty string: %lu %lu\n", shell_call, rc, rcEmpty);
+ winetest_ok(rc == rcEmpty || broken(rc != rcEmpty && rcEmpty == SE_ERR_NOASSOC) /* NT4 */,
+ "%s Got different return value with empty string: %lu %lu\n", shell_call, rc, rcEmpty);
}
return rc;
}
+#define shell_execute (winetest_set_location(__FILE__, __LINE__), 0) ? 0 : _shell_execute
-static INT_PTR shell_execute_ex(DWORD mask, LPCSTR verb, LPCSTR file,
+static INT_PTR _shell_execute_ex(DWORD mask, LPCSTR verb, LPCSTR file,
LPCSTR parameters, LPCSTR directory,
LPCSTR class)
{
@@ -182,7 +183,7 @@ static INT_PTR shell_execute_ex(DWORD mask, LPCSTR verb, LPCSTR file,
strcat_param(shell_call, "class", class);
strcat(shell_call, ")");
if (winetest_debug > 1)
- trace("%s\n", shell_call);
+ winetest_trace("Called %s\n", shell_call);
sei.cbSize=sizeof(sei);
sei.fMask=mask;
@@ -204,8 +205,8 @@ static INT_PTR shell_execute_ex(DWORD mask, LPCSTR verb, LPCSTR file,
SetLastError(0xcafebabe);
success=ShellExecuteExA(&sei);
rc=(INT_PTR)sei.hInstApp;
- ok((success && rc > 32) || (!success && rc <= 32),
- "%s rc=%d and hInstApp=%ld is not allowed\n", shell_call, success, rc);
+ winetest_ok((success && rc > 32) || (!success && rc <= 32),
+ "%s rc=%d and hInstApp=%ld is not allowed\n", shell_call, success, rc);
if (rc > 32)
{
@@ -213,16 +214,16 @@ static INT_PTR shell_execute_ex(DWORD mask, LPCSTR verb, LPCSTR file,
if (sei.hProcess!=NULL)
{
wait_rc=WaitForSingleObject(sei.hProcess, 5000);
- ok(wait_rc==WAIT_OBJECT_0, "WaitForSingleObject(hProcess) returned %d\n", wait_rc);
+ winetest_ok(wait_rc==WAIT_OBJECT_0, "WaitForSingleObject(hProcess) returned %d\n", wait_rc);
}
wait_rc=WaitForSingleObject(hEvent, 5000);
if (!_todo_wait)
- ok(wait_rc==WAIT_OBJECT_0, "WaitForSingleObject returned %d\n", wait_rc);
+ winetest_ok(wait_rc==WAIT_OBJECT_0, "WaitForSingleObject returned %d\n", wait_rc);
else todo_wine
- ok(wait_rc==WAIT_OBJECT_0, "WaitForSingleObject returned %d\n", wait_rc);
+ winetest_ok(wait_rc==WAIT_OBJECT_0, "WaitForSingleObject returned %d\n", wait_rc);
}
else
- ok(sei.hProcess==NULL, "%s returned a process handle %p\n", shell_call, sei.hProcess);
+ winetest_ok(sei.hProcess==NULL, "%s returned a process handle %p\n", shell_call, sei.hProcess);
/* The child process may have changed the result file, so let profile
* functions know about it
@@ -233,7 +234,7 @@ static INT_PTR shell_execute_ex(DWORD mask, LPCSTR verb, LPCSTR file,
return rc;
}
-
+#define shell_execute_ex (winetest_set_location(__FILE__, __LINE__), 0) ? 0 : _shell_execute_ex
/***
@@ -670,14 +671,14 @@ static void dump_child(void)
int i, c;
str=getChildString("Arguments", "cmdlineA");
- trace("cmdlineA='%s'\n", str);
+ winetest_trace("cmdlineA='%s'\n", str);
c=GetPrivateProfileIntA("Arguments", "argcA", -1, child_file);
- trace("argcA=%d\n",c);
+ winetest_trace("argcA=%d\n",c);
for (i=0;i<c;i++)
{
sprintf(key, "argvA%d", i);
str=getChildString("Arguments", key);
- trace("%s='%s'\n", key, str);
+ winetest_trace("%s='%s'\n", key, str);
}
}
}
--
2.6.4
More information about the wine-patches
mailing list