1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

Revert "[lit] Keep original cfg file case around."

This reverts commit bc3f54de1827e58655c34477d09211cbc42589bd.

The patch breaks in the following two scenarios:

1. When manually passing an absolute path to llvm-lit with a lower-case
   drive letter: `python bin\llvm-lit.py -sv c:\llvm-project\clang\test\PCH`

2. When the PWD has a lower-case drive letter, like after running
   `cd c:\` with a lower-case "c:" (cmd's default is upper-case, but
   it takes case-ness from what's passed to `cd` apparently).
This commit is contained in:
Nico Weber 2020-04-15 17:17:18 -04:00
parent 86423aa8b7
commit 9b22d9cf53
5 changed files with 15 additions and 8 deletions

View File

@ -1423,10 +1423,16 @@ endfunction()
# path. Since this uses __file__, it has to be emitted into python files that
# use it and can't be in a lit module. Use with make_paths_relative().
string(CONCAT LLVM_LIT_PATH_FUNCTION
# Lit converts config paths to lower case in discovery.py, before
# loading the config. This causes __file__ to be all lower-case (including
# the drive letter), but several clang tests pass -include %s and a
# clang warning checks that passed case matches on-disk cache. So it's
# important that this restores the on-disk case of the prefix.
"# Allow generated file to be relocatable.\n"
"def path(p):\n"
" if not p: return ''\n"
" p = os.path.join(os.path.dirname(os.path.abspath(__file__)), p)\n"
" if os.name == 'nt' and os.path.isabs(p): return p[0].upper() + p[1:]\n"
" return p\n"
)

View File

@ -53,8 +53,8 @@ def getTestSuite(item, litConfig, cache):
config_map = litConfig.params.get('config_map')
if config_map:
cfgpath = os.path.realpath(cfgpath)
t, target = config_map.get(os.path.normcase(cfgpath), (None, None))
assert t is None or t == cfgpath
cfgpath = os.path.normcase(cfgpath)
target = config_map.get(cfgpath)
if target:
cfgpath = target

View File

@ -115,8 +115,8 @@ class LLVMConfig(object):
def with_environment(self, variable, value, append_path=False):
if append_path:
# For paths, we should be able to take a list of them and process
# all of them.
# For paths, we should be able to take a list of them and process all
# of them.
paths_to_add = value
if lit.util.is_string(paths_to_add):
paths_to_add = [paths_to_add]
@ -135,8 +135,8 @@ class LLVMConfig(object):
# and adding each to the beginning would result in b c a. So we
# need to iterate in reverse to end up with the original ordering.
for p in reversed(paths_to_add):
# Move it to the front if it already exists, otherwise insert
# it at the beginning.
# Move it to the front if it already exists, otherwise insert it at the
# beginning.
p = norm(p)
try:
paths.remove(p)

View File

@ -6,7 +6,7 @@ main_config = sys.argv[1]
main_config = os.path.realpath(main_config)
main_config = os.path.normcase(main_config)
config_map = {os.path.normcase(main_config) : (main_config, sys.argv[2])}
config_map = {main_config : sys.argv[2]}
builtin_parameters = {'config_map' : config_map}
if __name__=='__main__':

View File

@ -9,8 +9,9 @@ config_map = {}
def map_config(source_dir, site_config):
global config_map
source_dir = os.path.realpath(source_dir)
source_dir = os.path.normcase(source_dir)
site_config = os.path.normpath(site_config)
config_map[os.path.normcase(source_dir)] = source_dir, site_config
config_map[source_dir] = site_config
# Set up some builtin parameters, so that by default the LLVM test suite
# configuration file knows how to find the object tree.