Does anyone know how to make a test that times out?  For my GSoC project, I am 
gathering up all the failing integrals from the issues into a file of XFAIL 
tests, so I can see if any of them ever pass.  The problem is that many 
integrals fail not by traceback or by returning an unevaluated Integral, but by 
simply hanging.  So is there a way that I can say, "if this test takes longer 
than, say, a minute, then fail, but let it run that long in case it might 
pass"?  Something like:

@XFAIL
def test_some_issue():
        assert run_with_timeout("integrate(hard_integral, x)", 60) == the_answer

and run_with_timeout will return the result if it finishes in less than 60 
seconds, or else raise some kind of exception.  I know that Goolge has 
something like this underlying all Python executions in their AppEngine, but I 
think it is in-house code.  For example, go to live.sympy.com and run:

var('m n a b c')
integrate((x**m * (1 - x)**n * (a + b*x + c*x**2))/(1 + x**2), x) # from issue 
1426

And you will get DeadlineExceededError.  

Aaron Meurer

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to