From d1df5eda78eb2466e4bbcf95bfee5564892c575f Mon Sep 17 00:00:00 2001 From: Christian Herdtweck Date: Wed, 21 Jan 2015 13:52:36 +0100 Subject: [PATCH] treat output as "left-over" only after terminatin process; limit number of lines --- test/long_term_test.py | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/test/long_term_test.py b/test/long_term_test.py index 817e7bd..b3b0119 100755 --- a/test/long_term_test.py +++ b/test/long_term_test.py @@ -638,14 +638,17 @@ def cleanup(log, pinger, tester, line_iter): else: log.info("Cleaning up") - for line in line_iter: - log.info('left-over output: {0}'.format(line)) - try: log.info('telling pinger to terminate') pinger.terminate() - #return_code = pinger.wait(3) may block! + for line_idx, line in enumerate(line_iter): + log.info('left-over output: {0}'.format(line)) + if line_idx > 100: + log.warning('ignore further left-over output') + break + + #return_code = pinger.wait(3) can block! outs, errs = pinger.communicate(timeout=3) for line in outs.splitlines(): log.info('left-over output: {0}'.format(line)) @@ -661,8 +664,11 @@ def cleanup(log, pinger, tester, line_iter): log.exception('trouble terminating pinger', exc_info=sys.exc_info()) if return_code is None: - for line in line_iter: + for line_idx, line in enumerate(line_iter): log.info('left-over output: {0}'.format(line)) + if line_idx > 100: + log.warning('ignore further left-over output') + break # kill it try: -- 1.7.1