Re: How to run unittests?

2009-10-31 Thread al
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)



How to run unittests?

2009-10-31 Thread al
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.



Re: Modules/packages and cryptic errors

2009-10-31 Thread al
Frank Benoit Wrote:

> al schrieb:
> > module bar is in multiple defined
> 
> This often indicates a modules file name and the identifier in the
> "module" statement are unequal (case sensitivity)

I have all files and imports lowercase. I have class names following filenames 
capitalized, but that shouldn't matter, should it?


When I run:

dmd foo/bar.d

is that assuming module foo.bar or bar? If that's the latter, it might explain 
why I'm getting an error (import finds this file under foo.bar), but how should 
I compile files then?




Modules/packages and cryptic errors

2009-10-31 Thread al
I have main.d with:

import foo.bar

and when I run:

dmd foo/*.d main.d

I get:

module bar is in multiple defined

This is pretty strange. The only way I can silence this error is to add "module 
dirname.filename" to *every* file.

Surely there must be less annoying method?