Output the string indicating the test which is going to be run in one call.

This should prevent a race condition, when another application also outputs something over the debug line.

svn path=/trunk/; revision=39027
This commit is contained in:
Colin Finck 2009-01-22 22:12:13 +00:00
parent 0330519da7
commit 0cedc2a03c

View file

@ -49,13 +49,14 @@ IntRunTest(PWSTR CommandLine, HANDLE hReadPipe, LPSTARTUPINFOW StartupInfo, PWIN
LogLength = BUFFER_BLOCKSIZE; LogLength = BUFFER_BLOCKSIZE;
} }
/* Execute the test */ /* Allocate a buffer with the exact size of the output string.
StringOut("Running Wine Test, Module: "); We have to output this string in one call to prevent a race condition, when another application also outputs a string over the debug line. */
StringOut(GetSuiteIDData->Module); Buffer = HeapAlloc(hProcessHeap, 0, 27 + strlen(GetSuiteIDData->Module) + 8 + strlen(GetSuiteIDData->Test) + 2);
StringOut(", Test: "); sprintf(Buffer, "Running Wine Test, Module: %s, Test: %s\n", GetSuiteIDData->Module, GetSuiteIDData->Test);
StringOut(GetSuiteIDData->Test); StringOut(Buffer);
StringOut("\n"); HeapFree(hProcessHeap, 0, Buffer);
/* Execute the test */
if(!CreateProcessW(NULL, CommandLine, NULL, NULL, TRUE, NORMAL_PRIORITY_CLASS, NULL, NULL, StartupInfo, &ProcessInfo)) if(!CreateProcessW(NULL, CommandLine, NULL, NULL, TRUE, NORMAL_PRIORITY_CLASS, NULL, NULL, StartupInfo, &ProcessInfo))
{ {
StringOut("CreateProcessW for running the test failed\n"); StringOut("CreateProcessW for running the test failed\n");