Index: lldb/packages/Python/lldbsuite/test/configuration.py =================================================================== --- lldb/packages/Python/lldbsuite/test/configuration.py +++ lldb/packages/Python/lldbsuite/test/configuration.py @@ -188,5 +188,5 @@ """ Get the path to the FileCheck testing tool. """ - assert os.path.lexists(filecheck) - return filecheck + if os.path.lexists(filecheck): + return filecheck Index: lldb/packages/Python/lldbsuite/test/dotest.py =================================================================== --- lldb/packages/Python/lldbsuite/test/dotest.py +++ lldb/packages/Python/lldbsuite/test/dotest.py @@ -308,11 +308,15 @@ '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: lldb/packages/Python/lldbsuite/test/lldbtest.py =================================================================== --- lldb/packages/Python/lldbsuite/test/lldbtest.py +++ lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -2237,6 +2237,8 @@ # 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)