[phobos] Time taken for running unit tests
Jonathan M Davis
jmdavisProg at gmx.com
Mon Sep 26 18:36:18 PDT 2011
On Monday, September 26, 2011 18:27:05 Andrei Alexandrescu wrote:
> On 9/26/11 6:05 PM, Jonathan M Davis wrote:
> > This would definitely improve the Windows build, but I would suggest
> > that both the Windows and Linux builds have a separate target which
> > builds and runs all of the modules' unit tests at once in order to
> > catch circular dependencies caused by static constructors. Obviously,
> > both the Posix and Windows makefiles would need to be adjusted in order
> > for that to work.
>
> Wouldn't the issues manifest themselves without the unittests?
Unfortunately, they can't be found at compile time. They only get found at
runtime. If we compile all of Phobos' unit tests in one executable, then we
find them when the unit tests run. If we don't, then we only find them when
someone runs into the issue and reports a bug. Every circular dependency that
I've seen in Phobos thus far was caught by the Windows unit tests and not the
Posix unit tests, because the Windows units compiling everything into one
executable, and the Phobos unit tests split all of the modules up. In general,
splitting the modules up is better, but it does fail to catch this one
problem, which is why I'm suggesting that we have a separate make target for
building and running all of Phobos unit tests in one executable. It will make
it easier to test for circular dependencies, and it will also make it easier
to benchmark how well dmd is doing at compiling a lot of code at once.
- Jonathan M Davis
More information about the phobos
mailing list