[dmd-internals] changeset 455

Sean Kelly sean at invisibleduck.org
Mon May 3 14:13:54 PDT 2010


On May 3, 2010, at 1:45 PM, Walter Bright wrote:
> 
> Sean Kelly wrote:
> 
>>  I tried modifying the unit testing code to eat the exception and continue, but then it simply prints:
>> 
>>    test.d(9): unittest 1
>>    test.d(10): unittest 2
>> 
>> So the best we can currently do is move on to test another module--there's no way to execute the remaining unit tests within the module.  Could we perhaps have an array of unittests within the ModuleInfo struct instead of just a single function pointer?  Or is the rationale really that if implementation code throws, the app should assume it's in an invalid state and exit?
>>  
> 
> It's simpler than that. The idea is if an assert fails within a unittest block, the unittests should continue. If an assert fails outside, then the app should stop.

So let's say I'm doing boundary testing for code that has 'in' contracts.  I guess if I want to test that it rejects out of range values then I should explicitly catch the AssertError?


More information about the dmd-internals mailing list