[llvm] 6b02c53 - [lit][unit] make sure to include failed shard in test summary report
Yuanfang Chen via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 15 15:44:09 PDT 2022
Author: Yuanfang Chen
Date: 2022-07-15T15:43:33-07:00
New Revision: 6b02c53936b9e77fee47eae038bbf3927b93325b
URL: https://github.com/llvm/llvm-project/commit/6b02c53936b9e77fee47eae038bbf3927b93325b
DIFF: https://github.com/llvm/llvm-project/commit/6b02c53936b9e77fee47eae038bbf3927b93325b.diff
LOG: [lit][unit] make sure to include failed shard in test summary report
For sanitizer only failures, the tests all pass but still need to
put the shard in failed test summary.
Added:
Modified:
llvm/utils/lit/lit/formats/googletest.py
llvm/utils/lit/lit/main.py
Removed:
################################################################################
diff --git a/llvm/utils/lit/lit/formats/googletest.py b/llvm/utils/lit/lit/formats/googletest.py
index d77547b73651..2383afcbddd2 100644
--- a/llvm/utils/lit/lit/formats/googletest.py
+++ b/llvm/utils/lit/lit/formats/googletest.py
@@ -226,20 +226,17 @@ def remove_gtest(tests):
discovered_tests = remove_gtest(discovered_tests)
gtests = [t for t in selected_tests if t.gtest_json_file]
selected_tests = remove_gtest(selected_tests)
- has_failure = False
for test in gtests:
- # In case gtest has bugs such that no JSON file was emitted. Or, a selected
- # test is not found.
+ # In case gtest has bugs such that no JSON file was emitted.
if not os.path.exists(test.gtest_json_file):
selected_tests.append(test)
discovered_tests.append(test)
continue
- if test.isFailure():
- has_failure = True
-
start_time = test.result.start or 0.0
+ has_failure_in_shard = False
+
# Load json file to retrieve results.
with open(test.gtest_json_file, encoding='utf-8') as f:
testsuites = json.load(f)['testsuites']
@@ -262,6 +259,7 @@ def remove_gtest(tests):
if testinfo['result'] == 'SKIPPED':
returnCode = lit.Test.SKIPPED
elif 'failures' in testinfo:
+ has_failure_in_shard = True
returnCode = lit.Test.FAIL
output = header
for fail in testinfo['failures']:
@@ -283,4 +281,8 @@ def remove_gtest(tests):
discovered_tests.append(subtest)
os.remove(test.gtest_json_file)
- return selected_tests, discovered_tests, has_failure
+ if not has_failure_in_shard and test.isFailure():
+ selected_tests.append(test)
+ discovered_tests.append(test)
+
+ return selected_tests, discovered_tests
diff --git a/llvm/utils/lit/lit/main.py b/llvm/utils/lit/lit/main.py
index 67d9efa11fb1..27bcef1b1d46 100755
--- a/llvm/utils/lit/lit/main.py
+++ b/llvm/utils/lit/lit/main.py
@@ -108,7 +108,7 @@ def main(builtin_params={}):
record_test_times(selected_tests, lit_config)
- selected_tests, discovered_tests, has_failure = GoogleTest.post_process_shard_results(
+ selected_tests, discovered_tests = GoogleTest.post_process_shard_results(
selected_tests, discovered_tests)
if opts.time_tests:
@@ -127,7 +127,7 @@ def main(builtin_params={}):
if lit_config.numWarnings:
sys.stderr.write('\n%d warning(s) in tests\n' % lit_config.numWarnings)
- has_failure = has_failure or any(t.isFailure() for t in discovered_tests)
+ has_failure = any(t.isFailure() for t in discovered_tests)
if has_failure:
if opts.ignoreFail:
sys.stderr.write("\nExiting with status 0 instead of 1 because "
More information about the llvm-commits
mailing list