Executables compiled with dmd -unittest don't run unit tests at all. assert() is checked at compile time (i.e. assert(0) triggers warnings about unreachable code), but has no effect at run time (tried compiling with -debug). Both 1.050 and 1.048 fail on Snow Leopard (32-bit kernel mode). 2.035 with same code, same switches runs the tests.
Can somebody please check if this bug is still valid? It's hard to believe that anyone could be using DMD1 on OSX if this still applies. If it still fails, is it really a regression? Was there ever a version of D1 where it worked?
Fawzi has confirmed this is still current. Bug 2726 seems to be the root cause.
Mass migration of bugs marked as x86-64 to just x86. The platform run on isn't what's relevant, it's if the app is a 32 or 64 bit app.
The following program: import std.stdio; unittest { writefln("in unittest"); } void main() { writefln("in main()"); } compiled with: dmd foo -unittest prints: in unittest in main()