|
Boost : |
From: Phil Richards (news_at_[hidden])
Date: 2005-06-17 07:37:30
Thought I would try and track down the reason for the "Fail" being
shown in the HTML regression report generated by compiler_status.
(Is there a better mailing list/forum for reporting problems
with these tools?)
The following logic is used to determine whether a test passed or failed:
xml::element_ptr dbp = xml::parse( file, pth.string() );
const xml::element & db( *dbp );
const xml::element & run_element( find_element( db, "run" ) );
pass = !run_element.name.empty()
&& attribute_value( run_element, "result" ) != "fail";
So, for a test to be shown as "Pass", !run_element.name.empty() must be
true - which requires that the XML test result blob contains a "run"
element. Tests which are aimed purely at testing expected compile-time
fails (e.g., function/function_30) get the following XML generated
by process_jam_log:
<test-log library="function"
test-name="function_30"
test-type="compile"
test-program="libs/function/test/function_30.cpp"
target-directory="bin/boost/libs/function/test/function_30.test/gcc/debug"
toolset="gcc"
show-run-output="false">
<compile result="succeed" timestamp="2005-06-17 10:25:10 UTC">
</compile>
</test-log>
So, the test passed, but compiler_status will show a fail due to the
lack of a "run" element.
The "pass" assignment should take account of the "test-type".
(I can put a patch together, but I might not cover all the cases
since I don't know the system too well yet.)
phil
-- change name before "@" to "phil" for email
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk