Fix failed test command repro printing for *.pass.cpp tests

Before we were printing out the compile command twice, which isn't that useful.

Thanks EricWF for the report!


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@232526 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jonathan Roelofs 2015-03-17 19:32:24 +00:00
parent 62a06f9fba
commit 9be398d6c1
2 changed files with 8 additions and 4 deletions

View File

@ -17,7 +17,7 @@ class Executor(object):
file_deps: [str]: Files required by the test
env: {str: str}: Environment variables to execute under
Returns:
out, err, exitCode
cmd, out, err, exitCode
"""
raise NotImplementedError
@ -34,7 +34,8 @@ class LocalExecutor(Executor):
env_cmd += ['%s=%s' % (k, v) for k, v in env.items()]
if work_dir == '.':
work_dir = os.getcwd()
return executeCommand(env_cmd + cmd, cwd=work_dir)
out, err, rc = executeCommand(env_cmd + cmd, cwd=work_dir)
return (env_cmd + cmd, out, err, rc)
class PrefixExecutor(Executor):
@ -129,6 +130,9 @@ class RemoteExecutor(Executor):
srcs.extend(file_deps)
dsts.extend(dev_paths)
self.copy_in(srcs, dsts)
# TODO(jroelofs): capture the copy_in and delete_remote commands,
# and conjugate them with '&&'s around the first tuple element
# returned here:
return self._execute_command_remote(cmd, target_cwd, env)
finally:
if target_cwd:

View File

@ -125,8 +125,8 @@ class LibcxxTestFormat(object):
# should add a `// FILE-DEP: foo.dat` to each test to track this.
data_files = [os.path.join(local_cwd, f)
for f in os.listdir(local_cwd) if f.endswith('.dat')]
out, err, rc = self.executor.run(exec_path, [exec_path],
local_cwd, data_files, env)
cmd, out, err, rc = self.executor.run(exec_path, [exec_path],
local_cwd, data_files, env)
if rc != 0:
report = libcxx.util.makeReport(cmd, out, err, rc)
report = "Compiled With: %s\n%s" % (compile_cmd, report)