Jonathan M Davis wrote:
I'm a firm believer that D unit tests should not change how they fundamentally
work at this point. I don't _want_ it to report the number of tests that passed.
That's right. The number that fail is completely useless window dressing.
That information is not at all useful. And if I want to do something like set up
something to run dmd periodically and report only when the tests start failing,
then the current situation is perfect.
I _do_ think that the unit testing stuff should be expanded to have named unit
tests and do whatever is necessary to make it possible for external tools to run
the unit tests. Then you could have an external tool that did things like only
run specific unit tests and report which tests succeeded and which failed.
So, I do think that it should be possible to build external tools on D's unit
testing framework, but I think that it's quite good as it is now, and I wouldn't
want to see it drastically changed.
The two changes that I want to see to the current framework are
1. Make it so that every unittest block runs in a module instead of them
stopping once one failed. The current situation is better than stopping _all_
unittest blocks once a single test fails, but it's still not granular enough. I
believe that this change is planned, but work has to be done to make it
possible, and that work hasn't been done yet.
I believe that is the current behavior. For a time, it kept getting broken by
changes to druntime, so it may be broken yet again, but that is the way it is
supposed to work.
2. Make it possible to name unittest blocks. This would make exceptions that
escape unittest blocks _far_ more useful. Names like unittest45 really aren't
useful at all. I can't even figure out how it does the numbering.
If the line numbers given out are incorrect, those are compiler bugs and I'd
like to get them fixed.
> Also, having named unittest blocks would be a necessity for properly allowing
external tools to run the unit tests.
I don't really know how that would work.
I do _not_ want to see D programs printing out anything more than they do when
running unit tests. I'm totally open to external tools which do more (it would
particularly good for IDEs to be able to run unittest blocks individually), but
I do not want to see the basic framework change how it prints feedback on test
successes and failures. It works great as it is now.
Yes, and if anyone wants more, a writefln("your message here") works just fine.