[llvm] 6576942 - [lit][unit] makes sure to print stderr when no test failures are found

Yuanfang Chen via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 12:33:25 PDT 2022


Author: Yuanfang Chen
Date: 2022-07-15T12:33:11-07:00
New Revision: 65769429c0644c81d271e9d971f5b64191503f6e

URL: https://github.com/llvm/llvm-project/commit/65769429c0644c81d271e9d971f5b64191503f6e
DIFF: https://github.com/llvm/llvm-project/commit/65769429c0644c81d271e9d971f5b64191503f6e.diff

LOG: [lit][unit] makes sure to print stderr when no test failures are found

In some situations, like running tests with sanitizers, all test passes
but the shard could still fail due to memory issues.

Added: 
    

Modified: 
    llvm/utils/lit/lit/formats/googletest.py

Removed: 
    


################################################################################
diff  --git a/llvm/utils/lit/lit/formats/googletest.py b/llvm/utils/lit/lit/formats/googletest.py
index 5feefaa84f12e..6878ebcb5456a 100644
--- a/llvm/utils/lit/lit/formats/googletest.py
+++ b/llvm/utils/lit/lit/formats/googletest.py
@@ -163,6 +163,8 @@ def get_test_stdout(test_name):
                     res.append(l)
             assert False, f'gtest did not report the result for ' + test_name
 
+        found_failed_test = False
+
         with open(test.gtest_json_file, encoding='utf-8') as f:
             jf = json.load(f)
 
@@ -179,6 +181,7 @@ def get_test_stdout(test_name):
                     header = f"Script:\n--\n%s --gtest_filter=%s\n--\n" % (
                         ' '.join(cmd), testname)
                     if 'failures' in testinfo:
+                        found_failed_test = True
                         output += header
                         test_out = get_test_stdout(testname)
                         if test_out:
@@ -189,6 +192,12 @@ def get_test_stdout(test_name):
                     elif result != 'COMPLETED':
                         output += header
                         output += 'unresolved test result\n'
+
+        # In some situations, like running tests with sanitizers, all test passes but
+        # the shard could still fail due to memory issues.
+        if not found_failed_test:
+            output += f"\n{out}\n--\nexit: {exitCode}\n--\n"
+
         return lit.Test.FAIL, output
 
     def prepareCmd(self, cmd):


        


More information about the llvm-commits mailing list