From 93d5c695d8f477aad07a9cdce37f87a9d6558978 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Thu, 31 Aug 2017 17:07:35 +0000 Subject: [PATCH] [lit] Make symlinks in test paths work a different way 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 --- utils/lit/lit/discovery.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/utils/lit/lit/discovery.py b/utils/lit/lit/discovery.py index 4befe582d45..ea6143d8166 100644 --- a/utils/lit/lit/discovery.py +++ b/utils/lit/lit/discovery.py @@ -52,13 +52,14 @@ def getTestSuite(item, litConfig, cache): 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 = [] -- 2.50.1