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.