Aric Stewart : kernel32/tests: Add a test for CreateProcess with an AppName set.
Alexandre Julliard
julliard at winehq.org
Thu Oct 16 06:07:15 CDT 2008
Module: wine
Branch: master
Commit: 6ec0e71e173c44938c3e818122edd2c83e3b4098
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6ec0e71e173c44938c3e818122edd2c83e3b4098
Author: Aric Stewart <aric at codeweavers.com>
Date: Wed Oct 15 09:30:21 2008 -0500
kernel32/tests: Add a test for CreateProcess with an AppName set.
---
dlls/kernel32/tests/process.c | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index f7ca2f8..7f716d6 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -731,6 +731,7 @@ static void test_Startup(void)
static void test_CommandLine(void)
{
char buffer[MAX_PATH], fullpath[MAX_PATH], *lpFilePart, *p;
+ char buffer2[MAX_PATH];
PROCESS_INFORMATION info;
STARTUPINFOA startup;
DWORD len;
@@ -830,7 +831,29 @@ static void test_CommandLine(void)
okChildString("Arguments", "argvA0", buffer);
release_memory();
assert(DeleteFileA(resfile) != 0);
-
+
+ /* Using AppName */
+ get_file_name(resfile);
+ len = GetFullPathNameA(selfname, MAX_PATH, fullpath, &lpFilePart);
+ assert ( lpFilePart != 0);
+ *(lpFilePart -1 ) = 0;
+ p = strrchr(fullpath, '\\');
+ assert (p);
+ /* Use exename to avoid buffer containing things like 'C:' */
+ sprintf(buffer, "..%s/%s", p, exename);
+ sprintf(buffer2, "dummy tests/process.c %s \"a\\\"b\\\\\" c\\\" d", resfile);
+ SetLastError(0xdeadbeef);
+ ret = CreateProcessA(buffer, buffer2, NULL, NULL, FALSE, 0L, NULL, NULL, &startup, &info);
+ ok(ret, "CreateProcess (%s) failed : %d\n", buffer, GetLastError());
+ /* wait for child to terminate */
+ ok(WaitForSingleObject(info.hProcess, 30000) == WAIT_OBJECT_0, "Child process termination\n");
+ /* child process has changed result file, so let profile functions know about it */
+ WritePrivateProfileStringA(NULL, NULL, NULL, resfile);
+ sprintf(buffer, "tests/process.c %s", resfile);
+ okChildString("Arguments", "argvA0", "dummy");
+ okChildString("Arguments", "CommandLineA", buffer2);
+ release_memory();
+ assert(DeleteFileA(resfile) != 0);
}
static void test_Directory(void)
More information about the wine-cvs
mailing list