March 20, 2017
I have a Meson build for a D program project with a single main.d file that has some unit tests. Both executable and test executable are created and work as expected.

I created a minimal Dub file for this project. Using Dub the program runs as expected. However when I run "dub test" it claims to be running "dub -b unittest" and then proceeds to run the program not the tests.

In main.d I have:

    ... some most excellent D code …

    version(unittest) {
      ... the unit tests ...
    }
    else {
      ... the application main ...
    }

so whilst the Meson/Ninja "ldc2 -unittest --main" thing works fine, Dub doesn't do the right thing. Or more likely I am just missing something obvious.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder