Thread overview
How to run unittests?
Oct 31, 2009
al
Oct 31, 2009
al
Oct 31, 2009
grauzone
October 31, 2009
I have main.d:

void main()
{
}

unittest{
	assert(0);
}


I run:

dmd  -unittest main.d && ./main

and nothing happens.

What do I need to do to run the tests? (or get results printed?)

dmd v1.050 on OS X.

October 31, 2009
It seems that unittests are not run (I've tried putting while(1){} and writef() there - no effect).

Even this code doesn't run assert():

import std.stdio;

int main(string[] args)
{
	assert(args.length == -1);
	writef("shouldn't work!");
	return 0;
}


I'm using:

dmd -debug -w -unittest -run main.d

Is there a secred debug switch, or is it simply a bug? Which version of DMD is usable? (I've got v1.050)

October 31, 2009
al wrote:
> It seems that unittests are not run (I've tried putting while(1){} and writef() there - no effect).
> 
> Even this code doesn't run assert():
> 
> import std.stdio;
> 
> int main(string[] args)
> {
> 	assert(args.length == -1);
> 	writef("shouldn't work!");
> 	return 0;
> }
> 
> 
> I'm using:
> 
> dmd -debug -w -unittest -run main.d
> 
> Is there a secred debug switch, or is it simply a bug? Which version of DMD is usable? (I've got v1.050)
> 

I think it's a bug. Works for me under Linux. I guess the OSX versions of dmd are simply not in a useable state yet.