From 731178ea46017145f7096f8cfc55b87e7b35abff Mon Sep 17 00:00:00 2001 From: Hidenori Kobayashi Date: Mon, 11 Nov 2024 02:19:26 +0000 Subject: [PATCH] Camera: Vts: update check for setCallback A Rust HAL cannot return a service specific error when a nullptr is passed to setCallback, since libbinder_rs checks for nullptr and returns EX_NULL_POINTER before the request reaches the specific HAL. Bug: 360755781 Test: atest VtsAidlHalCameraProvider_TargetTest Change-Id: I8c558aa6b1d7c89b89506b975b4acd97b5571791 --- .../provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index 9fa4df2cf4..ec61eec679 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -118,7 +118,8 @@ TEST_P(CameraAidlTest, setCallback) { ScopedAStatus ret = mProvider->setCallback(cb); ASSERT_TRUE(ret.isOk()); ret = mProvider->setCallback(nullptr); - ASSERT_EQ(static_cast(Status::ILLEGAL_ARGUMENT), ret.getServiceSpecificError()); + ASSERT_TRUE(static_cast(Status::ILLEGAL_ARGUMENT) == ret.getServiceSpecificError() || + EX_NULL_POINTER == ret.getExceptionCode()); } // Test if ICameraProvider::getCameraDeviceInterface returns Status::OK and non-null device