[llvm] 14a793a - [lit] Fix compatibility with upstream gtest

Paul Robinson via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 19 08:02:37 PST 2022


Author: Lukáš Zaoral
Date: 2022-01-19T08:02:28-08:00
New Revision: 14a793ab0589de48511455038f63f28ff2506d48

URL: https://github.com/llvm/llvm-project/commit/14a793ab0589de48511455038f63f28ff2506d48
DIFF: https://github.com/llvm/llvm-project/commit/14a793ab0589de48511455038f63f28ff2506d48.diff

LOG: [lit] Fix compatibility with upstream gtest

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

Added: 
    

Modified: 
    llvm/utils/lit/lit/formats/googletest.py
    llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py

Removed: 
    


################################################################################
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


        


More information about the llvm-commits mailing list