wine/test.h: Identify test result lines printed by child processes.

Francois Gouget fgouget at codeweavers.com
Tue Jan 31 11:12:32 CST 2017


On Mon, 30 Jan 2017, Alexandre Julliard wrote:
[...]
> I don't think the test framework should be modifying the environment in
> all the tests. It already breaks some things:
> 
> ../../../tools/runtest -q -P wine -T ../../.. -M msvcrt.dll -p msvcrt_test.exe.so environ && touch environ.ok
> environ.c:198: Test failed: Expected environment block pointer element to be non-NULL
> wine: Unhandled page fault on read access to 0x00000000 at address 0x7ed2a986 (thread 0074), starting debugger...

Damn.

I still think making the child process result lines different from 
their parent's is necessary to fix bug 32354 but I'm open to 
alternatives if someone has any idea.
https://bugs.winehq.org/show_bug.cgi?id=32354

Maybe creating a named object would be less likely to break the tests 
and be acceptable? For instance this could be a mutex called something 
like "winetest${bitness}_${dll}_${test}" to avoid problems in case 
different tests are run in parallel, and the idea would be to check for 
GetLastError() == ERROR_ALREADY_EXISTS. The nice thing about named 
objects is they should just go away when the last process referencing 
them goes away.

Creating a file instead would certainly avoid nasty side-effects but to 
avoid trouble with left-over files after crashes one would have to check 
for locks on it which seems much more complex.

-- 
Francois Gouget <fgouget at codeweavers.com>



More information about the wine-devel mailing list