avocado.job: Enable tests timeout

Signed-off-by: NLucas Meneghel Rodrigues <lmr@redhat.com>
上级 85c8d809
......@@ -50,6 +50,7 @@ class TestRunner(object):
"""
A test runner class that displays tests results.
"""
DEFAULT_TIMEOUT = 60 * 60 * 24
def __init__(self, job, test_result):
"""
......@@ -159,24 +160,22 @@ class TestRunner(object):
p = multiprocessing.Process(target=self.run_test,
args=(params, q,))
# Change in behaviour: timeout now comes *only* from test params
timeout = params.get('timeout')
if timeout is not None:
timeout = float(timeout)
else:
# fallback timeout is really long. less of a problem now since
# we give feedback on the test process being alive
timeout = 60 * 60 * 24
cycle_timeout = 1
time_started = time.time()
time_deadline = time_started + timeout - cycle_timeout
should_quit = False
test_state = None
p.start()
early_state = q.get()
# At this point, the test is already initialized and we know
# for sure if there's a timeout set.
if 'timeout' in early_state['params'].keys():
timeout = float(early_state['params']['timeout'])
else:
timeout = self.DEFAULT_TIMEOUT
time_deadline = time_started + timeout - cycle_timeout
while not should_quit:
try:
......
......@@ -46,7 +46,7 @@ class Multiplexer(plugin.Plugin):
self.configured = True
def multiplex(self, args):
bcolors = output.colors
bcolors = output.term_support
pipe = output.get_paginator()
if not args.multiplex_file:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册