diff options
author | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2019-09-30 19:51:30 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2019-10-02 09:11:28 +0200 |
commit | 36bd0565b7a84c61fe6ae0eb3d2e3cc542f5bd10 (patch) | |
tree | 0177f0c41b875f26f868bd2270955336de869c61 | |
parent | 6a58c55ca44afb00dd86fd41467a78680ec550a8 (diff) | |
download | NetworkManager-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-x | clients/tests/test-client.py | 26 |
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 ############################################################################### |