Boost logo

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