Why do failed contracts don't dump stack backtrace in unittests?

Paul Backus snarwin at gmail.com
Sun Sep 4 16:35:00 UTC 2022


On Sunday, 4 September 2022 at 14:14:55 UTC, Ali Çehreli wrote:
> The program output is different whether an Error is thrown from 
> main or from the unittest block:

Because the default test runner catches the Error, and doesn't 
print the stack trace:

https://github.com/dlang/dmd/blob/25799d3841ea87246c56532f6f91d9a1e34d8d8f/druntime/src/core/runtime.d#L599-L620

There's even a comment about it:

     // TODO: omit stack trace only if assert was thrown
     // directly by the unittest.


More information about the Digitalmars-d-learn mailing list