Peter and I found a quick hack you can do to get the tests to pass on OS
X, since it usually runs out of memory before finishing. This probably
isn't a permanent solution and significantly increases the time to run the
tests, but it will let the tests pass (allowing you to commit code from a Mac).
Essentially, just edit the build-common.xml file in the edu/rice/cs
directory, find the "test-only" target, and change fork="no" to fork="yes"
on the next line. This causes Ant to launch each JUnit test in a new JVM,
rather than building everything up in one JVM. As I mentioned, it's much
slower, but the old approach seems to keep *everything* around in separate
classloaders, so that it eventually dies on the Mac. (I guess Unix and
Windows just handle it differently, though the page file on Windows does
reach 600 MB by the time it finishes...)
I'll try to see if there's a way we can break the tests down into
reasonably sized groups to improve speed but still not use as much memory.
Charlie
|