On 12/12/21 12:54 AM, Chris Katko wrote:
Running 64-bit Linux ``` dmd --version DMD64 D Compiler v2.098.0-beta.2dub --version DUB version 1.27.0-beta.2, built on SepĀ 7 2021 ``` the following code 'compiles' in one project. ```d unittest { gasdindgaslkdgansklnasgdlknaglkgansklsdg; } void main(){} // compiles, links, and 'runs unit tests' ``` dub [shows compiling, linking, then runs] dub test ``` Running dfile-test-library All unit tests have been run successfully. ```
`dub test` adds its own main file, and removes yours. So essentially, it's not building your app.d file at all.
`dub test` is a utility used to test libraries, which typically do not have a main function. It's definitely suspect for dub to do this, and it's based on historical baggage.
To test an application with dub, use `dub -b unittest`, which builds the application the same as always, just with the `-unittest` switch.
-Steve
