summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (TreviƱo) <mail@3v1n0.net>2019-09-30 19:51:30 +0200
committerThomas Haller <thaller@redhat.com>2019-10-02 09:11:28 +0200
commit36bd0565b7a84c61fe6ae0eb3d2e3cc542f5bd10 (patch)
tree0177f0c41b875f26f868bd2270955336de869c61
parent6a58c55ca44afb00dd86fd41467a78680ec550a8 (diff)
downloadNetworkManager-36bd0565b7a84c61fe6ae0eb3d2e3cc542f5bd10.tar.gz
test-client.py: Close pipes and print logs on timeout failures
If we failed on process wait, we didn't close the pipes and no clear output of what happened was exposed. So use a finally stanza to close the pipes and print stdout and stderr on failure.
-rwxr-xr-xclients/tests/test-client.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/clients/tests/test-client.py b/clients/tests/test-client.py
index 61c96dcbf6..bafbc17bd6 100755
--- a/clients/tests/test-client.py
+++ b/clients/tests/test-client.py
@@ -425,15 +425,29 @@ class AsyncProcess():
self.start()
- Util.popen_wait(self._p, 2000)
+ error = False
+ try:
+ Util.popen_wait(self._p, 2000)
+ except Exception as e:
+ error = True
+ raise e
+ finally:
+ (returncode, stdout, stderr) = (self._p.returncode,
+ self._p.stdout.read(),
+ self._p.stderr.read())
- (returncode, stdout, stderr) = (self._p.returncode, self._p.stdout.read(), self._p.stderr.read())
+ self._p.stdout.close()
+ self._p.stderr.close()
+ self._p = None
- self._p.stdout.close()
- self._p.stderr.close()
- self._p = None
+ if error:
+ print(stdout)
+ print(stderr)
- self._complete_cb(self, returncode, stdout, stderr)
+ try:
+ self._complete_cb(self, returncode, stdout, stderr)
+ except Exception as e:
+ raise e
###############################################################################