Fix compiler lookup when specified without path

r259433 introduced a regression, where if a compiler is specified without a path (e.g., CC=clang,
relying on the fact that clang is in $PATH), then the test suite would fail (at the compiler
version detection step) because realpath would interpret this as a path relative to cwd). The fix
is to perform the $PATH expansion (via `which`) before the realpath step.

llvm-svn: 259484
This commit is contained in:
Pavel Labath 2016-02-02 09:49:37 +00:00
parent 6c2ae4592d
commit e8baa4498d
2 changed files with 3 additions and 2 deletions

View File

@ -1945,11 +1945,10 @@ class Base(unittest2.TestCase):
""" Returns a string that represents the compiler version.
Supports: llvm, clang.
"""
from .lldbutil import which
version = 'unknown'
compiler = self.getCompilerBinary()
version_output = system([[which(compiler), "-v"]])[1]
version_output = system([[compiler, "-v"]])[1]
for line in version_output.split(os.linesep):
m = re.search('version ([0-9\.]+)', line)
if m:

View File

@ -15,6 +15,7 @@ variable.
import os, sys
import platform
import lldbsuite.test.lldbtest as lldbtest
import lldbsuite.test.lldbutil as lldbutil
def getArchitecture():
"""Returns the architecture in effect the test suite is running with."""
@ -23,6 +24,7 @@ def getArchitecture():
def getCompiler():
"""Returns the compiler in effect the test suite is running with."""
compiler = os.environ.get("CC", "clang")
compiler = lldbutil.which(compiler)
return os.path.realpath(compiler)
def getArchFlag():