--- a/ForgeSCM/forgescm/lib/command.py
+++ b/ForgeSCM/forgescm/lib/command.py
@@ -17,7 +17,9 @@
base = self.base
self.args = tuple(base) + args
- def run(self, output_consumer=None):
+ def run(self, output_consumer=None, cwd=None):
+ if cwd is None:
+ cwd=self.cwd()
self.sp = subprocess.Popen(
self.args, executable=self.args[0],
stdin=None, stdout=subprocess.PIPE,
@@ -27,6 +29,10 @@
else:
output_consumer(self.sp.stdout)
self.sp.wait()
+
+ def run_exc(self, *args, **kwargs):
+ result = self.run(*args, **kwargs)
+ assert not self.sp.returncode, self.output
def cwd(self):
try: