diff options
Diffstat (limited to 'gnu/llvm/lldb/packages/Python/lldbsuite/test/issue_verification/TestRerunFileLevelTimeout.py.park')
-rw-r--r-- | gnu/llvm/lldb/packages/Python/lldbsuite/test/issue_verification/TestRerunFileLevelTimeout.py.park | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/issue_verification/TestRerunFileLevelTimeout.py.park b/gnu/llvm/lldb/packages/Python/lldbsuite/test/issue_verification/TestRerunFileLevelTimeout.py.park new file mode 100644 index 00000000000..9422624207c --- /dev/null +++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/issue_verification/TestRerunFileLevelTimeout.py.park @@ -0,0 +1,33 @@ +"""Tests that a timeout is detected by the testbot.""" +from __future__ import print_function + +import atexit +import time + +from lldbsuite.test import decorators +import rerun_base + + +class RerunTimeoutTestCase(rerun_base.RerunBaseTestCase): + def maybe_do_timeout(self): + # Do the timeout here if we're going to time out. + if self.should_generate_issue(): + # We time out this time. + while True: + try: + time.sleep(1) + except: + print("ignoring exception during sleep") + + # call parent + super(RerunTimeoutTestCase, self).tearDown() + + @decorators.no_debug_info_test + def test_timeout_file_level_timeout_rerun_succeeds(self): + """Tests that file-level timeout is cleared on rerun.""" + + # This test just needs to pass. It is the exit hook (outside + # the test method) that will time out. + + # Add the exit handler that will time out the first time around. + atexit.register(RerunTimeoutTestCase.maybe_do_timeout, self) |