[Composer VTS] Check Vrr mode is the only mode in the Config Group
BUG: 296636107
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I4bdf7b0988673a13297d648dcf3360a6821aaecb
diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp
index 90944d5..1e6f34b 100644
--- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp
+++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp
@@ -1231,13 +1231,20 @@
EXPECT_NE(-1, displayConfig.vsyncPeriod);
EXPECT_NE(-1, displayConfig.configGroup);
if (displayConfig.dpi) {
- EXPECT_NE(-1, displayConfig.dpi->x);
- EXPECT_NE(-1, displayConfig.dpi->y);
+ EXPECT_NE(-1.f, displayConfig.dpi->x);
+ EXPECT_NE(-1.f, displayConfig.dpi->y);
}
if (displayConfig.vrrConfig) {
const auto& vrrConfig = *displayConfig.vrrConfig;
EXPECT_GE(vrrConfig.minFrameIntervalNs, displayConfig.vsyncPeriod);
+ EXPECT_EQ(1, std::count_if(
+ displayConfigurations.cbegin(), displayConfigurations.cend(),
+ [displayConfig](const auto& config) {
+ return config.configGroup == displayConfig.configGroup;
+ }))
+ << "There should be only one VRR mode in one ConfigGroup";
+
const auto verifyFrameIntervalIsDivisorOfVsync = [&](int32_t frameIntervalNs) {
constexpr auto kThreshold = 0.05f; // 5%
const auto ratio =