From 6f4ff3c05a705bdba516f64d0517b55248e6596d Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Thu, 29 May 2014 08:55:19 +1200 Subject: Allow _run_cmd to run commands in any directory. This is needed to avoid running pip install within the directory of the test package on Python2.6, where it helpfully (not really) installs the test package, not pbr. Change-Id: I956ad29f68a32cb4d33af448333f649043e0a655 --- pbr/tests/base.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pbr/tests/base.py b/pbr/tests/base.py index c58414e..ce20de1 100644 --- a/pbr/tests/base.py +++ b/pbr/tests/base.py @@ -119,14 +119,18 @@ class BaseTestCase(testtools.TestCase, testresources.ResourcedTestCase): def run_setup(self, *args, **kwargs): return self._run_cmd(sys.executable, ('setup.py',) + args, **kwargs) - def _run_cmd(self, cmd, args=[], allow_fail=True): + def _run_cmd(self, cmd, args=[], allow_fail=True, cwd=None): """Run a command in the root of the test working copy. Runs a command, with the given argument list, in the root of the test working copy--returns the stdout and stderr streams and the exit code from the subprocess. + + :param cwd: If falsy run within the test package dir, otherwise run + within the named path. """ - result = _run_cmd([cmd] + list(args), cwd=self.package_dir) + cwd = cwd or self.package_dir + result = _run_cmd([cmd] + list(args), cwd=cwd) if result[2] and not allow_fail: raise Exception("Command failed retcode=%s" % result[2]) return result -- cgit v1.2.1