diff options
-rw-r--r-- | pbr/tests/base.py | 8 |
1 files 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 |