From 3f4276f4a928dda4f4083970f61f0f0eec494ca1 Mon Sep 17 00:00:00 2001 From: Jason Macnak Date: Wed, 11 May 2022 21:56:30 +0000 Subject: [PATCH] Update Mapper4 SetBadMetadata VTS test for optional metadata The common decode function for optional gralloc4 metadata `android::gralloc4::decodeOptionalMetadata()` treats an empty input `hidl_vec` as `std::nullopt` and not a bad value. aosp/1907915 previously tried to update the encoding and decoding of optional metadata in order to distinguish this case but the change broke GRF. Instead, let's update the SetBadMetadata test to use some actual incorrect data for the optional metadata tests instead of an empty vec. Bug: b/207388558 Test: cvd start Test: VtsHalGraphicsMapperV4_0TargetTest Change-Id: I87c20930cb701e87c89489bd0359cce0522cfe44 --- .../vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp b/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp index f55a6b77ed..61277ee0bb 100644 --- a/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp +++ b/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp @@ -2001,6 +2001,11 @@ TEST_P(GraphicsMapperHidlTest, SetBadMetadata) { mGralloc->set(bufferHandle, gralloc4::MetadataType_Dataspace, vec)); ASSERT_EQ(Error::UNSUPPORTED, mGralloc->set(bufferHandle, gralloc4::MetadataType_BlendMode, vec)); + + // Keep optional metadata types below and populate the encoded metadata vec + // with some arbitrary different metadata because the common gralloc4::decode*() + // functions do not distinguish between an empty vec and bad value. + ASSERT_EQ(NO_ERROR, gralloc4::encodeDataspace(Dataspace::SRGB_LINEAR, &vec)); ASSERT_EQ(Error::UNSUPPORTED, mGralloc->set(bufferHandle, gralloc4::MetadataType_Smpte2086, vec)); ASSERT_EQ(Error::UNSUPPORTED,