|
Boost-Build : |
From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2007-11-09 22:44:13
On Nov 9, 2007, at 5:59 PM, Rene Rivera wrote:
> K. Noel Belcourt wrote:
>> There's a problem in execunix.c where I don't set the correct process
>> termination status if the process crashes or otherwise fails to exit
>> through normal channels (by calling exit() or_exit(), or exiting
>> through main). This patch marks the process termination status as
>> having failed if it doesn't exit through normal channels.
>>
>> If there's no objection, I'll get this committed to trunk.
>
> No objection, only a question. Is this something that affects testing
> results?
Hi Rene,
Yes, I'm seeing some inconsistent testing results. Here's an example
of this inconsistency. This test (test/prg_exec_fail2.test) ran and
appears to have failed with a divide by zero error (according to the
results/bjam.log:
[ from bjam.log ]
testing.capture-output /var/scratch2/boost/results/boost/bin.v2/libs/
test/test/prg_exec_fail2.test/pathscale-2.5/debug/prg_exec_fail2.run
"/var/scratch2/boost/results/boost/bin.v2/libs/test/test/
prg_exec_fail2.test/pathscale-2.5/debug/prg_exec_fail2" > "/var/
scratch2/boost/results/boost/bin.v2/libs/test/test/
prg_exec_fail2.test/pathscale-2.5/debug/prg_exec_fail2.output" 2>&1
status=$?
echo >> "/var/scratch2/boost/results/boost/bin.v2/libs/test/test/
prg_exec_fail2.test/pathscale-2.5/debug/prg_exec_fail2.output"
echo EXIT STATUS: $status >> "/var/scratch2/boost/results/boost/
bin.v2/libs/test/test/prg_exec_fail2.test/pathscale-2.5/debug/
prg_exec_fail2.output"
if test $status -eq 0 ; then
cp "/var/scratch2/boost/results/boost/bin.v2/libs/test/test/
prg_exec_fail2.test/pathscale-2.5/debug/prg_exec_fail2.output" "/var/
scratch2/boost/results/boost/bin.v2/libs/test/test/
prg_exec_fail2.test/pathscale-2.5/debug/prg_exec_fail2.run"
fi
verbose=0
if test $status -ne 0 ; then
verbose=1
fi
if test $verbose -eq 1 ; then
echo ====== BEGIN OUTPUT ======
cat "/var/scratch2/boost/results/boost/bin.v2/libs/test/test/
prg_exec_fail2.test/pathscale-2.5/debug/prg_exec_fail2.output"
echo ====== END OUTPUT ======
fi
exit $status
====== BEGIN OUTPUT ======
**** exception(210): signal: integer divide by zero; address of
failing instruction: 0x0040265a
******** errors detected; see standard output for details ********
EXIT STATUS: 200
The test result in bjam.log has an EXIT STATUS of 200 yet, according
to the Sandia-pathscale 2.5 results at beta.boost.org, this test
passed. I can't figure out how the page results are generated (and
I'm not sure if the change I want to make to execunix.c will actually
fix it anyway).
-- Noel
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk