forked from OSchip/llvm-project
[libcxx] Improve reporting when running the lit test suite
Summary: Running the test suite with -a will now properly show all the executed commands. The reports also include the environment under which the test is being executed, which is helpful for reproducing issues. Reviewers: EricWF Subscribers: christof, dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D53215 llvm-svn: 344700
This commit is contained in:
parent
ebd10a24f4
commit
e365157ba3
|
@ -188,7 +188,7 @@ class LibcxxTestFormat(object):
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
report = libcxx.util.makeReport(cmd, out, err, rc)
|
report = libcxx.util.makeReport(cmd, out, err, rc)
|
||||||
report += "Compilation failed unexpectedly!"
|
report += "Compilation failed unexpectedly!"
|
||||||
return lit.Test.FAIL, report
|
return lit.Test.Result(lit.Test.FAIL, report)
|
||||||
# Run the test
|
# Run the test
|
||||||
local_cwd = os.path.dirname(source_path)
|
local_cwd = os.path.dirname(source_path)
|
||||||
env = None
|
env = None
|
||||||
|
@ -206,14 +206,14 @@ class LibcxxTestFormat(object):
|
||||||
cmd, out, err, rc = self.executor.run(exec_path, [exec_path],
|
cmd, out, err, rc = self.executor.run(exec_path, [exec_path],
|
||||||
local_cwd, data_files,
|
local_cwd, data_files,
|
||||||
env)
|
env)
|
||||||
|
report = "Compiled With: %s\n" % compile_cmd
|
||||||
|
report += libcxx.util.makeReport(cmd, out, err, rc)
|
||||||
if rc == 0:
|
if rc == 0:
|
||||||
res = lit.Test.PASS if retry_count == 0 else lit.Test.FLAKYPASS
|
res = lit.Test.PASS if retry_count == 0 else lit.Test.FLAKYPASS
|
||||||
return res, ''
|
return lit.Test.Result(res, report)
|
||||||
elif rc != 0 and retry_count + 1 == max_retry:
|
elif rc != 0 and retry_count + 1 == max_retry:
|
||||||
report = libcxx.util.makeReport(cmd, out, err, rc)
|
|
||||||
report = "Compiled With: %s\n%s" % (compile_cmd, report)
|
|
||||||
report += "Compiled test failed unexpectedly!"
|
report += "Compiled test failed unexpectedly!"
|
||||||
return lit.Test.FAIL, report
|
return lit.Test.Result(lit.Test.FAIL, report)
|
||||||
|
|
||||||
assert False # Unreachable
|
assert False # Unreachable
|
||||||
finally:
|
finally:
|
||||||
|
@ -255,10 +255,10 @@ class LibcxxTestFormat(object):
|
||||||
test_cxx.flags += ['-Werror=unused-result']
|
test_cxx.flags += ['-Werror=unused-result']
|
||||||
cmd, out, err, rc = test_cxx.compile(source_path, out=os.devnull)
|
cmd, out, err, rc = test_cxx.compile(source_path, out=os.devnull)
|
||||||
expected_rc = 0 if use_verify else 1
|
expected_rc = 0 if use_verify else 1
|
||||||
|
report = libcxx.util.makeReport(cmd, out, err, rc)
|
||||||
if rc == expected_rc:
|
if rc == expected_rc:
|
||||||
return lit.Test.PASS, ''
|
return lit.Test.Result(lit.Test.PASS, report)
|
||||||
else:
|
else:
|
||||||
report = libcxx.util.makeReport(cmd, out, err, rc)
|
report += ('Expected compilation to fail!\n' if not use_verify else
|
||||||
report_msg = ('Expected compilation to fail!' if not use_verify else
|
'Expected compilation using verify to pass!\n')
|
||||||
'Expected compilation using verify to pass!')
|
return lit.Test.Result(lit.Test.FAIL, report)
|
||||||
return lit.Test.FAIL, report + report_msg + '\n'
|
|
||||||
|
|
Loading…
Reference in New Issue