From cdc8f83f26b0ff4c04534fb0f797684d2ea6bd72 Mon Sep 17 00:00:00 2001 From: Pawel Wodkowski Date: Wed, 27 Mar 2019 11:57:28 +0100 Subject: [PATCH] rpc/client: move exception rising on error to client.call method Client might wan't to handle error response on it's own. To keep compatibility with legacy code we need to move exception rising to call method. Change-Id: I8a07e7556424e87ee10fa9332100a9a10abe05d8 Signed-off-by: Pawel Wodkowski Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/449314 Tested-by: SPDK CI Jenkins Reviewed-by: Darek Stojaczyk Reviewed-by: Ben Walker --- scripts/rpc/client.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/scripts/rpc/client.py b/scripts/rpc/client.py index e948fc830..cdda4939e 100644 --- a/scripts/rpc/client.py +++ b/scripts/rpc/client.py @@ -133,18 +133,13 @@ class JSONRPCClient(object): raise JSONRPCException("Timeout while waiting for response:\n%s\n" % self._recv_buf) self._logger.info("response:\n%s\n", json.dumps(response, indent=2)) - if 'error' in response: - msg = "\n".join(["Got JSON-RPC error response", - "response:", - json.dumps(response['error'], indent=2)]) - raise JSONRPCException(msg) return response def call(self, method, params=None): self._logger.debug("call('%s')" % method) self.send(method, params) try: - return self.recv()['result'] + response = self.recv() except JSONRPCException as e: """ Don't expect response to kill """ if not self.sock and method == "kill_instance": @@ -152,3 +147,11 @@ class JSONRPCClient(object): return {} else: raise e + + if 'error' in response: + msg = "\n".join(["Got JSON-RPC error response", + "response:", + json.dumps(response['error'], indent=2)]) + raise JSONRPCException(msg) + + return response['result']