From 2d5836af0bd6779334f271d9f9b306a68574412d Mon Sep 17 00:00:00 2001 From: Lucas Meneghel Rodrigues Date: Wed, 6 Aug 2014 18:53:09 -0300 Subject: [PATCH] avocado.job: Enable tests timeout Signed-off-by: Lucas Meneghel Rodrigues --- avocado/job.py | 19 +++++++++---------- avocado/plugins/multiplexer.py | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/avocado/job.py b/avocado/job.py index f8524b79..8357387d 100644 --- a/avocado/job.py +++ b/avocado/job.py @@ -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: diff --git a/avocado/plugins/multiplexer.py b/avocado/plugins/multiplexer.py index a82fac2d..b94e8e51 100644 --- a/avocado/plugins/multiplexer.py +++ b/avocado/plugins/multiplexer.py @@ -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: -- GitLab