diff options
author | 2023-11-27 16:50:02 -0800 | |
---|---|---|
committer | 2023-11-27 17:12:08 -0800 | |
commit | 87cbe267c198cb7a8da853216db8b0261c54f295 (patch) | |
tree | 8f1d3d0d10586353bd690c4af73a1c52bc5f487b | |
parent | 2f8ab0ea7de0d8f80b23f9346597069cbd91951d (diff) |
Update DisplayConfigs_test to use Modes for the tests
This avoids setting values which are not supported on the modes
BUG: 304541457
Test: atest
Change-Id: Ie3bc06059f55aa9e04369228b76063627903539b
-rw-r--r-- | services/surfaceflinger/tests/DisplayConfigs_test.cpp | 74 |
1 files changed, 29 insertions, 45 deletions
diff --git a/services/surfaceflinger/tests/DisplayConfigs_test.cpp b/services/surfaceflinger/tests/DisplayConfigs_test.cpp index 0a951d49e3..aeff5a530d 100644 --- a/services/surfaceflinger/tests/DisplayConfigs_test.cpp +++ b/services/surfaceflinger/tests/DisplayConfigs_test.cpp @@ -56,60 +56,44 @@ protected: ASSERT_EQ(res, NO_ERROR); } - void testSetAllowGroupSwitching(bool allowGroupSwitching); + void testSetDesiredDisplayModeSpecs(bool allowGroupSwitching = false) { + ui::DynamicDisplayInfo info; + status_t res = + SurfaceComposerClient::getDynamicDisplayInfoFromId(static_cast<int64_t>(mDisplayId), + &info); + const auto& modes = info.supportedDisplayModes; + ASSERT_EQ(res, NO_ERROR); + ASSERT_GT(modes.size(), 0); + for (const auto& mode : modes) { + gui::DisplayModeSpecs setSpecs; + setSpecs.defaultMode = mode.id; + setSpecs.allowGroupSwitching = allowGroupSwitching; + setSpecs.primaryRanges.physical.min = mode.peakRefreshRate; + setSpecs.primaryRanges.physical.max = mode.peakRefreshRate; + setSpecs.primaryRanges.render = setSpecs.primaryRanges.physical; + setSpecs.appRequestRanges = setSpecs.primaryRanges; + + res = SurfaceComposerClient::setDesiredDisplayModeSpecs(mDisplayToken, setSpecs); + ASSERT_EQ(res, NO_ERROR); + gui::DisplayModeSpecs getSpecs; + res = SurfaceComposerClient::getDesiredDisplayModeSpecs(mDisplayToken, &getSpecs); + ASSERT_EQ(res, NO_ERROR); + ASSERT_EQ(setSpecs, getSpecs); + } + } sp<IBinder> mDisplayToken; uint64_t mDisplayId; }; TEST_F(RefreshRateRangeTest, setAllConfigs) { - ui::DynamicDisplayInfo info; - status_t res = - SurfaceComposerClient::getDynamicDisplayInfoFromId(static_cast<int64_t>(mDisplayId), - &info); - const auto& modes = info.supportedDisplayModes; - ASSERT_EQ(res, NO_ERROR); - ASSERT_GT(modes.size(), 0); - - gui::DisplayModeSpecs setSpecs; - setSpecs.allowGroupSwitching = false; - for (size_t i = 0; i < modes.size(); i++) { - setSpecs.defaultMode = modes[i].id; - setSpecs.primaryRanges.physical.min = modes[i].peakRefreshRate; - setSpecs.primaryRanges.physical.max = modes[i].peakRefreshRate; - setSpecs.primaryRanges.render = setSpecs.primaryRanges.physical; - setSpecs.appRequestRanges = setSpecs.primaryRanges; - res = SurfaceComposerClient::setDesiredDisplayModeSpecs(mDisplayToken, setSpecs); - ASSERT_EQ(res, NO_ERROR); - - gui::DisplayModeSpecs getSpecs; - res = SurfaceComposerClient::getDesiredDisplayModeSpecs(mDisplayToken, &getSpecs); - ASSERT_EQ(res, NO_ERROR); - ASSERT_EQ(setSpecs, getSpecs); - } -} - -void RefreshRateRangeTest::testSetAllowGroupSwitching(bool allowGroupSwitching) { - gui::DisplayModeSpecs setSpecs; - setSpecs.defaultMode = 0; - setSpecs.allowGroupSwitching = allowGroupSwitching; - setSpecs.primaryRanges.physical.min = 0; - setSpecs.primaryRanges.physical.max = 90; - setSpecs.primaryRanges.render = setSpecs.primaryRanges.physical; - setSpecs.appRequestRanges = setSpecs.primaryRanges; - - status_t res = SurfaceComposerClient::setDesiredDisplayModeSpecs(mDisplayToken, setSpecs); - ASSERT_EQ(res, NO_ERROR); - gui::DisplayModeSpecs getSpecs; - res = SurfaceComposerClient::getDesiredDisplayModeSpecs(mDisplayToken, &getSpecs); - ASSERT_EQ(res, NO_ERROR); - ASSERT_EQ(setSpecs, getSpecs); + testSetDesiredDisplayModeSpecs(); } TEST_F(RefreshRateRangeTest, setAllowGroupSwitching) { - testSetAllowGroupSwitching(true); - testSetAllowGroupSwitching(false); - testSetAllowGroupSwitching(true); + testSetDesiredDisplayModeSpecs(/*allowGroupSwitching=*/true); + testSetDesiredDisplayModeSpecs(/*allowGroupSwitching=*/false); + testSetDesiredDisplayModeSpecs(/*allowGroupSwitching=*/true); } } // namespace android |