
On Fri, Nov 12, 2004 at 04:39:20PM +0000, Ross Paterson wrote:
The timeout patch also makes several tests GHC-only; perhaps it could be wrapped up somehow. (Not that Hugs doesn't need a timeout sometimes.)
Do you mean http://www.haskell.org//pipermail/cvs-ghc/2004-October/022166.html ? The only ghc-specific bit is working out what the value of TIMEOUT should be, but that's not part of the patch. It's done by whoever runs the testsuite. If you leave it blank then it will not use a timeout, or you could find a more suitable heuristic for hugs. Timing hugs evaluating something like "let f 0 = (); f x = f (x-1) in f 1000000" and multiplying it by a suitable conservative constant should do. And while I'm here, this work is really cool! What would be even better from my PoV is if we made sure the testsuite had no unexpected failures or passes for the last 2 or 3 releases of the implementations. This might need a slightly more flexible extension of the per-implementation stuff you've added. We might then be able to have the Debian packages run the latest version (if it doesn't take /too/ long proportionate to the build time; I guess skipping the real programs section if necessary should give a significant speed boost, though) when they build and fail if anything unexpected happens. Currently only ghc-cvs runs the testsuite, and it suceeds regardless of the outcome (on the grounds that unexpected stuff is, err, expected, and should anything actually unexpected happen we don't want the compiler thrown away as then we can't investigate them). Thanks Ian