test/bdevio: respond with error via RPC on test failure

Previously RPC returned just number of cases that failed,
meanwhile return from the command was 0.

Now whenever there are failures, error is reported via RPC.
This will allow to use it in bash scripts with set -e used.

Change-Id: I34997dd5f08b561bc55f391287f9942861bda57a
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457614
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Tomasz Zawadzki 2019-06-11 08:37:43 -04:00 committed by Darek Stojaczyk
parent 1891f2e5c5
commit f87568a095

View File

@ -1187,12 +1187,17 @@ rpc_perform_tests_cb(unsigned num_failures, struct spdk_jsonrpc_request *request
{
struct spdk_json_write_ctx *w;
w = spdk_jsonrpc_begin_result(request);
if (w == NULL) {
return;
if (num_failures == 0) {
w = spdk_jsonrpc_begin_result(request);
if (w == NULL) {
return;
}
spdk_json_write_uint32(w, num_failures);
spdk_jsonrpc_end_result(request, w);
} else {
spdk_jsonrpc_send_error_response_fmt(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
"%d test cases failed", num_failures);
}
spdk_json_write_uint32(w, num_failures);
spdk_jsonrpc_end_result(request, w);
}
static void