Looks like time for an executive decision. Sean?

I'd rather not have to parse the stuff myself, as I'm SURE someone else
has more experience in extend-able frameworks and string parsing than I do.

Ofc, RunAllTests will be changed to...

template <class CharacterType>
int RunAllTests(int argc = 0, CharacterType** argv = 0)
{
        ...
}

The template is to support unicode, etc. C++0x + TR1 bring many shiny
things. The default parameters are used to not break
backwards-compatibility.

On 01/02/2010 9:34 AM, Mike Smith wrote:
> If you are planning to do that -- please think ahead about other 
> possible run time switches as params to Run All Tests -- it would be 
> easier to have a structure that could be parsed with "english" switches 
> rather than just parameters that have to be placed in a particular order.
> 
> Even if we decided not to put in all the run-time switches in the 
> general UnitTest+ release, having that interface in place means that 
> people could customize in a common way.
> 
> As an instructor using UnitTest++ in classes, one of the most useful (to 
> the students) "run-time switch" we added to RunAllTests was the ability 
> to  "Show Successes" -- meaning the system reported on all asserts that 
> passed -- as well as those that failed. It was a very strong support 
> mechanism for people just starting
> 
> Since we are also using UnitTest++ as part of a test driven design tool, 
> we also added another set of macros for expected failures  XF_CHECK for 
> the design situation where we (the students) had put some asserts in -- 
> and then decided not to complete the implementation of the feature at 
> this particular time. -- we use a run time switch for the reporting the 
> expected failures
> 
> Thanks
> Mike Smith
> 
> Clark Gaebel wrote:
>> UT++ doesn't even get input from the command line afaik. We'd have to
>> change the params to RunAllTests.
>>
>> On 31/01/2010 4:57 PM, Sean Farrell wrote:
>>   
>>> Hold the phone...
>>>
>>> look at the implementation of: TestRunner::RunTest and
>>> UNITTEST_TIME_CONSTRAINT? Is there not a possible way to implement it?
>>>
>>> For the polymorphic part... Just instantiate the class, always or once
>>> for the entire run, jut don't call the methods that do the actual
>>> tracking. You can also keep a boolean that can be enabled or disabled
>>> in the class.
>>>
>>> Sean
>>>
>>> On Sun, Jan 31, 2010 at 10:32 PM, Clark Gaebel <cg.wowus...@gmail.com> 
>>> wrote:
>>>     
>>>> Hm, I see what you mean, but the thing is... now I've gotta get data
>>>> from the command line, filter it through the levels of abstraction that
>>>> are in place, and then... finally... use a polymorphic leak detector to
>>>> select the right one. I don't think I'm up to the challenge. You're
>>>> welcome to try though!
>>>>
>>>> By the way, the test fixture design is causing me headaches, I have to
>>>> have duplicate code in TEST_FIXTURE_EX and in TEST_EX.
>>>>
>>>> I think I'll add SetUp and TearDown methods in class Test, then the
>>>> fixture can implement them with the construction and destruction of the
>>>> fixture. The default TEST would just replace them with null functions.
>>>>
>>>> Is this even do-able? Is it smart? I sure hope so!
>>>>
>>>> On 31/01/2010 4:27 PM, Sean Farrell wrote:
>>>>       
>>>>> Here is the problem:
>>>>>
>>>>> You build UT++ one for release and debug. Put it up in binary form for
>>>>> a dozen project to use. Not all projects and developers want leak
>>>>> detection to run all the time. A runtime switch, one that is given at
>>>>> RunTests like the minimum test runtime, is a good option. That option
>>>>> can the be enabled or disabled with #ifndef.
>>>>>
>>>>> This deployment use case is a very common one. I advise against it and
>>>>> tell people to use the vsproj files (or Makefile) so that build
>>>>> settings are synced. But that means that they have to keep one source
>>>>> tree of UT per project and that is "error prone" and "wasteful".
>>>>> Sooo...
>>>>>
>>>>> Sean
>>>>>
>>>>> On Sun, Jan 31, 2010 at 10:19 PM, Clark Gaebel <cg.wowus...@gmail.com> 
>>>>> wrote:
>>>>>         
>>>>>> Ehhh, runtime switch? What happened to "simple as possible"?
>>>>>>
>>>>>> I like keeping all minor configurations like that in one header file
>>>>>> called, say, config.h.
>>>>>>
>>>>>> I'll try out polymorphism, looks promising.
>>>>>>
>>>>>> On 31/01/2010 4:14 PM, Sean Farrell wrote:
>>>>>>           
>>>>>>> How about you just use the same solution like TimeHelpers.*.
>>>>>>> Alternatively use polymorphism: a Win32LeakDetector and a
>>>>>>> NullLeakDetector class.
>>>>>>>
>>>>>>> Nevertheless; leak detection should be a runtime switch with no
>>>>>>> overhead when off.
>>>>>>>
>>>>>>> Sean
>>>>>>>
>>>>>>> On Sun, Jan 31, 2010 at 10:08 PM, Clark Gaebel <cg.wowus...@gmail.com> 
>>>>>>> wrote:
>>>>>>>             
>>>>>>>> http://github.com/wowus/unittest-cpp/commit/eede1787ab28ce420ada7b74dbd969f7a59145bd
>>>>>>>>
>>>>>>>> A bit easier to use solution.
>>>>>>>>
>>>>>>>> Although the #ifdef hell going on in LeakDetector.cpp is killing me. If
>>>>>>>> anyone has a better/cleaner way to do that, by all means submit a 
>>>>>>>> patch.
>>>>>>>>
>>>>>>>> Working on a EXPECT_LEAK macro now.
>>>>>>>>
>>>>>>>> On 31/01/2010 4:06 PM, Sean Farrell wrote:
>>>>>>>>               
>>>>>>>>> On Sun, Jan 31, 2010 at 8:19 PM, Patrick Johnmeyer 
>>>>>>>>> <pjohnme...@gmail.com> wrote:
>>>>>>>>>                 
>>>>>>>>>> On Sun, Jan 31, 2010 at 12:21 PM, Sean Farrell 
>>>>>>>>>> <sean.farr...@rioki.org>
>>>>>>>>>> wrote:
>>>>>>>>>>                   
>>>>>>>>>>> I have a better problem for you. For example you use a garbage
>>>>>>>>>>> collector for C/C++ like this one:
>>>>>>>>>>> http://www.hpl.hp.com/personal/Hans_Boehm/gc/ The checking code will
>>>>>>>>>>> flag almost all tests as memory errors. Leak detection is really
>>>>>>>>>>> useful, but It should be an option that is turned on (or off). Not
>>>>>>>>>>> hard coded into the library. For example I don't use the time
>>>>>>>>>>> constants at all. Since I don't care for runtime in the Tests.
>>>>>>>>>>>                     
>>>>>>>>>> Architecturally, instantiating an object that decorates a TestRunner 
>>>>>>>>>> or
>>>>>>>>>> TestReporter might be a good way to explicitly enable memory leak 
>>>>>>>>>> detection
>>>>>>>>>> logic.
>>>>>>>>>>                   
>>>>>>>>> I don't know if I can follow you. Please elaborate on your proposed 
>>>>>>>>> solution...
>>>>>>>>>
>>>>>>>>> Sean
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>> The Planet: dedicated and managed hosting, cloud storage, colocation
>>>>>>>>> Stay online with enterprise data centers and the best network in the 
>>>>>>>>> business
>>>>>>>>> Choose flexible plans and management services without long-term 
>>>>>>>>> contracts
>>>>>>>>> Personal 24x7 support from experience hosting pros just a phone call 
>>>>>>>>> away.
>>>>>>>>> http://p.sf.net/sfu/theplanet-com
>>>>>>>>> _______________________________________________
>>>>>>>>> unittest-cpp-devel mailing list
>>>>>>>>> unittest-cpp-devel@lists.sourceforge.net
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>>>>>>>>                 
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> The Planet: dedicated and managed hosting, cloud storage, colocation
>>>>>>>> Stay online with enterprise data centers and the best network in the 
>>>>>>>> business
>>>>>>>> Choose flexible plans and management services without long-term 
>>>>>>>> contracts
>>>>>>>> Personal 24x7 support from experience hosting pros just a phone call 
>>>>>>>> away.
>>>>>>>> http://p.sf.net/sfu/theplanet-com
>>>>>>>> _______________________________________________
>>>>>>>> unittest-cpp-devel mailing list
>>>>>>>> unittest-cpp-devel@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>>>>>>>
>>>>>>>>               
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> The Planet: dedicated and managed hosting, cloud storage, colocation
>>>>>>> Stay online with enterprise data centers and the best network in the 
>>>>>>> business
>>>>>>> Choose flexible plans and management services without long-term 
>>>>>>> contracts
>>>>>>> Personal 24x7 support from experience hosting pros just a phone call 
>>>>>>> away.
>>>>>>> http://p.sf.net/sfu/theplanet-com
>>>>>>> _______________________________________________
>>>>>>> unittest-cpp-devel mailing list
>>>>>>> unittest-cpp-devel@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>>>>>>             
>>>>>> ------------------------------------------------------------------------------
>>>>>> The Planet: dedicated and managed hosting, cloud storage, colocation
>>>>>> Stay online with enterprise data centers and the best network in the 
>>>>>> business
>>>>>> Choose flexible plans and management services without long-term contracts
>>>>>> Personal 24x7 support from experience hosting pros just a phone call 
>>>>>> away.
>>>>>> http://p.sf.net/sfu/theplanet-com
>>>>>> _______________________________________________
>>>>>> unittest-cpp-devel mailing list
>>>>>> unittest-cpp-devel@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>>>>>
>>>>>>           
>>>>> ------------------------------------------------------------------------------
>>>>> The Planet: dedicated and managed hosting, cloud storage, colocation
>>>>> Stay online with enterprise data centers and the best network in the 
>>>>> business
>>>>> Choose flexible plans and management services without long-term contracts
>>>>> Personal 24x7 support from experience hosting pros just a phone call away.
>>>>> http://p.sf.net/sfu/theplanet-com
>>>>> _______________________________________________
>>>>> unittest-cpp-devel mailing list
>>>>> unittest-cpp-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>>>>         
>>>> ------------------------------------------------------------------------------
>>>> The Planet: dedicated and managed hosting, cloud storage, colocation
>>>> Stay online with enterprise data centers and the best network in the 
>>>> business
>>>> Choose flexible plans and management services without long-term contracts
>>>> Personal 24x7 support from experience hosting pros just a phone call away.
>>>> http://p.sf.net/sfu/theplanet-com
>>>> _______________________________________________
>>>> unittest-cpp-devel mailing list
>>>> unittest-cpp-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>>>
>>>>       
>>> ------------------------------------------------------------------------------
>>> The Planet: dedicated and managed hosting, cloud storage, colocation
>>> Stay online with enterprise data centers and the best network in the 
>>> business
>>> Choose flexible plans and management services without long-term contracts
>>> Personal 24x7 support from experience hosting pros just a phone call away.
>>> http://p.sf.net/sfu/theplanet-com
>>> _______________________________________________
>>> unittest-cpp-devel mailing list
>>> unittest-cpp-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>>     
>>
>> ------------------------------------------------------------------------------
>> The Planet: dedicated and managed hosting, cloud storage, colocation
>> Stay online with enterprise data centers and the best network in the business
>> Choose flexible plans and management services without long-term contracts
>> Personal 24x7 support from experience hosting pros just a phone call away.
>> http://p.sf.net/sfu/theplanet-com
>> _______________________________________________
>> unittest-cpp-devel mailing list
>> unittest-cpp-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel
>>
>>
>>   
> 

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
unittest-cpp-devel mailing list
unittest-cpp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unittest-cpp-devel

Reply via email to