On Mon, 16 Aug 2010 14:04:57 -0400, Mike Linford <mike.linford....@gmail.com> wrote:

On Mon, 16 Aug 2010 08:37:35 -0400, Steven Schveighoffer wrote:

On Sat, 14 Aug 2010 23:35:54 -0400, Mike Linford
<mike.linford....@gmail.com> wrote:

Is this a bug? Unit tests do not seem to work in libraries. I'm using
dmd 1.062 for linux.

mylib.d :
module mylib;

void blah()
{
}
unittest
{
        assert(false);
}

main.d :
module main;

import mylib;

void main()
{
        blah();
}

The unit test does not get run when compiled as: dmd -lib mylib.d
dmd main.d mylib.a

But does get run when compiled as
dmd main.d mylib.d

Is this the intended behavior for unit tests in libraries?

Did you pass -unittest to dmd?  It needs to be there when compiling the
file that contains unit tests.

I'm surprised unittests run at all with those compile lines.

-Steve

Haha, whoops, forgot to mention that I DID indeed include -unittest in
all compile lines.

Hm... I would say if -unittest is passed to the dmd -lib line, and you don't get unit tests out of the resulting executable, you found a compiler bug!

-Steve

Reply via email to