[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] spawn_redirected_hook_helper test failing on Win32 MinG
From: |
Stephen Leake |
Subject: |
[Monotone-devel] spawn_redirected_hook_helper test failing on Win32 MinGW |
Date: |
Sat, 01 Sep 2007 08:26:30 -0400 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (windows-nt) |
spawn_redirected_hook_helper test is failing on Win32 MinGW.
The root problem seems to be a race condition in waiting for the test
child process; the test works if I run under the debugger and put
breakpoints in the right places. I suspect the problem is related to
having two child processes; the one running the test, and the one
spawned by the test. Windows _should_ keep them straight, but
apparently it's getting confused.
In addition, when the test fails, it exits tester.cc, rather than just
reporting a failure. This is because the status returned from
run_tests_in_children is -1, and the Lua error handling mechanism
doesn't know how to handle that.
For one thing, luaD_seterrorobj in ldo.cc doesn't handle status = -1.
So the only message that tester.exe prints is "warning:".
Adding 'case -1:' in luaD_seterrorobj improves that to:
address@hidden ./tester.exe /Gnu/monotone/lua-testsuite.lua
spawn_redirected_hook_helper
Running tests...
393 spawn_redirected_hook_helper ok
warning: error in error address@hidden
Note that there is no newline in the error message.
I don't see how to fix things so this returns a proper FAILED test
status; so xfail won't work here.
I also don't see how to fix the race condition.
For the moment, I've added 'skip_if(ostype == "Windows")' in
spawn_redirected_hook_helper/__driver__.lua.
So at least I can move on to the next failure :).
--
-- Stephe
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-devel] spawn_redirected_hook_helper test failing on Win32 MinGW,
Stephen Leake <=