Details
-
Test
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
New
Description
Currently, if tests hang in hudson it can go hung for days until we manually kill it.
The problem is that when a hang happens its probably serious, what we want to do (I think), is:
- time out the build.
- ensure we have enough debugging information to hopefully fix any hang.
So I think the ideal solution would be:
- add a sysprop "-D" that LuceneTestCase respects, it could default to no timeout at all (some value like zero).
- when a timeout is set, LuceneTestCase spawns an additional timer thread for the test class? method?
- if the timeout is exceeded, LuceneTestCase dumps all thread/stack information, random seed information to hopefully reproduce the hang, and fails the test.
- nightly builds would pass some reasonable -D for each test.
separately, I think we should have an "ant-level" timeout for the whole build, in case it goes completely crazy (e.g. jvm completely hangs or something else), just as an additional safety.
Attachments
Attachments
Issue Links
- is part of
-
LUCENE-3808 Switch LuceneTestCaseRunner to RandomizedRunner. Enforce Random sharing contracts. Enforce thread leaks.
- Closed
- is related to
-
LUCENE-3489 Refactor test classes that use assumeFalse(codec != SimpleText, Memory) to use new annotation and move the expensive methods to separate classes
- Open