[dotest] Make a missing FileCheck binary a warning, not an error
authorVedant Kumar <vsk@apple.com>
Fri, 12 Oct 2018 19:29:59 +0000 (19:29 +0000)
committerVedant Kumar <vsk@apple.com>
Fri, 12 Oct 2018 19:29:59 +0000 (19:29 +0000)
This allows bots which haven't updated to pass in --filecheck to
dotest.py to run more tests. FileCheck-dependent tests will continue to
fail.

Differential Revision: https://reviews.llvm.org/D53175

llvm-svn: 344401

lldb/packages/Python/lldbsuite/test/configuration.py
lldb/packages/Python/lldbsuite/test/dotest.py
lldb/packages/Python/lldbsuite/test/lldbtest.py

index f92b898..d4a65cd 100644 (file)
@@ -188,5 +188,5 @@ def get_filecheck_path():
     """
     Get the path to the FileCheck testing tool.
     """
-    assert os.path.lexists(filecheck)
-    return filecheck
+    if os.path.lexists(filecheck):
+        return filecheck
index ab46628..e3a30ed 100644 (file)
@@ -308,11 +308,15 @@ def parseOptionsAndInitTestdirs():
           'xcrun -find -toolchain default dsymutil')
 
     if args.filecheck:
-        # The CMake build passes in a path to a working FileCheck binary.
+        # The lldb-dotest script produced by the CMake build passes in a path
+        # to a working FileCheck binary. So does one specific Xcode project
+        # target. However, when invoking dotest.py directly, a valid --filecheck
+        # option needs to be given.
         configuration.filecheck = os.path.abspath(args.filecheck)
-    else:
-        logging.error('No valid FileCheck executable; aborting...')
-        sys.exit(-1)
+
+    if not configuration.get_filecheck_path():
+        logging.warning('No valid FileCheck executable; some tests may fail...')
+        logging.warning('(Double-check the --filecheck argument to dotest.py)')
 
     if args.channels:
         lldbtest_config.channels = args.channels
index 982af9a..0bd7215 100644 (file)
@@ -2237,6 +2237,8 @@ class TestBase(Base):
 
         # Run FileCheck.
         filecheck_bin = configuration.get_filecheck_path()
+        if not filecheck_bin:
+            self.assertTrue(False, "No valid FileCheck executable specified")
         filecheck_args = [filecheck_bin, check_file_abs]
         if filecheck_options:
             filecheck_args.append(filecheck_options)