From e365157ba3ce0e9e3b06718543113997c1636716 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 17 Oct 2018 16:12:04 +0000 Subject: [PATCH] [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 --- libcxx/utils/libcxx/test/format.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/libcxx/utils/libcxx/test/format.py b/libcxx/utils/libcxx/test/format.py index 8276b3f21c4f..a3fa535e29f9 100644 --- a/libcxx/utils/libcxx/test/format.py +++ b/libcxx/utils/libcxx/test/format.py @@ -188,7 +188,7 @@ class LibcxxTestFormat(object): if rc != 0: report = libcxx.util.makeReport(cmd, out, err, rc) report += "Compilation failed unexpectedly!" - return lit.Test.FAIL, report + return lit.Test.Result(lit.Test.FAIL, report) # Run the test local_cwd = os.path.dirname(source_path) env = None @@ -206,14 +206,14 @@ class LibcxxTestFormat(object): cmd, out, err, rc = self.executor.run(exec_path, [exec_path], local_cwd, data_files, env) + report = "Compiled With: %s\n" % compile_cmd + report += libcxx.util.makeReport(cmd, out, err, rc) if rc == 0: 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: - report = libcxx.util.makeReport(cmd, out, err, rc) - report = "Compiled With: %s\n%s" % (compile_cmd, report) report += "Compiled test failed unexpectedly!" - return lit.Test.FAIL, report + return lit.Test.Result(lit.Test.FAIL, report) assert False # Unreachable finally: @@ -255,10 +255,10 @@ class LibcxxTestFormat(object): test_cxx.flags += ['-Werror=unused-result'] cmd, out, err, rc = test_cxx.compile(source_path, out=os.devnull) expected_rc = 0 if use_verify else 1 + report = libcxx.util.makeReport(cmd, out, err, rc) if rc == expected_rc: - return lit.Test.PASS, '' + return lit.Test.Result(lit.Test.PASS, report) else: - report = libcxx.util.makeReport(cmd, out, err, rc) - report_msg = ('Expected compilation to fail!' if not use_verify else - 'Expected compilation using verify to pass!') - return lit.Test.FAIL, report + report_msg + '\n' + report += ('Expected compilation to fail!\n' if not use_verify else + 'Expected compilation using verify to pass!\n') + return lit.Test.Result(lit.Test.FAIL, report)