1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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)
|