summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/packages/Python/lldbsuite/test/issue_verification/TestRerunFileLevelTimeout.py.park
diff options
context:
space:
mode:
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.park33
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)