www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - unit-threaded v0.3.1, dtest v0.2.0 and dub test

unit-threaded is now at version 0.3.1:

https://github.com/atilaneves/unit-threaded
http://code.dlang.org/packages/unit-threaded

New  SingleThreaded UDA causes all tests with it in a module to 
run sequentially. Sometimes you're testing code that changes 
global state or isn't thread-safe in some other way and it comes 
in handy.

The package.json now works with `dub test`, which makes the 
framework test itself and run the passing examples source file. 
As before, the only "problem" is generating the file listing all 
modules to be tested, which leads me to dtest version 0.2.0:

https://github.com/atilaneves/dtest
http://code.dlang.org/packages/dtest

It used to be in a subdirectory of unit-threaded but now is its 
own package. Most of the reason why was to get dub to use it to 
automatically generate the main source file via `dub fetch dtest; 
dub run dtest`. Unfortunately due to how the CWD works with `dub 
run` that doesn't work right now but it will in the future.

dtest can be run without arguments, it will run `dub fetch 
unit-threaded` and use rdmd to execute every (unit-threaded) test 
it finds in a directory called `tests` by default. It can also be 
used to generate the main source file that includes all testable 
modules. Right now that means that if using an alternate build 
system such as CMake it can be run from there and have all tests 
be executed. If using dub, it can be used to update the file (by 
using dtest -f `my_main_test_file.d`) whenever a test module is 
added or deleted and `dub test` can then run it.

Atila
Mar 17 2014