Use os.path.normpath instead of realpath to collapse '..' and '.' path
components. Use realpath when caching search results about a path for
good measure.
I considered rigging up a test involving symlinks for this, but I doubt
I can check a symlink into SVN. The test would have to conditionally
create a symlink at runtime if the host OS supports it. This sounds too
fragile and complicated to me to be worth it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312254
91177308-0d34-0410-b5e6-
96231b3b80d8
def search(path):
# Check for an already instantiated test suite.
- res = cache.get(path)
+ real_path = os.path.realpath(path)
+ res = cache.get(real_path)
if res is None:
- cache[path] = res = search1(path)
+ cache[real_path] = res = search1(path)
return res
# Canonicalize the path.
- item = os.path.realpath(item)
+ item = os.path.normpath(item)
# Skip files and virtual components.
components = []