Index: testing/scripts/common.py |
diff --git a/testing/scripts/common.py b/testing/scripts/common.py |
index ee49a8926928dd604cc8c6e0fc57d9ab838ebe6b..f3407767f3d52e6df1e81ea53371d62075a9df28 100644 |
--- a/testing/scripts/common.py |
+++ b/testing/scripts/common.py |
@@ -70,6 +70,22 @@ def run_command(argv, env=None, cwd=None): |
return rc |
+def run_command_with_output(argv, env=None, cwd=None, stdoutfile=None): |
+ print 'Running %r in %r (env: %r)' % (argv, cwd, env) |
+ rc = 1 |
+ try: |
+ output = subprocess.check_output(argv, env=env, cwd=cwd) |
+ if stdoutfile: |
+ with open(stdoutfile, 'w') as fp: |
+ fp.write(output) |
+ rc = 0 |
+ except Exception: |
+ # Exit code remains 1 and we don't write output |
+ pass |
+ print 'Command %r returned exit code %d' % (argv, rc) |
+ return rc |
+ |
+ |
def run_runtest(cmd_args, runtest_args): |
if cmd_args.use_src_side_runtest_py: |
cmd = [ |