Re: [libvirt-test-API][PATCH] Fix utils.exec_cmd output problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2013年11月26日 09:32, Jincheng Miao wrote:
ping gren

----- Original Message -----
As described before, this patch should be :

---
  utils/utils.py | 5 ++---
  1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/utils/utils.py b/utils/utils.py
index 147c1ef..ec09c33 100644
--- a/utils/utils.py
+++ b/utils/utils.py
@@ -409,9 +409,8 @@ def exec_cmd(command, sudo=False, cwd=None, infile=None,
outfile=None, shell=Fal
      p = subprocess.Popen(command, shell=shell, close_fds=True, cwd=cwd,
                      stdin=infile, stdout=outfile, stderr=subprocess.PIPE)
      (out, err) = p.communicate(data)
-    if out == None:
-        # Prevent splitlines() from barfing later on
-        out = ""
+    if out == "":
+        out = err
      return (p.returncode, out.splitlines())
def remote_exec_pexpect(hostname, username, password, cmd):
--
1.8.3.1


Sorry I missed your patch.

The p.returncode can indicate the result of executing command unless you want the standard error. The subprocess.PIPE can ensure the variable out is always string type, but if the stdout is not the
subprocess.PIPE, the variable out possibly be the type of None.
so I think it is necessary to use the following code
if out == None:
out = ""

If you want to get standard error in the case of executing command failure. we need to consider other
way.

Guannan

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]