Improvements to captureOutput
[invirt/packages/invirt-base.git] / python / invirt / common.py
index 77b8da5..57fea45 100644 (file)
@@ -82,11 +82,12 @@ def captureOutput(popen_args, stdin_str=None, *args, **kwargs):
     if 'stdout' not in kwargs:
         kwargs['stdout'] = subprocess.PIPE
     if 'stderr' not in kwargs:
     if 'stdout' not in kwargs:
         kwargs['stdout'] = subprocess.PIPE
     if 'stderr' not in kwargs:
-        kwargs['stderr'] = subprocess.STDOUT
+        kwargs['stderr'] = subprocess.PIPE
     p = subprocess.Popen(popen_args, *args, **kwargs)
     p = subprocess.Popen(popen_args, *args, **kwargs)
-    out, _ = p.communicate(stdin_str)
+    out, err = p.communicate(stdin_str)
     if p.returncode:
     if p.returncode:
-        raise subprocess.CalledProcessError(p.returncode, popen_args, out)
+        raise subprocess.CalledProcessError(p.returncode, '%s, stdout: %s, stderr: %s' %
+                                            (popen_args, out, err))
     return out
 
 #
     return out
 
 #