diff --git a/src/bindings/c/src/common.h b/src/bindings/c/src/common.h index 2a338d0f0d6da0..030f3c72e6a1b8 100644 --- a/src/bindings/c/src/common.h +++ b/src/bindings/c/src/common.h @@ -12,6 +12,7 @@ #include "openvino/core/except.hpp" #include "openvino/openvino.hpp" +#include "openvino/runtime/exception.hpp" #define CATCH_OV_EXCEPTION(StatusCode, ExceptionType) \ catch (const ov::ExceptionType& ex) { \ @@ -20,6 +21,8 @@ } #define CATCH_OV_EXCEPTIONS \ + CATCH_OV_EXCEPTION(REQUEST_BUSY, Busy) \ + CATCH_OV_EXCEPTION(INFER_CANCELLED, Cancelled) \ CATCH_OV_EXCEPTION(NOT_IMPLEMENTED, NotImplemented) \ CATCH_OV_EXCEPTION(GENERAL_ERROR, Exception) \ catch (...) { \ diff --git a/src/bindings/c/tests/ov_infer_request_test.cpp b/src/bindings/c/tests/ov_infer_request_test.cpp index 09a8bccf7643d4..b7f7b7c024e409 100644 --- a/src/bindings/c/tests/ov_infer_request_test.cpp +++ b/src/bindings/c/tests/ov_infer_request_test.cpp @@ -341,6 +341,15 @@ TEST_P(ov_infer_request_test, infer_async_wait_for) { } } +TEST_P(ov_infer_request_test, infer_async_wait_for_return_busy) { + OV_EXPECT_OK(ov_infer_request_set_input_tensor_by_index(infer_request, 0, input_tensor)); + + OV_ASSERT_OK(ov_infer_request_start_async(infer_request)); + + if (!HasFatalFailure()) + EXPECT_EQ(ov_status_e::REQUEST_BUSY, ov_infer_request_get_tensor(infer_request, in_tensor_name, &input_tensor)); +} + TEST_P(ov_infer_request_test, infer_async_wait_for_return_fail) { OV_EXPECT_NOT_OK(ov_infer_request_wait_for(infer_request, 10)); }