From 77414ebf5a189726b1bcb04243bced56f76a435b Mon Sep 17 00:00:00 2001 From: Michael Butler Date: Fri, 31 Dec 2021 09:36:23 -0800 Subject: [PATCH] Fix NNAPI HIDL 1.3 VTS MemoryDomainExecutionTest MemoryDomainTests.cpp#1131 in aosp/13591469 fixed a problem with VtsHalNeuralnetworksTargetTest's MemoryDomainExecutionTest's InvalidDimensions test where a dimension was doubled but the number of bytes and size of shared memory did not double, but this change was not ported to VtsHalNeuralnetworksV1_3TargetTest. This CL ports that fix to VtsHalNeuralnetworksV1_3TargetTest. Bug: 213197824 Test: mma Test: VtsHalNeuralnetworksV1_3TargetTest Change-Id: Ib7323e584c17ab230bde71487c0b94349701ec57 --- neuralnetworks/1.3/vts/functional/MemoryDomainTests.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/neuralnetworks/1.3/vts/functional/MemoryDomainTests.cpp b/neuralnetworks/1.3/vts/functional/MemoryDomainTests.cpp index e2fa6e4d42..af3641a2fe 100644 --- a/neuralnetworks/1.3/vts/functional/MemoryDomainTests.cpp +++ b/neuralnetworks/1.3/vts/functional/MemoryDomainTests.cpp @@ -1158,12 +1158,15 @@ TEST_P(MemoryDomainExecutionTest, InvalidDimensions) { auto [buffer, token] = allocateBuffer(preparedModel, {0}, {0}, kTestOperand.dimensions); if (buffer == nullptr) return; - Request::MemoryPool sharedMemory = createSharedMemoryPool(kTestOperandDataSize); - Request::MemoryPool deviceMemory = createDeviceMemoryPool(token); + // Use an incompatible dimension and make sure the length matches with the bad dimension. auto badDimensions = kTestOperand.dimensions; badDimensions[0] = 2; + const uint32_t badTestOperandDataSize = kTestOperandDataSize * 2; + + Request::MemoryPool sharedMemory = createSharedMemoryPool(badTestOperandDataSize); + Request::MemoryPool deviceMemory = createDeviceMemoryPool(token); RequestArgument sharedMemoryArg = { - .location = {.poolIndex = 0, .offset = 0, .length = kTestOperandDataSize}, + .location = {.poolIndex = 0, .offset = 0, .length = badTestOperandDataSize}, .dimensions = badDimensions}; RequestArgument deviceMemoryArg = {.location = {.poolIndex = 1}}; RequestArgument deviceMemoryArgWithBadDimensions = {.location = {.poolIndex = 1},