$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2006-06-09 14:32:02
<hfye-wila_at_[hidden]> wrote in message 
news:000501c68bea$0018c7f0$6501a8c0_at_Furst...
> Hi Johan,
>
> The command line options I know of are:
>
>    char * argv[] = {                // defaults:
>        "--build_info=yes",          //   no
>    //  "--catch_system_errors=no",  //   yes
>    //  "--detect_memory_leaks=0",   //   1
>    //  "--log_format=XML",          //   HRF
>        "--log_level=messages",      //   all_errors
>    //  "--no_result_code=no",       //   yes
>        "--output_format=XML",       //   HRF (overrides log_format &
> report_format)
>        "--random=1",                //   0
>    //  "--report_format=XML",       //   HRF
>        "--report_level=detailed",   //   confirm
>    //  "--show_progress=yes" };     //   no
>
> To output to files, I use set_stream.  I found it made things easier to 
> have
> my own version  of Boost.Test's "main" function, like this:
>
>    // based on: "main" in <boost\test\impl\unit_test_main.ipp>
>    int my_unit_test_entrypoint() {
>        using namespace ::boost::unit_test;
>        int ret = boost::exit_exception_failure;
>        try {
>            char * argv[] = { /*add cmdline options here*/ }; // see above
>            int argc = sizeof( argv ) / sizeof( char * );
>
>            framework::init( argc, argv );
>
>            std::ofstream logStream( "c:\\log.xml" );
>            unit_test_log.set_stream( logStream );
>
>            framework::run();
>
>            std::ofstream reportStream( "c:\\report.xml" );
>            results_reporter::set_stream( reportStream );
>
>            results_reporter::make_report();
>
>            if ( runtime_config::no_result_code() ) {
>                ret = boost::exit_success;
>            } else {
>                test_unit_id id = framework::master_test_suite().p_id;
>                ret = results_collector.results( id ).result_code();
>            }
>        }
>        catch( std::logic_error const & ex ) { /*add error reporting here*/
> }
>        catch( ... ) { /*add error reporting here*/ }
>        return ret;
>    }
>
> Hope this helps!
>
> John Fearnside
>
> -----Original Message-----
> From: Johan Nilsson [mailto:r.johan.nilsson_at_[hidden]]
>
> Hi,
>
> I'm using the Boost.Test (unit test framework) from cvs, trying to get xml
> output redirected into files. The xml format itself is not a problem, but 
> I
> can't find any options to get the output into files.
>
> Is this possible to do using either command-line arguments or environment
> variables? It's possible, but awkard, to use unit_test_log::set_stream, 
> but
> I figured I'd check if there were any options before implementing that.
>
> / Johan