Merge "Fixing execute bug in VTS tests for hardware composer"

This commit is contained in:
TreeHugger Robot
2018-08-31 23:12:14 +00:00
committed by Android (Google) Code Review
6 changed files with 26 additions and 5 deletions

View File

@@ -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,

View File

@@ -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);

View File

@@ -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;
};

View File

@@ -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{};

View File

@@ -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,

View File

@@ -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";
}
}
/**