<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/cppunit/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/cppunit/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Thu, 29 Feb 2024 10:19:12 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/cppunit/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>Make TestFixture getter const</title><link>https://sourceforge.net/p/cppunit/feature-requests/60/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Currently currentTestName() is no const, this has a ripple effect for any functions that override it as well. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dylan Ilsley</dc:creator><pubDate>Thu, 29 Feb 2024 10:19:12 -0000</pubDate><guid>https://sourceforge.net34415e39b0745671dba95a29894fe9e1f327882b</guid></item><item><title>Please consider a CPPUNIT_ASSERT_LAMBDA macro</title><link>https://sourceforge.net/p/cppunit/feature-requests/59/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;It would be handy to have a CPPUNIT_ASSERT_LAMBDA(condition, lambda) macro where the lambda is only called if the condition is false.  This makes extracting error messages from objects easier and the test code simpler.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;#if (defined(_MSC_VER) &amp;amp;&amp;amp; _MSC_VER &amp;gt;= 1800) || (defined(__cplusplus) &amp;amp;&amp;amp; __cplusplus &amp;gt; 199711L)
/** Assertion with a user specified lamda.
* \ingroup Assertions
* \param condition If this condition evaluates to \c false then the
*                  test failed.
* \param lambda Message detail is generated when needed and reported in
*  diagnostic if \a condition evaluates to \c false.
*/
#define CPPUNIT_ASSERT_LAMBDA(condition, lambda)                                        \
  ( CPPUNIT_NS::Asserter::failIf( !(condition),                                         \
                                  CPPUNIT_NS::Message( "assertion failed",              \
                                                       "Expression: "                   \
                                                       #condition,                      \
                                                       !(condition) ? lambda() : "" ),  \
                                  CPPUNIT_SOURCELINE() ) )
#endif
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Tapley</dc:creator><pubDate>Wed, 31 May 2017 01:42:28 -0000</pubDate><guid>https://sourceforge.net2bc2210e23f5e255ffda9a6ee93b4fc5b240a13d</guid></item><item><title>Compilation of tests with g++ -std=c++11 can warn about auto_ptr</title><link>https://sourceforge.net/p/cppunit/feature-requests/58/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;If I compile a file with more than one class derived from CppUnit::TestFixture under gcc/g++ 4.7.2 (Debian 4.7.2-5) on Debian Wheezy (cppunit-1.12-1). The CPPUNIT_TEST_SUITE_END macro invocation in all but the first class will warn that auto_ptr is deprecated.&lt;/p&gt;
&lt;p&gt;Workaround choice of:&lt;br /&gt;
   1. Break up compilation units so that only one test fixture is in each file.&lt;br /&gt;
   2. Add -Wdeprecated-declarations to the compilation flags.&lt;/p&gt;
&lt;p&gt;Desired solution:&lt;br /&gt;
  Conditionally use unique_ptr or shared_ptr as appropriate if the compilation standard level is at c++-11.0 or higher(?) (checking the value of __cplusplus).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ron Fox</dc:creator><pubDate>Mon, 10 Nov 2014 18:35:32 -0000</pubDate><guid>https://sourceforge.net419fcbe82a73bb09c8688844b56b0a5f80736b88</guid></item><item><title>#57 CPPUnit Test Run Report XML to HTML Report similar to Junit or CUnit</title><link>https://sourceforge.net/p/cppunit/feature-requests/57/?limit=25#85e1</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The feature you want is already implemented.  I have Ubuntu, but do not develop on it.  As a Windows developer, here is a script I use during my build process to create html output.  You will need to translate to your environment.  The output file I generate here is "UnitTestResults.xml", which is html internally.  You can probably pick a different name.  :-)&lt;/p&gt;
&lt;p&gt;@echo off&lt;/p&gt;
&lt;p&gt;setlocal enabledelayedexpansion&lt;/p&gt;
&lt;p&gt;@rem Expected parameters&lt;br /&gt;
@rem&lt;br /&gt;
@rem param1: location of targets for the solution (not the project)&lt;br /&gt;
@rem param2: &lt;span&gt;[optional]&lt;/span&gt; if non-blank, the unit test target (else all we can find)&lt;/p&gt;
&lt;p&gt;@rem Determine if we are running debug or release (or other)&lt;br /&gt;
cd %1&lt;br /&gt;
set where=%cd%&lt;br /&gt;
set where=%where:Debug=xx%&lt;br /&gt;
set build=Debug&lt;br /&gt;
if "%cd%" == "%where%" set build=Release&lt;/p&gt;
&lt;p&gt;@rem identify all files ending in &lt;em&gt;_test.dll and &lt;/em&gt;_unittest.dll&lt;br /&gt;
set params=%2&lt;br /&gt;
if "%params%" NEQ "" goto :skipparams&lt;br /&gt;
dir /b &lt;em&gt;_test.dll &amp;gt; filelist.tmp  2&amp;gt; NUL&lt;br /&gt;
dir /b &lt;/em&gt;_unittest.dll &amp;gt;&amp;gt; filelist.tmp  2&amp;gt; NUL&lt;/p&gt;
&lt;p&gt;for /f "usebackq delims=" %%a in (filelist.tmp) do set params=!params! %%a&lt;br /&gt;
del filelist.tmp&lt;br /&gt;
:skipparams&lt;/p&gt;
&lt;p&gt;goto %build%&lt;/p&gt;
&lt;p&gt;:debug&lt;br /&gt;
@rem del /Q  "UnitTestResults.xml"&lt;br /&gt;
echo DllPlugInTesterd_dll.exe -c -x UnitTestResults.xml -s UnitTestReport.xsl clockerplugind.dll %params%&lt;br /&gt;
DllPlugInTesterd_dll.exe -c -x UnitTestResults.xml -s UnitTestReport.xsl clockerplugind.dll %params% &lt;br /&gt;
goto :EOF&lt;/p&gt;
&lt;p&gt;:release&lt;br /&gt;
@rem del /Q  "UnitTestResults.xml"&lt;br /&gt;
echo DllPlugInTester_dll.exe -c -x UnitTestResults.xml -s UnitTestReport.xsl clockerplugin.dll %params%&lt;br /&gt;
DllPlugInTester_dll.exe -c -x UnitTestResults.xml -s UnitTestReport.xsl clockerplugin.dll %params%&lt;br /&gt;
goto :EOF&lt;/p&gt;
&lt;p&gt;:EOF&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bitwise</dc:creator><pubDate>Mon, 06 Oct 2014 19:01:05 -0000</pubDate><guid>https://sourceforge.netebea156ddfdc9843f0e0fd45656af298be4f9252</guid></item><item><title>CPPUnit Test Run Report XML to HTML Report similar to Junit or CUnit</title><link>https://sourceforge.net/p/cppunit/feature-requests/57/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br /&gt;
I am QA guy and beginner in C,C++ unit testing. &lt;br /&gt;
Please help.&lt;br /&gt;
Working on Ubuntu 14.04 64 bit.&lt;br /&gt;
Created sample cpp class and a corresponding Test.cpp.&lt;/p&gt;
&lt;p&gt;Have been able to create the .xml output file for the CPPUnit tests run using XmlOutputter.&lt;br /&gt;
But how to get the HTML report using this xml, is there any predefined XSL, DTD or something like that (as in case of CUnit), so that if these files are there in the same directory as the CPPUnit generated XML file then it would simply show an HTML report.&lt;br /&gt;
OR&lt;br /&gt;
Some way by which ANT can be used to generate the HTML report similar to JUnit.&lt;br /&gt;
Referred &lt;/p&gt;
&lt;h1 id="39-xslt-for-compatibility-with-ant-junit-xml-formatter"&gt;39 XSLT for compatibility with Ant junit xml formatter&lt;/h1&gt;
&lt;p&gt;But could not understand well as variable and paths assumed I am not sure of and new to ANT build.xml etc. too.&lt;br /&gt;
It is in closed status and the guideline is given at a high level, if someone can help &lt;br /&gt;
1 - provide the XSLT, DTD or whatever that needs to be just copied to the folder where CPPUnit generated test run report XML is there and the HTML would get displayed&lt;br /&gt;
OR&lt;br /&gt;
2 - build.xml with the required variables (to be able to understand the directories and paths assumed in the example given) and targets that can be actually used with ANT to generate JUnit like report&lt;/p&gt;
&lt;p&gt;Appreciate your patience to read through.&lt;br /&gt;
Thanks in advance&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">stl</dc:creator><pubDate>Sat, 20 Sep 2014 15:28:05 -0000</pubDate><guid>https://sourceforge.net4a8c7360872b483f04a978deda0e08353f87babf</guid></item><item><title>#39 parameterized fixture</title><link>https://sourceforge.net/p/cppunit/feature-requests/39/?limit=50#6a75</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I've implemented some macros aiding to define parameterized CppUnit tests. &lt;/p&gt;
&lt;p&gt;With this solution you just need to replace the old macros CPPUNIT_TEST_SUITE and CPPUNIT_TEST_SUITE_END within the class's header file:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nx"&gt;CPPUNIT_PARAMETERIZED_TEST_SUITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;TestSuiteClass&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ParameterType&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="cm"&gt;/*&lt;/span&gt;
&lt;span class="cm"&gt; * Put plain old tests here.&lt;/span&gt;
&lt;span class="cm"&gt; */&lt;/span&gt; 
&lt;span class="nx"&gt;CPPUNIT_PARAMETERIZED_TEST_SUITE_END&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In the implementation file you need to replace the old CPPUNIT_TEST_SUITE_REGISTRATION macro  with:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nx"&gt;CPPUNIT_PARAMETERIZED_TEST_SUITE_REGISTRATION&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;TestSuiteClass&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ParameterType&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;These macros require you to implement the methods:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;vector&lt;/span&gt; &lt;span class="n"&gt;parameters&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;testWithParameter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ParameterType&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;parameters(): Provides a vector with the parameters.&lt;/li&gt;
&lt;li&gt;testWithParameter(...): Is called for each parameter. This is where you implement your parameterized test.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A detailed explanation can be found here: &lt;a href="http://brain-child.de/engineering/parameterizing-cppunit-tests" rel="nofollow"&gt;http://brain-child.de/engineering/parameterizing-cppunit-tests&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The german version can be found here: &lt;a href="http://brain-child.de/engineering/parametrierbare-tests-cppunit" rel="nofollow"&gt;http://brain-child.de/engineering/parametrierbare-tests-cppunit&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I would appreciate if the CppUnit team will integrate my work into the CppUnit framework. In this case it would be nice if you mention the source within the source code and documentation ;)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">fussel4711</dc:creator><pubDate>Wed, 26 Feb 2014 07:49:32 -0000</pubDate><guid>https://sourceforge.nete3822a9954f4d66d9dadca1e56b7f1d3f9487dab</guid></item><item><title>Make TextProgressListener flush standard output after writes</title><link>https://sourceforge.net/p/cppunit/feature-requests/56/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Adding the following line at the end of startTest():&lt;br /&gt;
stdCOut().flush();&lt;br /&gt;
makes the progress indicator actually useful.  As it stands, it doesn't actually indicate anything because nothing appears in standard out until a newline is written there.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Calder</dc:creator><pubDate>Wed, 01 Dec 2010 22:38:38 -0000</pubDate><guid>https://sourceforge.netcae7e1601b74412c41f1b77c325b95800401ae1d</guid></item><item><title>Fix output for temmplate classes</title><link>https://sourceforge.net/p/cppunit/feature-requests/55/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The output for the brackets in template class names and the scope operator does not work properly. For an example please see the help-forum thread &lt;a href="http://sourceforge.net/projects/cppunit/forums/forum/37108/topic/3807203."&gt;http://sourceforge.net/projects/cppunit/forums/forum/37108/topic/3807203.&lt;/a&gt; I suspect the helper macros to be the cause of the problem.&lt;/p&gt;
&lt;p&gt;It would be nice, if you could fix this.&lt;br /&gt;
Thanks,&lt;br /&gt;
jg&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Enki</dc:creator><pubDate>Mon, 16 Aug 2010 20:14:28 -0000</pubDate><guid>https://sourceforge.net39f9c682b0cc046666e0740c734a7e5486b0c4e6</guid></item><item><title>Add Setup, Teardown method for fixture</title><link>https://sourceforge.net/p/cppunit/feature-requests/54/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;In some case it will be useful to have a setup and teardown method for fixture. This could speed up execution of the test if I generate const object only once for all the fixture. Presently they waste time to regenerate object for each test.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">RiouxYz</dc:creator><pubDate>Wed, 10 Jun 2009 20:11:58 -0000</pubDate><guid>https://sourceforge.net3ad6c57409a9bd7e502a9bdb591c712b6522a517</guid></item><item><title>Win64 build</title><link>https://sourceforge.net/p/cppunit/feature-requests/53/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I am working on building the source of CPPunit 1.12.1 version on Windows 64 XP (x64) in MS Visual Studio 2005 (V8). However, a couple of issues appeared during building listed below:&lt;/p&gt;
&lt;p&gt;1. In Configuration Manager of the Build menu option, I needed to select x64 as the Active solution platform since the active solution was set to Win32. This is expected since Win64 is supposedly not supported.&lt;/p&gt;
&lt;p&gt;2. In the Preprocessor Definitions option in the project C/C++ configuration properties, I changed WIN32 to WIN64 since I was building for WIN64. Now this step is not mandatory since the projects build for Win32 but I felt it would be appropriate that way. &lt;/p&gt;
&lt;p&gt;3. Some erros occured in some of the projects while others occurred in all projects apart from 'cppunit' and 'cppunit_dll':&lt;/p&gt;
&lt;p&gt;a) .\DynamicWindow\cdxCDynamicDialog.cpp(30) : error C2440: 'static_cast' : cannot convert from 'void (__cdecl cdxCDynamicDialog::* )(UINT)' to 'void (__cdecl CWnd::* )(UINT_PTR)' ---&amp;gt; I changed UINT to UINT_PTR in the OnTimer function and the error was corrected.&lt;/p&gt;
&lt;p&gt;b) .\MsDevCallerListCtrl.cpp(67) : error C3505: cannot load type library '{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}'&lt;br /&gt;
.\MsDevCallerListCtrl.cpp(67) : fatal error C1104: fatal error importing libid: '80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2'&lt;/p&gt;
&lt;p&gt;c)...\cppunit-1.12.1\src\msvc6\dsplugin\stdafx.h(12) : fatal error C1189: #error :  This add-in is for VC++ 6.0 only&lt;/p&gt;
&lt;p&gt;I therefore built the 'cppunit' and 'cppunit_dll projects only. Most of these erros I guess are due to the fact that Win64 is not supported. Is there a temporary solution available at the moment which can be used to build the CPPUnitLibraries solution. If not, as one user already asked, when can we expect a solution for Win64.&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">nik</dc:creator><pubDate>Wed, 03 Dec 2008 09:08:11 -0000</pubDate><guid>https://sourceforge.neta22aac00b303f401321e9713186929610af8d7f0</guid></item></channel></rss>