From f687f7f7b8d31d573fe1ed0eeb06562679f5458b Mon Sep 17 00:00:00 2001 From: Manali Bhutiyani Date: Mon, 25 Mar 2024 22:07:25 +0000 Subject: [PATCH] [vts] Fix VTS batched-command tests Fix VTS tests per comments in b/304976052. Removing redundant tests, as existing CreateLayer, DestroyLayer, CreateLayer_BadDisplay and DestroyLayer_BadDisplay already provide the needed coverage. Bug: 304976052 Test: atest VtsHalGraphicsComposer3_TargetTest atest PerInstance/GraphicsComposerAidlBatchedCommandTest Change-Id: I34cb6a69aad6d8f86772a82833b8f15e465fe8d3 --- .../VtsHalGraphicsComposer3_TargetTest.cpp | 64 ++++++------------- 1 file changed, 21 insertions(+), 43 deletions(-) diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index f72cf55300..cef552c411 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -3002,14 +3002,10 @@ TEST_P(GraphicsComposerAidlCommandV3Test, CreateBatchedCommand) { GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; return; } - auto& writer = getWriter(getPrimaryDisplayId()); - int64_t layer = 5; - writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, - LayerLifecycleBatchCommandType::CREATE); - writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); - writer.validateDisplay(getPrimaryDisplayId(), ComposerClientWriter::kNoTimestamp, - VtsComposerClient::kNoFrameIntervalNs); + const auto& [status, layer] = + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + EXPECT_TRUE(status.isOk()); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); } @@ -3019,15 +3015,13 @@ TEST_P(GraphicsComposerAidlCommandV3Test, CreateBatchedCommand_BadDisplay) { GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; return; } - - auto& writer = getWriter(getPrimaryDisplayId()); + auto& writer = getWriter(getInvalidDisplayId()); int64_t layer = 5; writer.setLayerLifecycleBatchCommandType(getInvalidDisplayId(), layer, LayerLifecycleBatchCommandType::CREATE); - writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); - writer.validateDisplay(getPrimaryDisplayId(), ComposerClientWriter::kNoTimestamp, - VtsComposerClient::kNoFrameIntervalNs); + writer.setNewBufferSlotCount(getInvalidDisplayId(), layer, 1); execute(); + const auto errors = mReader.takeErrors(); ASSERT_TRUE(errors.size() == 1 && errors[0].errorCode == IComposerClient::EX_BAD_DISPLAY); } @@ -3037,26 +3031,15 @@ TEST_P(GraphicsComposerAidlCommandV3Test, DestroyBatchedCommand) { GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; return; } - auto& writer = getWriter(getPrimaryDisplayId()); - int64_t layer = 5; - writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, - LayerLifecycleBatchCommandType::CREATE); - writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); - writer.validateDisplay(getPrimaryDisplayId(), ComposerClientWriter::kNoTimestamp, - VtsComposerClient::kNoFrameIntervalNs); + const auto& [status, layer] = + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + EXPECT_TRUE(status.isOk()); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); - writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, - LayerLifecycleBatchCommandType::DESTROY); - layer++; - writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, - LayerLifecycleBatchCommandType::CREATE); - writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); - + EXPECT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer, &writer).isOk()); execute(); - const auto errors = mReader.takeErrors(); - ASSERT_TRUE(errors.size() == 1 && errors[0].errorCode == IComposerClient::EX_BAD_DISPLAY); + ASSERT_TRUE(mReader.takeErrors().empty()); } TEST_P(GraphicsComposerAidlCommandV3Test, DestroyBatchedCommand_BadDisplay) { @@ -3064,25 +3047,20 @@ TEST_P(GraphicsComposerAidlCommandV3Test, DestroyBatchedCommand_BadDisplay) { GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; return; } - auto& writer = getWriter(getPrimaryDisplayId()); - int64_t layer = 5; - writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, - LayerLifecycleBatchCommandType::CREATE); - writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); - writer.validateDisplay(getPrimaryDisplayId(), ComposerClientWriter::kNoTimestamp, - VtsComposerClient::kNoFrameIntervalNs); - execute(); - ASSERT_TRUE(mReader.takeErrors().empty()); - writer.setLayerLifecycleBatchCommandType(getInvalidDisplayId(), layer, - LayerLifecycleBatchCommandType::DESTROY); - layer++; - writer.setLayerLifecycleBatchCommandType(getInvalidDisplayId(), layer, - LayerLifecycleBatchCommandType::CREATE); - writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); + const auto& [status, layer] = + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + EXPECT_TRUE(status.isOk()); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); + + auto& invalid_writer = getWriter(getInvalidDisplayId()); + invalid_writer.setLayerLifecycleBatchCommandType(getInvalidDisplayId(), layer, + LayerLifecycleBatchCommandType::DESTROY); + execute(); + const auto errors = mReader.takeErrors(); + ASSERT_TRUE(errors.size() == 1 && errors[0].errorCode == IComposerClient::EX_BAD_DISPLAY); } TEST_P(GraphicsComposerAidlCommandV3Test, NoCreateDestroyBatchedCommandIncorrectLayer) {