Continuous Integration

Jason House jason.james.house at gmail.com
Thu Mar 27 18:33:47 PDT 2008


Sean Kelly wrote:

> == Quote from Jason House (jason.james.house at gmail.com)'s article
>> Sean Kelly wrote:
>> > == Quote from Jason House (jason.james.house at gmail.com)'s article
>> >> Lars Ivar Igesund Wrote:
>> >> > Jason House Wrote:
>> >> >
>> >> > > Sean Kelly wrote:
>> >> > >
>> >> > > > == Quote from Jason House (jason.james.house at gmail.com)'s
>> >> > > > article
>> >> > > >> I'd like to stay with the D style of unit tests.  Maybe I
>> >> > > >> should check what
>> >> > > >> enhancement requests are in there.  It'd be nice to be able to
>> >> > > >> hook in a unit test handler...
>> >> > > >
>> >> > > > Tango has one.  Look at "moduleUnitTester" here:
>> >> > > >
>> >> > > >
>>
http://www.dsource.org/projects/tango/docs/current/tango.core.Runtime.html
>> >> > > >
>> >> > > >
>> >> > > > Sean
>> >> > >
>> >> > > See http://d.puremagic.com/issues/show_bug.cgi?id=1952 for the
>> >> > > enhancement
>> >> > > request.  Per unit test customization (such as a unit test name)
>> >> > > is very
>> >> > > useful to have.  I also don't see a way to tell the program to run
>> >> > > all unit tests (and just report the individual passes/failures)
>> >> >
>> >> > Here is a simple program that uses the above hook  - note that you
>> >> > need to link one of the stacktrace libs (jive on linux) to actually
>> > get stacktraces printed on exceptions, not just assert line numbers.
>> > Also, I think it will be unable to continue after a segfault.:
>> >> Hmmm...  There's some black magic in your sample.  What's
>> >> "ModuleInfo"? Where is it documented?
>> >
>> > ModuleInfo is declared in the global object.di in Tango, and it isn't
>> > documented anywhere.  Sorry about that.  I need to look into
>> > documenting what's in object.di.
>> >
>> >> The code looks like it does not run unit tests one at a time, but I'll
>> >> wait for real analysis of the code until I know what's going on.
>> >
>> > Unfortunately, the compiler lumps all the unit tests in a particular
>> > module together.  I would prefer if they were split out into a per-
>> > module list however, and this would have to happen for your enhancement
>> > request to go through.
>> >
>> >
>> > Sean
>> Please, please add the extra detail to the request!  How should the
>> compiler do it?
> 
> I'd like ModuleInfo to get something vaguely like this:
> 
> alias void function() UnitTest;
> struct NamedPair { char[] name; UnitTest test; }
> NamedPair[] unitTests;
> 
> Then executing the unit tests for a module could be done on a per-test
> basis,
> with the names you suggested visible as well.  Of course, this means even
> more meta-data per module, but it would make unittest more flexible so...
> 
> 
> Sean

I was hoping those kind of thoughts would go into the feature request ;)



More information about the Digitalmars-d mailing list