mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Fixing execute bug in VTS tests for hardware composer"
This commit is contained in:
committed by
Android (Google) Code Review
commit
1eda2be769
@@ -293,7 +293,6 @@ void ComposerClient::execute(TestCommandReader* reader, CommandWriterBase* write
|
||||
if (queueChanged) {
|
||||
auto ret = mClient->setInputCommandQueue(*writer->getMQDescriptor());
|
||||
ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
|
||||
return;
|
||||
}
|
||||
|
||||
mClient->executeCommands(commandLength, commandHandles,
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace V2_1 {
|
||||
namespace vts {
|
||||
|
||||
void TestCommandReader::parse() {
|
||||
mErrors.clear();
|
||||
mCompositionChanges.clear();
|
||||
while (!isEmpty()) {
|
||||
IComposerClient::Command command;
|
||||
@@ -41,7 +42,8 @@ void TestCommandReader::parse() {
|
||||
ASSERT_EQ(2, length);
|
||||
auto loc = read();
|
||||
auto err = readSigned();
|
||||
GTEST_FAIL() << "unexpected error " << err << " at location " << loc;
|
||||
std::pair<uint32_t, uint32_t> error(loc, err);
|
||||
mErrors.push_back(error);
|
||||
} break;
|
||||
case IComposerClient::Command::SET_CHANGED_COMPOSITION_TYPES:
|
||||
ASSERT_EQ(0, length % 3);
|
||||
|
||||
@@ -33,6 +33,7 @@ class TestCommandReader : public CommandReaderBase {
|
||||
// unexpected errors or commands.
|
||||
void parse();
|
||||
|
||||
std::vector<std::pair<uint32_t, uint32_t>> mErrors;
|
||||
std::vector<std::pair<uint64_t, uint32_t>> mCompositionChanges;
|
||||
};
|
||||
|
||||
|
||||
@@ -672,7 +672,10 @@ class GraphicsComposerHidlCommandTest : public GraphicsComposerHidlTest {
|
||||
mReader = std::make_unique<TestCommandReader>();
|
||||
}
|
||||
|
||||
void TearDown() override { ASSERT_NO_FATAL_FAILURE(GraphicsComposerHidlTest::TearDown()); }
|
||||
void TearDown() override {
|
||||
ASSERT_EQ(0, mReader->mErrors.size());
|
||||
ASSERT_NO_FATAL_FAILURE(GraphicsComposerHidlTest::TearDown());
|
||||
}
|
||||
|
||||
const native_handle_t* allocate() {
|
||||
IMapper::BufferDescriptorInfo info{};
|
||||
|
||||
@@ -68,7 +68,6 @@ void ComposerClient::execute(V2_1::vts::TestCommandReader* reader, CommandWriter
|
||||
if (queueChanged) {
|
||||
auto ret = mClient->setInputCommandQueue(*writer->getMQDescriptor());
|
||||
ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
|
||||
return;
|
||||
}
|
||||
|
||||
mClient->executeCommands(commandLength, commandHandles,
|
||||
|
||||
@@ -127,7 +127,10 @@ class GraphicsComposerHidlCommandTest : public GraphicsComposerHidlTest {
|
||||
mReader = std::make_unique<V2_1::vts::TestCommandReader>();
|
||||
}
|
||||
|
||||
void TearDown() override { ASSERT_NO_FATAL_FAILURE(GraphicsComposerHidlTest::TearDown()); }
|
||||
void TearDown() override {
|
||||
ASSERT_EQ(0, mReader->mErrors.size());
|
||||
ASSERT_NO_FATAL_FAILURE(GraphicsComposerHidlTest::TearDown());
|
||||
}
|
||||
|
||||
const native_handle_t* allocate() {
|
||||
IMapper::BufferDescriptorInfo info{};
|
||||
@@ -189,6 +192,12 @@ TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_PER_FRAME_METADATA) {
|
||||
{IComposerClient::PerFrameMetadataKey::MAX_FRAME_AVERAGE_LIGHT_LEVEL, 62.0});
|
||||
mWriter->setLayerPerFrameMetadata(hidlMetadata);
|
||||
execute();
|
||||
|
||||
if (mReader->mErrors.size() == 1 &&
|
||||
static_cast<Error>(mReader->mErrors[0].second) == Error::UNSUPPORTED) {
|
||||
mReader->mErrors.clear();
|
||||
GTEST_SUCCEED() << "SetLayerPerFrameMetadata is not supported";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -313,6 +322,14 @@ TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_FLOAT_COLOR) {
|
||||
mWriter->selectLayer(layer);
|
||||
mWriter->setLayerFloatColor(IComposerClient::FloatColor{1.0, 1.0, 1.0, 1.0});
|
||||
mWriter->setLayerFloatColor(IComposerClient::FloatColor{0.0, 0.0, 0.0, 0.0});
|
||||
execute();
|
||||
|
||||
if (mReader->mErrors.size() == 2 &&
|
||||
static_cast<Error>(mReader->mErrors[0].second) == Error::UNSUPPORTED &&
|
||||
static_cast<Error>(mReader->mErrors[1].second) == Error::UNSUPPORTED) {
|
||||
mReader->mErrors.clear();
|
||||
GTEST_SUCCEED() << "SetLayerFloatColor is not supported";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user