From f87568a095b2ecc40a7ea04bcc86f7dedb32c362 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Tue, 11 Jun 2019 08:37:43 -0400 Subject: [PATCH] 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 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457614 Reviewed-by: Ben Walker Reviewed-by: Darek Stojaczyk Tested-by: SPDK CI Jenkins --- test/bdev/bdevio/bdevio.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/test/bdev/bdevio/bdevio.c b/test/bdev/bdevio/bdevio.c index bb8e7a9ee..c63858168 100644 --- a/test/bdev/bdevio/bdevio.c +++ b/test/bdev/bdevio/bdevio.c @@ -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