On Monday, 24 September 2018 at 09:49:38 UTC, pineapple wrote:
I've been setting up CI tests and OSX and Linux tests are good to go thanks to Travis. I'm having a little more difficulty with testing on Windows via AppVeyor, since DMD is too memory-hungry to `dub test` without a fatal error when DMD was compiled for a 32-bit target as opposed to 64-bit, as is the case for all Windows releases.

How can I compile and run unit tests for only a part of the library at a time, so that 32-bit Windows can run tests too? (Which is actually important, since there are different x86 and x86-64 implementations of some library functions.)

If there was a 64-bit DMD for Windows (not available AFAIK), you'd simply compile with `-m32` or `-m32mscoff`.

Or is there another solution? It's my understanding that phobos would have a similar problem if it didn't do something deliberate with how tests are run.

Definitely; there are various Phobos modules requiring more than 2 GB of memory when compiled with `-unittest` (at least when emitting 64-bit code). That's why they are compiled separately; I once tried compiling all of them at once, and that took something like 30 GB IIRC. ;)

Reply via email to