summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-05-30 02:21:54 +0000
committerGerrit Code Review <review@openstack.org>2014-05-30 02:21:54 +0000
commita38dc208cf0ed0b06f9ab2e517fc267a6c181b3e (patch)
treebb0c8e89ed8d1a85f431f630296515625ea1e820
parent8a4017eb5e751187e9c9539f312bc02d5ea93d05 (diff)
parent6f4ff3c05a705bdba516f64d0517b55248e6596d (diff)
downloadpbr-a38dc208cf0ed0b06f9ab2e517fc267a6c181b3e.tar.gz
Merge "Allow _run_cmd to run commands in any directory."
-rw-r--r--pbr/tests/base.py8
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