On 9/10/2014 3:57 AM, Dicebot wrote:
My opinion stays the same - it is good reliable default and should stay
that way. And yes, I absolutely hate when libraries do
version(mylib_unittest) hacks forcing me to bother with millions of
versions to enable them back.
Being "default" is one thing, I really don't care what the default is -
but for now it's not just "the default", it's the only realistic option
without getting into PITA workarounds.
Some people like including 3rd party library unittests with their own
(apparently), some people like *not* including them. So we have some
projects using version(foo_unittest) and other projects not using it.
The current result is: *Nobody* can easily get what they want: Not
people who like it my way, and not people who like it your way. Not
easily enough anyway.
So it's a global ecosystem problem. It needs fixed. (And to start with,
general agreeance that it should be fixed.)
Simple solutions is to provide alternative unit test runner module as
part of Phobos which does the module/package filtering.
It needs to be *crystal* clear and trivially simple:
A. Knowing that it exists.
B. Sussing out how to use it.
C. Actually using it.
Otherwise, version(foo_unittest) will continue to linger out of an
individual's convenience, and so once again, not everyone gets to have
things their way.
A related concern I have about a Phobos-only solution: When/where do you
configure it? Obviously it can't happen anywhere in the scope of main.
Are static ctors sufficient? I would *think* so, but I'm not certain.