diff --git a/llvm/utils/lit/lit/formats/googletest.py b/llvm/utils/lit/lit/formats/googletest.py index d8f3d35f1b0cc..5329f5773e54c 100644 --- a/llvm/utils/lit/lit/formats/googletest.py +++ b/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 @@ -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. diff --git a/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py b/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py index 1061e39ec207c..aa79a22c0b106 100644 --- a/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py +++ b/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py @@ -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