From: Zack Cerza Date: Fri, 23 Oct 2015 22:26:49 +0000 (-0600) Subject: misc.sh(): Use Popen instead of check_output() X-Git-Tag: 1.1.0~782^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F670%2Fhead;p=teuthology.git misc.sh(): Use Popen instead of check_output() Signed-off-by: Zack Cerza --- diff --git a/teuthology/misc.py b/teuthology/misc.py index ea5b3ab7e..53caaa870 100644 --- a/teuthology/misc.py +++ b/teuthology/misc.py @@ -1307,11 +1307,18 @@ def sh(command): """ log.debug(command) output = '' - try: - output = subprocess.check_output(command, stderr=subprocess.STDOUT, - shell=True) - except subprocess.CalledProcessError as e: - raise e + proc = subprocess.Popen( + args=command, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + shell=True) + output = proc.communicate()[0] if output.strip(): log.debug(command + " output " + str(output)) + if proc.returncode != 0: + raise subprocess.CalledProcessError( + returncode=proc.returncode, + cmd=command, + output=output, + ) return output.decode('utf-8')