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