[phobos] Split std.datetime in two?

Robert Jacques sandford at jhu.edu
Fri Feb 11 13:08:56 PST 2011


On Fri, 11 Feb 2011 14:20:09 -0500, Steve Schveighoffer  
<schveiguy at yahoo.com> wrote:
> It looks as though Jonathan is willing to roll up the code into loops,  
> so having this debate is academic at this point, but I wanted to respond  
> to some points.
>
>
> ----- Original Message -----
>> From:Andrei Alexandrescu <andrei at erdani.com>
>>
>> On Feb 11, 2011, at 2:39 PM, Steve Schveighoffer <schveiguy at yahoo.com>
>> wrote:
>
>> > Please please, let's *NOT* make this a standard practice.  If a test
>> fails, I don't want to get a debugger out or start printf debugging *to  
>> find
>> the unit test*.  I want it to tell me where it failed, and focus on  
>> fixing the
>> problem.
>>
>> You find the unittest alright. With coming improvements to assert you  
>> will often
>> see the arguments that caused the trouble.
>
> This will help immensely.  Right now, you get a line number.  The rule  
> should be, if a unit test fails, it should give you enough information  
> to 1) find the failing assert and 2) give you all the information to  
> understand why the assert failed.
>
>> I don't understand how we both derive vastly different conclusions from  
>> the
>> same extensive eperience with unittests. To me a difficult unittest to  
>> find is a
>> crashing one; never ever once in my life I had problems figuring out  
>> why an
>> assert fails in a uniitrst, and worse, I am incapable to imagine such.
>
> foreach(x; someLongArray)
>   assert(foo(x) > 5);
>
> which x caused the problem?  all I get is the line number for the assert.

*sigh*

  foreach(x; someLongArray)
    assert(foo(x) > 5, text(x) );

Problem solved. Personally, I don't usually add the extra clause to assert  
during initial coding; only when they fail do I add something like  
text("\nx:\t",x,"\nfoo:\t",foo(x)); or whatever. (Though enforces are a  
different story)


More information about the phobos mailing list