unit-threaded is now at version 0.3.1:


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:


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.


Reply via email to