diff options
author | jose.lausuch <jose.lausuch@ericsson.com> | 2016-09-01 15:03:18 +0200 |
---|---|---|
committer | Jose Lausuch <jose.lausuch@ericsson.com> | 2016-09-01 13:07:31 +0000 |
commit | 75479a40514ef2cea93d2ef032e5bfe00f987714 (patch) | |
tree | 18b05226112017470f3e50342f0a5342696e4317 | |
parent | 470f573a3ac2eb1783efec6da01a3bee33360c65 (diff) |
Add print-to-a-file option when executing a command in functest_utils
Change-Id: I8b91979380d0f4794d5ceaf8edb2a9d80cd7170f
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
-rw-r--r-- | utils/functest_utils.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/utils/functest_utils.py b/utils/functest_utils.py index 8c5dd835a..644ad1a1b 100644 --- a/utils/functest_utils.py +++ b/utils/functest_utils.py @@ -294,7 +294,7 @@ def get_ci_envvars(): def execute_command(cmd, exit_on_error=True, info=False, error_msg="", - verbose=True): + verbose=True, output_file=None): if not error_msg: error_msg = ("The command '%s' failed." % cmd) msg_exec = ("Executing command: '%s'" % cmd) @@ -305,10 +305,17 @@ def execute_command(cmd, exit_on_error=True, info=False, error_msg="", logger.debug(msg_exec) p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + if output_file: + f = open(output_file, "w") for line in iter(p.stdout.readline, b''): - line = line.replace('\n', '') - print line - sys.stdout.flush() + if output_file: + f.write(line) + else: + line = line.replace('\n', '') + print line + sys.stdout.flush() + if output_file: + f.close() p.stdout.close() returncode = p.wait() if returncode != 0: |