Stuck with DMD, and Unit-Threaded

drug via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Apr 16 02:04:39 PDT 2017


16.04.2017 11:20, Russel Winder via Digitalmars-d-learn пишет:
> There are points when you need to ask someone for help…
>
> I am trying to get Dub to build integration tests from test-source as a
> separate thing from building unit tests from source. The latter is easy
> and works, as does building the application. I cannot however get the
> integration tests to build, I always get something along the lines of:
>
> ../../../../../../../tmp/dub_test_root-677ee80a-1e29-44c8-b08c-2fe37eb83633.d(10,12): Error: function D main conflicts with static import dub_test_root.main at ../../../../../../../tmp/dub_test_root-677ee80a-1e29-44c8-b08c-2fe37eb83633.d(3,15)
>
> and I haven't a clue. This is almost certainly just a bad dub.sdl file,
> but, if anyone can take a look at tell me what I am failing to get
> right, I'd appreciate it.
>
> https://github.com/russel/ApproxGC
>
>
Try to add version for `integrationtest` to exclude `main` from building 
like you did with unittests version. In dub.sdl add versions 
"integrationtests" for correspondence configuration and in 
`source\main.d` add something like that:
```
...
unittest {
		 auto item = getValue!(Tuple!(string, string));
		 assert(debianPackageNumberLessThan(item[0], item[1]), format("[%s, 
%s]", item[0], item[1]));
	 }

}
else version(integrationtests){
	// do something here
}
else {
	int main(string[] args) {
...
```
It works for me. But frankly I failed to reproduce your error - I have 
other one like
```
ut_main.d(5,5): Error: only one main allowed. Previously found main at 
source/main.d(161,6)
dmd failed with exit code 1.
```
so very probably I fix wrong problem


More information about the Digitalmars-d-learn mailing list