Flush stdout as it can be redirected to log
authorCédric Ollivier <cedric.ollivier@orange.com>
Mon, 29 Aug 2016 19:24:52 +0000 (21:24 +0200)
committerJose Lausuch <jose.lausuch@ericsson.com>
Tue, 30 Aug 2016 07:40:41 +0000 (07:40 +0000)
It avoids mixed logs in Jenkins' console by flushing every message
printed by the forked programs as logger.info() does.
It must be complete by refactoring logger management in util functions
[1] and by preventing output buffering in forked programs.

[1] https://jira.opnfv.org/browse/FUNCTEST-428

JIRA: FUNCTEST-441

Change-Id: Id8da814d79ea6b1e6b91b49e23a85c3802e11515
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
utils/functest_utils.py

index 02e7d3d..199088b 100644 (file)
@@ -339,6 +339,7 @@ def execute_command(cmd, logger=None,
                 logger.debug(line)
         else:
             print line
+            sys.stdout.flush()
     p.stdout.close()
     returncode = p.wait()
     if returncode != 0: