Re: unittests not being run

2016-07-16 Thread Bahman Movaqar via Digitalmars-d-learn
On 07/17/2016 12:38 AM, Seb wrote:
> There is no need for a module, but dub by default only checks files in
> the 'source' folder.

The file is already in the 'source' folder.

> For such simple tests you could also run them directly with rdmd
> -unittest. There is an additional -main flag if you don't need a main
> method.

Indeed, that's a slimmed down version of my code.  Though the real code
is different (not this simple and already has a `main`) the problem is
the same.

-- 
Bahman


Re: unittests not being run

2016-07-16 Thread Seb via Digitalmars-d-learn

On Friday, 15 July 2016 at 11:59:51 UTC, Bahman Movaqar wrote:

On 07/15/2016 04:16 PM, Jerry wrote:
Unittests have to be inside a module to be run on DMD atleast. 
So putting module foo at top should fix it.


Strange.  Still not getting picked up.

$ dmd --version
DMD64 D Compiler v2.071.0
Copyright (c) 1999-2015 by Digital Mars written by Walter 
Bright


[app.d]
module app;

import std.stdio;

private int incBy1(int i) { return i + 1; }

unittest {
  assert(incBy1(1) == 200);
}

void main() {
  writeln(incBy1(1));  // which prints 2
}
[/app.d]

$ dub test
Generating test runner configuration '__test__library__' for
'library' (library).
Performing "unittest" build using dmd for x86_64.
dplay ~master: building configuration "__test__library__"...
Linking...
Running ./__test__library__
All unit tests have been run successfully.


There is no need for a module, but dub by default only checks 
files in the 'source' folder.
For such simple tests you could also run them directly with rdmd 
-unittest. There is an additional -main flag if you don't need a 
main method.




Re: unittests not being run

2016-07-15 Thread Bahman Movaqar via Digitalmars-d-learn
On 07/15/2016 04:16 PM, Jerry wrote:
> Unittests have to be inside a module to be run on DMD atleast.
> So putting module foo at top should fix it.

Strange.  Still not getting picked up.

$ dmd --version
DMD64 D Compiler v2.071.0
Copyright (c) 1999-2015 by Digital Mars written by Walter Bright

[app.d]
module app;

import std.stdio;

private int incBy1(int i) { return i + 1; }

unittest {
  assert(incBy1(1) == 200);
}

void main() {
  writeln(incBy1(1));  // which prints 2
}
[/app.d]

$ dub test
Generating test runner configuration '__test__library__' for
'library' (library).
Performing "unittest" build using dmd for x86_64.
dplay ~master: building configuration "__test__library__"...
Linking...
Running ./__test__library__
All unit tests have been run successfully.

-- 
Bahman


Re: unittests not being run

2016-07-15 Thread Jerry via Digitalmars-d-learn

Unittests have to be inside a module to be run on DMD atleast.
So putting module foo at top should fix it.