From: Jeffrey Yasskin Date: Fri, 5 Feb 2010 18:09:19 +0000 (+0000) Subject: Make lit's gtest support honor config.environment. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=8d280fb50a1c35a4b598bf722038b7f0d71e90d0;p=oota-llvm.git Make lit's gtest support honor config.environment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95398 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/lit/lit/TestFormats.py b/utils/lit/lit/TestFormats.py index 5dfd54ac5ec..fba0ce2ce46 100644 --- a/utils/lit/lit/TestFormats.py +++ b/utils/lit/lit/TestFormats.py @@ -9,13 +9,19 @@ class GoogleTest(object): self.test_sub_dir = str(test_sub_dir) self.test_suffix = str(test_suffix) - def getGTestTests(self, path, litConfig): + def getGTestTests(self, path, litConfig, localConfig): """getGTestTests(path) - [name] - - Return the tests available in gtest executable.""" + + Return the tests available in gtest executable. + + Args: + path: String path to a gtest executable + litConfig: LitConfig instance + localConfig: TestingConfig instance""" try: - lines = Util.capture([path, '--gtest_list_tests']).split('\n') + lines = Util.capture([path, '--gtest_list_tests'], + env=localConfig.environment).split('\n') except: litConfig.error("unable to discover google-tests in %r" % path) raise StopIteration @@ -52,7 +58,8 @@ class GoogleTest(object): execpath = os.path.join(filepath, subfilename) # Discover the tests in this executable. - for name in self.getGTestTests(execpath, litConfig): + for name in self.getGTestTests(execpath, litConfig, + localConfig): testPath = path_in_suite + (filename, subfilename, name) yield Test.Test(testSuite, testPath, localConfig) @@ -65,7 +72,8 @@ class GoogleTest(object): testName = os.path.join(namePrefix, testName) cmd = [testPath, '--gtest_filter=' + testName] - out, err, exitCode = TestRunner.executeCommand(cmd) + out, err, exitCode = TestRunner.executeCommand( + cmd, env=test.config.environment) if not exitCode: return Test.PASS,'' diff --git a/utils/lit/lit/Util.py b/utils/lit/lit/Util.py index 66c5e46f690..414b714c82c 100644 --- a/utils/lit/lit/Util.py +++ b/utils/lit/lit/Util.py @@ -39,11 +39,12 @@ def mkdir_p(path): if e.errno != errno.EEXIST: raise -def capture(args): +def capture(args, env=None): import subprocess """capture(command) - Run the given command (or argv list) in a shell and return the standard output.""" - p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, + env=env) out,_ = p.communicate() return out