Make demanded-elt simplification for shufflevector slightly stronger. Spotted by...
[oota-llvm.git] / test / lit.cfg
index fef6d78902bc541421590ca689d7f1fb382354fc..af04337232828d02532faaade6590d638e6ff8e3 100644 (file)
@@ -12,6 +12,9 @@ config.name = 'LLVM'
 # testFormat: The test format to use to interpret tests.
 config.test_format = lit.formats.TclTest()
 
+# To ignore test output on stderr so it doesn't trigger failures uncomment this:
+#config.test_format = lit.formats.TclTest(ignoreStdErr=True)
+
 # suffixes: A list of file extensions to treat as test files, this is actually
 # set by on_clone().
 config.suffixes = []
@@ -19,6 +22,18 @@ config.suffixes = []
 # test_source_root: The root path where tests are located.
 config.test_source_root = os.path.dirname(__file__)
 
+# Tweak PATH for Win32
+if sys.platform in ['win32']:
+    # Seek sane tools in directories and set to $PATH.
+    path = getattr(config, 'lit_tools_dir', None)
+    path = lit.getToolsPath(path,
+                            config.environment['PATH'],
+                            ['cmp.exe', 'grep.exe', 'sed.exe'])
+    if path is not None:
+        path = os.path.pathsep.join((path,
+                                     config.environment['PATH']))
+        config.environment['PATH'] = path
+
 # test_exec_root: The root path where tests should be run.
 llvm_obj_root = getattr(config, 'llvm_obj_root', None)
 if llvm_obj_root is not None:
@@ -163,8 +178,12 @@ for sub in ['llvmgcc', 'llvmgxx', 'emitir', 'compile_cxx', 'compile_c',
 # (llvm_tools_dir in lit parlance).
                 # Don't match 'bugpoint-' or 'clang-'.
                                         # Don't match '/clang'.
+if os.pathsep == ';':
+    pathext = os.environ.get('PATHEXT', '').split(';')
+else:
+    pathext = ['']
 for pattern in [r"\bbugpoint\b(?!-)",   r"(?<!/)\bclang\b(?!-)",
-                r"\bedis\b",            r"\bgold\b",
+                r"\bgold\b",
                 r"\bllc\b",             r"\blli\b",
                 r"\bllvm-ar\b",         r"\bllvm-as\b",
                 r"\bllvm-bcanalyzer\b", r"\bllvm-config\b",
@@ -192,6 +211,11 @@ for pattern in [r"\bbugpoint\b(?!-)",   r"(?<!/)\bclang\b(?!-)",
     substitution = re.sub(r"^(\\)?((\| )?)\W+b([0-9A-Za-z-_]+)\\b\W*$",
                           r"\2" + llvm_tools_dir + "/" + r"\4",
                           pattern)
+    for ext in pathext:
+        substitution_ext = substitution + ext
+        if os.path.exists(substitution_ext):
+             substitution = substitution_ext
+             break
     config.substitutions.append((pattern, substitution))
 
 excludes = []
@@ -273,7 +297,7 @@ config.on_clone = on_clone
 ### Features
 
 # Shell execution
-if sys.platform not in ['win32']:
+if sys.platform not in ['win32'] or lit.getBashPath() != '':
     config.available_features.add('shell')
 
 # Loadable module
@@ -285,3 +309,6 @@ else:
 
 if loadable_module:
     config.available_features.add('loadable_module')
+
+if config.enable_assertions:
+    config.available_features.add('asserts')