Skip to content

Commit

Permalink
[lit] Fix compatibility with upstream gtest
Browse files Browse the repository at this point in the history
Upstream gtest now prints 'Running main() from FILE' instead of
plain 'Running main() from gtest_main.cc'. Thus, all such tests
ended-up being mistakenly marked as UNRESOLVED.

Patch by @lzaoral

Differential Revision: https://reviews.llvm.org/D100043
  • Loading branch information
lzaoral authored and pogo59 committed Jan 19, 2022
1 parent 8baf4ba commit 14a793a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
4 changes: 3 additions & 1 deletion llvm/utils/lit/lit/formats/googletest.py
@@ -1,5 +1,6 @@
from __future__ import absolute_import
import os
import re
import shlex
import subprocess
import sys
Expand Down Expand Up @@ -53,11 +54,12 @@ def getGTestTests(self, path, litConfig, localConfig):
yield 'failed_to_discover_tests_from_gtest'
return

upstream_prefix = re.compile('Running main\(\) from .*gtest_main\.cc')
nested_tests = []
for ln in output.splitlines(False): # Don't keep newlines.
ln = lit.util.to_string(ln)

if 'Running main() from gtest_main.cc' in ln:
if upstream_prefix.fullmatch(ln):
# Upstream googletest prints this to stdout prior to running
# tests. LLVM removed that print statement in r61540, but we
# handle it here in case upstream googletest is being used.
Expand Down
@@ -1,13 +1,14 @@
#!/usr/bin/env python

import os
import sys

if len(sys.argv) != 2:
raise ValueError("unexpected number of args")

if sys.argv[1] == "--gtest_list_tests":
print("""\
Running main() from gtest_main.cc
print(f"""\
Running main() from {os.getcwd()}/gtest_main.cc
FirstTest.
subTestA
subTestB
Expand Down

0 comments on commit 14a793a

Please sign in to comment.