Flush stdout as it can be redirected to log 45/19845/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Mon, 29 Aug 2016 19:24:52 +0000 (21:24 +0200)
committerMorgan Richomme <morgan.richomme@orange.com>
Tue, 30 Aug 2016 09:05:45 +0000 (09:05 +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>
(cherry picked from commit c7edada4ccf84851b76b9ef738c270a7a6819a06)

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: