Boost C++ Libraries: Ticket #7417: Detailed test status is not available in the Boost.Test log (status, assertions, passed) and so live test case status cannot be tracked https://svn.boost.org/trac10/ticket/7417 <p> Currently with Boost.Test it is not possible to use the test output to show detailed live test progress. By detailed I mean, test status, number of passed assertions and total number of assertions. This is because: </p> <ol><li>Only basic status information is provided through <code>stdout</code> (the Boost.Test log) as tests are proceeding. Notably just whether a test has started or a test has finished. </li><li>Detailed information is accessible by accessing the test report information captured as part of the Boost.Test report functionality which is typical sent to <code>stderr</code>. </li><li>Report data is only output when all tests are complete therefore this information cannot be used for live reporting. In other words a solution is not to listen on both <code>stdout</code> and <code>stderr</code> </li></ol><p> The attached patch adds additional test status information to the information sent to stdout - the Boost.Test log. This allows arbitrary test tools to be developed that interpret the test output for live test progress reporting. </p> <p> We use one such tool based on scons that allows us to view live test progress on the console. This is not possible with the current Boost.Test since detailed test status is not available until all cases have completed. </p> <p> This patch compliments the patches attached to: </p> <p> </p><div><dl class="wiki compact"><dt><a class="closed" href="/trac10/ticket/7397" title="Boost.Test, since boost 1.48 is using the deprecated Boost.Timer class">#7397</a></dt><dd>Boost.Test, since boost 1.48 is using the deprecated Boost.Timer class</dd><dt><a class="closed" href="/trac10/ticket/7410" title="Test Units (Cases and Suites) in Boost.Test do not capture __FILE__ ...">#7410</a></dt><dd>Test Units (Cases and Suites) in Boost.Test do not capture __FILE__ and __LINE__ at declaration point making it impossible to provide source file linking using external test management tools</dd></dl></div><p> </p> <p> and taken together allows for sophisticated test tools to be built on top of the Boost.Test output. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7417 Trac 1.4.3 Jamie Allsop <ja11sop@…> Mon, 24 Sep 2012 15:59:27 GMT attachment set https://svn.boost.org/trac10/ticket/7417 https://svn.boost.org/trac10/ticket/7417 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boost_test_detailed_status_to_stdout.diff</span> </li> </ul> Ticket Jamie Allsop <ja11sop@…> Mon, 24 Sep 2012 16:00:55 GMT summary changed https://svn.boost.org/trac10/ticket/7417#comment:1 https://svn.boost.org/trac10/ticket/7417#comment:1 <ul> <li><strong>summary</strong> <span class="trac-field-old">It is not possible to</span> → <span class="trac-field-new">Detailed test status is not available in the Boost.Test log (status, assertions, passed) and so live test case status cannot be tracked</span> </li> </ul> Ticket Raffi Enficiaud Thu, 09 Mar 2017 12:25:41 GMT <link>https://svn.boost.org/trac10/ticket/7417#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7417#comment:2</guid> <description> <p> Since Boost 1.62, there is the possibility to define a user logger and add it to the set of loggers (and have several loggers at the same time). </p> <p> I updated the documentation of the loggers to a point that you should be able to implement your live test cases. I use this for being able to write JUnit logging output, which is a logger and a reporting facility at the same time. </p> <p> I believe you can derive your own logger from the JUnit implementation. The test reporter and test loggers have indeed the same interface, and they both receive the same signals from the framework. There is also the possibility to have detailed logs during the test module execution. </p> <p> I would rather suggest go this direction, you can have my support if needed. </p> </description> <category>Ticket</category> </item> </channel> </rss>