diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index e335853c28..e346010759 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -531,11 +531,7 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { } if (ret.isOk()) { - const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); - size_t expectedSize = rawMetadata.metadata.size(); - int result = validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - verifyRequestTemplate(metadata, reqTemplate); + validateDefaultRequestMetadata(reqTemplate, rawMetadata); } else { ASSERT_EQ(0u, rawMetadata.metadata.size()); } @@ -546,24 +542,12 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { ndk::ScopedAStatus ret2 = device->constructDefaultRequestSettings(reqTemplate, &rawMetadata2); - // TODO: Do not allow OPERATION_NOT_SUPPORTED once HAL - // implementation is in place. - if (static_cast(ret2.getServiceSpecificError()) != - Status::OPERATION_NOT_SUPPORTED) { - ASSERT_EQ(ret.isOk(), ret2.isOk()); - ASSERT_EQ(ret.getStatus(), ret2.getStatus()); + ASSERT_EQ(ret.isOk(), ret2.isOk()); + ASSERT_EQ(ret.getStatus(), ret2.getStatus()); - ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); - if (ret2.isOk()) { - const camera_metadata_t* metadata = - (camera_metadata_t*)rawMetadata2.metadata.data(); - size_t expectedSize = rawMetadata2.metadata.size(); - int result = - validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || - (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - verifyRequestTemplate(metadata, reqTemplate); - } + ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); + if (ret2.isOk()) { + validateDefaultRequestMetadata(reqTemplate, rawMetadata2); } } } diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 8e72b3f605..68edce0b04 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -4026,3 +4026,12 @@ void CameraAidlTest::getSupportedDurations(const camera_metadata_t* ch, uint32_t } } } + +void CameraAidlTest::validateDefaultRequestMetadata(RequestTemplate reqTemplate, + const CameraMetadata& rawMetadata) { + const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); + size_t expectedSize = rawMetadata.metadata.size(); + int result = validate_camera_metadata_structure(metadata, &expectedSize); + ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); + verifyRequestTemplate(metadata, reqTemplate); +} diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index b51544fb67..dbfadcfa3d 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -588,6 +588,9 @@ class CameraAidlTest : public ::testing::TestWithParam { static void waitForReleaseFence( std::vector& resultOutputBuffers); + static void validateDefaultRequestMetadata(RequestTemplate reqTemplate, + const CameraMetadata& rawMetadata); + // Map from frame number to the in-flight request state typedef std::unordered_map> InFlightMap;