Thread overview |
---|
September 24, 2018 Running tests for a large library on Windows | ||||
---|---|---|---|---|
| ||||
I do mach.d - https://github.com/pineapplemachine/mach.d 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.) 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. |
September 24, 2018 Re: Running tests for a large library on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to pineapple | Speaking of which, is there any AppVeyor config or script laying around somewhere for how to install 64-bit DMD? Since I would ideally like to automate testing with both 32-bit and 64-bit DMD |
September 24, 2018 Re: Running tests for a large library on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to pineapple | 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. ;) |
Copyright © 1999-2021 by the D Language Foundation