On Wednesday, August 10, 2011 09:11:53 simendsjo wrote: > On 08.08.2011 14:11, simendsjo wrote: > > Is it possible to run unittests in libraries? > > The following doesn't work: > > > > l.d > > === > > module l; > > import std.stdio; > > int f() { return 1; } // just to make sure it's actually compiled in > > unittest { > > writeln("Unittest from lib"); > > assert(false); > > } > > > > > > t.d > > === > > import l; > > import std.stdio; > > void main() { > > writeln(f()); > > } > > > > > dmd -unittest -lib l > > > dmd -unittest t l.lib > > > t.exe > > > > 1 > > Anyone? Now I have to compile every source file from the library into > t.d instead of compiling in the library.
I don't know exactly what the deal with unit tests and libraries is, but it wouldn't surprise me at all if you have to compile a module into a binary to run its unit tests. Phobos (on Linux at least) is set up to build each module separately to run its unit tests. I can see why you'd want to do this, so it may be worth creating a bug report or enhancement request for it, but I have no idea whether it's supposed to work or not. - Jonathan M Davis