From 4bf91c7e38f72a961785126519371e278e2f6345 Mon Sep 17 00:00:00 2001 From: Avichal Rakesh Date: Mon, 23 May 2022 20:44:02 +0000 Subject: [PATCH] Camera VTS: Fix incorrect return value check The AIDL interface specificies that ICameraProvider::setCallback should return Status::ILLEGAL_ARGUMENT if the provided callback is null. The setCallback test incorrectly checked for the return value to be OK instead. This CL fixes the test to check for ILLEGAL_ARGUMENT and removes setting callback to null from setTorchMode test. In addition it fixes `setCallback` test to use Bn* variant of ICameraProviderCallback to ensure that the object makes it through the binder. Bug: 233221359 Test: atest VtsAidlHalCameraProvider_TargetTest Change-Id: Ia33226b15efd9628bf8e1b53ec2a3012b08eaaac --- .../aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index 462698c87a..fe03732aff 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -39,7 +39,7 @@ using ::aidl::android::hardware::camera::device::ICameraDevice; using ::aidl::android::hardware::camera::metadata::RequestAvailableDynamicRangeProfilesMap; using ::aidl::android::hardware::camera::metadata::SensorPixelMode; using ::aidl::android::hardware::camera::provider::CameraIdAndStreamCombination; -using ::aidl::android::hardware::camera::provider::ICameraProviderCallbackDefault; +using ::aidl::android::hardware::camera::provider::BnCameraProviderCallback; using ::ndk::ScopedAStatus; @@ -86,7 +86,7 @@ TEST_P(CameraAidlTest, getVendorTags) { // Test if ICameraProvider::setCallback returns Status::OK TEST_P(CameraAidlTest, setCallback) { - struct ProviderCb : public ICameraProviderCallbackDefault { + struct ProviderCb : public BnCameraProviderCallback { ScopedAStatus cameraDeviceStatusChange(const std::string& cameraDeviceName, CameraDeviceStatus newStatus) override { ALOGI("camera device status callback name %s, status %d", cameraDeviceName.c_str(), @@ -109,11 +109,11 @@ TEST_P(CameraAidlTest, setCallback) { } }; - std::shared_ptr cb = ProviderCb::make(); + std::shared_ptr cb = ndk::SharedRefBase::make(); ScopedAStatus ret = mProvider->setCallback(cb); ASSERT_TRUE(ret.isOk()); ret = mProvider->setCallback(nullptr); - ASSERT_TRUE(ret.isOk()); + ASSERT_EQ(static_cast(Status::ILLEGAL_ARGUMENT), ret.getServiceSpecificError()); } // Test if ICameraProvider::getCameraDeviceInterface returns Status::OK and non-null device @@ -399,9 +399,6 @@ TEST_P(CameraAidlTest, setTorchMode) { } } } - - ret = mProvider->setCallback(nullptr); - ASSERT_TRUE(ret.isOk()); } // Check dump functionality.