diff options
Diffstat (limited to 'utils/functest_utils.py')
-rw-r--r-- | utils/functest_utils.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/utils/functest_utils.py b/utils/functest_utils.py index b51a1c86..b46dc7dd 100644 --- a/utils/functest_utils.py +++ b/utils/functest_utils.py @@ -243,11 +243,8 @@ def execute_command(cmd, logger=None, else: print(msg_exec) p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) - while True: - output = p.stdout.readline() - line = output.replace('\n', '') - if not line: - break + for line in iter(p.stdout.readline, b''): + line = line.replace('\n', '') if logger: if info: logger.info(line) @@ -255,8 +252,9 @@ def execute_command(cmd, logger=None, logger.debug(line) else: print line - p.communicate() - if p.returncode != 0: + p.stdout.close() + returncode = p.wait() + if returncode != 0: if verbose: if logger: logger.error(error_msg) @@ -265,7 +263,7 @@ def execute_command(cmd, logger=None, if exit_on_error: sys.exit(1) - return p.returncode + return returncode def get_deployment_dir(logger=None): |