std.unittests [updated] for review

Jonathan M Davis jmdavisProg at gmx.com
Mon Jan 24 07:00:57 PST 2011


On Monday 24 January 2011 06:34:49 Jonathan M Davis wrote:
> In case you didn't know, I have a set of unit test helper functions which
> have been being reviewed for possible inclusion in phobos. Here's an
> update.
> 
> Most recent code: http://is.gd/F1OHat
> 
> Okay. I took the previous suggestions into consideration and adjusted the
> code a bit more. However, most of the changes are to the documentation
> (though there are some changes to the code). Some of the code duplication
> was removed, and the way that some of the assertPred functions' errors are
> formatted has been altered so that values line up vertically, making them
> easier to compare. The big change is the docs though. There's now a fake
> version of assertPred at the top with an overall description for
> assertPred followed by the individual versions with as little
> documentation as seemed appropriate while still getting all of the
> necessary information across. A couple of the functions still have
> irritatingly long example sections, but anything less wouldn't get the
> functionality across.
> 
> In any case. Here's the updated code. Review away. Andrei set the vote
> deadline for February 7th, at which point, if it passes majority vote,
> then it will go into Phobos. The number of functions is small enough now
> (thanks to having consolidated most of them into the fantastically
> versatile assertPred) that it looks like it will likely go in
> std.exception if the vote passes rather than becoming a new module. So,
> the std.unittests title has now become a bit of a misnomer, but that's
> what I've been calling it, so it seemed appropriate to continue to label
> it that way in the thread's title.
> 
> - Jonathan M Davis

By the way, I should point out that this requires the newest (now git!) version 
of druntime to work, since I made assertThrown chain the exception which was 
thrown to the AssertError on failure. It doesn't do much good at the moment, 
since only the AssertError gets printed, but maybe that'll change at some point. 
Regardless, I had to make it so that AssertError would take another Throwable 
for it to work, so you'll need the version from the git repository ( 
https://github.com/D-Programming-Language/druntime ) for it work.

The examples (and therefore the unit tests) require the git version of Phobos  
as well ( https://github.com/D-Programming-Language/phobos ), since some of them 
use std.datetime. The code itself doesn't require a newer version of Phobos 
though.

- Jonathan M Davis


More information about the Digitalmars-d mailing list