Index: rostests/apitests/kernel32/CMakeLists.txt =================================================================== --- rostests/apitests/kernel32/CMakeLists.txt (revision 74687) +++ rostests/apitests/kernel32/CMakeLists.txt (working copy) @@ -3,6 +3,7 @@ list(APPEND SOURCE Console.c + CreateProcess.c DefaultActCtx.c DeviceIoControl.c dosdev.c Index: rostests/apitests/kernel32/CreateProcess.c =================================================================== --- rostests/apitests/kernel32/CreateProcess.c (nonexistent) +++ rostests/apitests/kernel32/CreateProcess.c (working copy) @@ -0,0 +1,34 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPLv2+ - See COPYING in the top level directory + * PURPOSE: Test spoiling of StaticUnicodeString by CreateProcessA + * PROGRAMMERS: Mark Jansen + */ + +#include +#include +#include + + +START_TEST(CreateProcess) +{ + PUNICODE_STRING StaticString; + UNICODE_STRING CompareString; + BOOL Process; + STARTUPINFO si = {0}; + PROCESS_INFORMATION pi = {0}; + LONG Result; + + StaticString = &NtCurrentTeb()->StaticUnicodeString; + RtlInitUnicodeString(&CompareString, L"--sentinel--"); + RtlCopyUnicodeString(StaticString, &CompareString); + + si.cb = sizeof(si); + Process = CreateProcessA("ApplicationName", "CommandLine", NULL, NULL, FALSE, 0, NULL, "CurrentDir", &si, &pi); + ok_int(Process, 0); + + Result = RtlCompareUnicodeString(StaticString, &CompareString, TRUE); + ok(!Result, "Expected %s to equal %s\n", + wine_dbgstr_wn(StaticString->Buffer, StaticString->Length / sizeof(WCHAR)), + wine_dbgstr_wn(CompareString.Buffer, CompareString.Length / sizeof(WCHAR))); +} Index: rostests/apitests/kernel32/testlist.c =================================================================== --- rostests/apitests/kernel32/testlist.c (revision 74687) +++ rostests/apitests/kernel32/testlist.c (working copy) @@ -4,6 +4,7 @@ #include extern void func_Console(void); +extern void func_CreateProcess(void); extern void func_DefaultActCtx(void); extern void func_DeviceIoControl(void); extern void func_dosdev(void); @@ -30,6 +31,7 @@ const struct test winetest_testlist[] = { { "ConsoleCP", func_Console }, + { "CreateProcess", func_CreateProcess }, { "DefaultActCtx", func_DefaultActCtx }, { "DeviceIoControl", func_DeviceIoControl }, { "dosdev", func_dosdev },