Thread overview | ||||||
---|---|---|---|---|---|---|
|
August 15, 2010 Unit tests in libraries? | ||||
---|---|---|---|---|
| ||||
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?
--
Mike Linford
|
August 16, 2010 Re: Unit tests in libraries? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike Linford | On Sat, 14 Aug 2010 23:35:54 -0400, Mike Linford <mike.linford.reg@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
|
August 16, 2010 Re: Unit tests in libraries? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | 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.reg@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. -- Mike Linford |
August 16, 2010 Re: Unit tests in libraries? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike Linford | On Mon, 16 Aug 2010 14:04:57 -0400, Mike Linford <mike.linford.reg@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.reg@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
|
Copyright © 1999-2021 by the D Language Foundation