if not llvm_config:
if sys.platform.startswith('win') or sys.platform.startswith('cygwin'):
config.available_features.add('system-windows')
+
+# For each of lit's internal shell commands ('env', 'cd', 'diff', etc.), put
+# a fake command that always fails at the start of PATH. This helps us check
+# that we always use lit's internal version rather than some external version
+# that might not be present or behave correctly on all platforms. Don't do
+# this for 'echo' because an external version is used when it appears in a
+# pipeline. Don't do this for ':' because it doesn't appear to be a valid file
+# name under Windows.
+test_bin = os.path.join(os.path.dirname(__file__), 'Inputs', 'fake-externals')
+config.environment['PATH'] = os.path.pathsep.join((test_bin,
+ config.environment['PATH']))