DUB 0.9.21 beta 1
Atila Neves
atila.neves at gmail.com
Sun Jan 12 05:31:34 PST 2014
The "bug" turned out to be me not using "importPaths" correctly,
so my bad.
On Friday, 10 January 2014 at 18:48:11 UTC, Atila Neves wrote:
> I finally got around to cloning the git repo and trying the
> latest dub and how dub test would work.
>
> 1st of all there is a bug, should I also add it to the issue
> tracker on github? In any case, when the default "source"
> directory isn't used but explicitly named in package.json, the
> static imports in the autogenerated file don't have the library
> name before the modules, i.e. instead of "static import
> libname.modname" the it had "static import modname". I created
> a git branch for testing purposes and moved my code to
> "source", deleting "importPaths" and "sourcePaths" from the
> package.json and the code generation worked with the right
> static imports.
>
> The other problem I have for my use case is that, since I'm not
> using the built-in unittest blocks for testing, I have testing
> code that can't be "turned off" by omitting -unittest. So far
> I've been using rdmd to figure out the test dependencies. With
> the actual unit test code in a different directory, dub test
> fails with a linker error. I don't know what the easiest way
> would be to tell dub to also compile and link a list of
> directories. Basically I need not only --main-file but also
> something like --extra-dirs=dir1,dir2,dir3.
>
> Atila
>
>>> What exactly does "dub test" do? Is it like running "rdmd
>>> -main
>>> -unittest foo.d"?
>>>
>>
>> It's similar. By default, for library projects, it generates a
>> maim
>> module of the form
>> ---
>> module test_main;
>> import <library_name.main_module>;
>> import std.stdio;
>> import core.runtime;
>>
>> void main() { writeln("All unit tests were successful."); }
>> ---
>> and runs it with build type "unittest".
>>
>> It also supports setting a custom file containing main(), so
>> that for
>> example custom unit test runners can be specified and similar
>> things. In
>> this case, the generated file looks like this:
>> ---
>> module test_main;
>> import <library_name.main_module>;
>> import <custom_main_module>;
>> ---
>>
>> For packages with only executable configurations it behaves
>> the same as
>> "dub run --build=unittest".
More information about the Digitalmars-d-announce
mailing list