[llvm-commits] [PATCH] Make lit's gtest support honor config.environment (issue199071)
Daniel Dunbar
daniel at zuster.org
Fri Feb 5 09:56:17 PST 2010
LGTM.
- Daniel
On Tue, Feb 2, 2010 at 6:43 PM, <jyasskin at gmail.com> wrote:
> Reviewers: daniel_zuster.org,
>
> Message:
> Please take a look. The current patch is at
> http://codereview.appspot.com/download/issue199071_1003.diff
>
> Description:
> This will let me set LD_LIBRARY_PATH correctly when linking the
> unittests against an LLVM shared library.
>
> Please review this at http://codereview.appspot.com/199071/show
>
> Affected files:
> M utils/lit/lit/TestFormats.py
> M utils/lit/lit/Util.py
>
>
> Index: utils/lit/lit/TestFormats.py
> ===================================================================
> --- utils/lit/lit/TestFormats.py (revision 95191)
> +++ utils/lit/lit/TestFormats.py (working copy)
> @@ -9,13 +9,19 @@
> 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 @@
> 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 @@
> 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,''
> Index: utils/lit/lit/Util.py
> ===================================================================
> --- utils/lit/lit/Util.py (revision 95191)
> +++ utils/lit/lit/Util.py (working copy)
> @@ -39,11 +39,12 @@
> 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
>
>
>
>
More information about the llvm-commits
mailing list