From 954b94f5dfc16b999e96e21d96f6a3d91a1c9adc Mon Sep 17 00:00:00 2001 From: Francis Ricci Date: Wed, 4 Oct 2017 17:30:28 +0000 Subject: [PATCH] [test] Fix append_path in the empty case Summary: normpath() was being called on an empty string and appended to the environment variable in the case where the environment variable was unset. This led to ":." being appended to the path, since normpath() of an empty string is '.', presumably to represent cwd. Reviewers: zturner, sqlbyme, modocache Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38542 llvm-svn: 314915 --- llvm/utils/lit/lit/llvm/config.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/llvm/utils/lit/lit/llvm/config.py b/llvm/utils/lit/lit/llvm/config.py index c3bdef318d6f..b1ad5876099b 100644 --- a/llvm/utils/lit/lit/llvm/config.py +++ b/llvm/utils/lit/lit/llvm/config.py @@ -107,9 +107,13 @@ class LLVMConfig(object): def norm(x): return os.path.normcase(os.path.normpath(x)) - current_paths = self.config.environment.get(variable, "") - current_paths = current_paths.split(os.path.pathsep) - paths = [norm(p) for p in current_paths] + current_paths = self.config.environment.get(variable, None) + if current_paths: + current_paths = current_paths.split(os.path.pathsep) + paths = [norm(p) for p in current_paths] + else: + paths = [] + # If we are passed a list [a b c], then iterating this list forwards # 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.