Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d2f5c33 authored by Steven Thomas's avatar Steven Thomas
Browse files

Fix RefreshRateRangeTest

RefreshRateRangeTest was broken in ag/9714241, where we made changes to
do more strict validation on the params passed to
setDesiredDisplayConfigSpecs().

Bug: 142507213

Test: RefreshRateRangeTest
Change-Id: I671f4b846a456c3978a52983caf64ffa2c055cab
parent 337513b7
Loading
Loading
Loading
Loading
+29 −31
Original line number Diff line number Diff line
@@ -31,42 +31,40 @@ protected:
    void SetUp() override { mDisplayToken = SurfaceComposerClient::getInternalDisplayToken(); }

    sp<IBinder> mDisplayToken;
    int32_t defaultConfigId;
    float minRefreshRate;
    float maxRefreshRate;
};

TEST_F(RefreshRateRangeTest, simpleSetAndGet) {
    status_t res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, 1, 45, 75);
    EXPECT_EQ(res, NO_ERROR);
TEST_F(RefreshRateRangeTest, setAllConfigs) {
    int32_t initialDefaultConfig;
    float initialMin;
    float initialMax;
    status_t res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken,
                                                                       &initialDefaultConfig,
                                                                       &initialMin, &initialMax);
    ASSERT_EQ(res, NO_ERROR);

    res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfigId,
                                                              &minRefreshRate, &maxRefreshRate);
    EXPECT_EQ(res, NO_ERROR);
    EXPECT_EQ(defaultConfigId, 1);
    EXPECT_EQ(minRefreshRate, 45);
    EXPECT_EQ(maxRefreshRate, 75);
}
    Vector<DisplayInfo> configs;
    res = SurfaceComposerClient::getDisplayConfigs(mDisplayToken, &configs);
    ASSERT_EQ(res, NO_ERROR);

TEST_F(RefreshRateRangeTest, complexSetAndGet) {
    status_t res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, 1, 45, 75);
    EXPECT_EQ(res, NO_ERROR);
    for (size_t i = 0; i < configs.size(); i++) {
        res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, i, configs[i].fps,
                                                                  configs[i].fps);
        ASSERT_EQ(res, NO_ERROR);

    res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfigId,
                                                              &minRefreshRate, &maxRefreshRate);
    EXPECT_EQ(res, NO_ERROR);
    EXPECT_EQ(defaultConfigId, 1);
    EXPECT_EQ(minRefreshRate, 45);
    EXPECT_EQ(maxRefreshRate, 75);
        int defaultConfig;
        float minFps;
        float maxFps;
        res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfig,
                                                                  &minFps, &maxFps);
        ASSERT_EQ(res, NO_ERROR);
        ASSERT_EQ(defaultConfig, i);
        ASSERT_EQ(minFps, configs[i].fps);
        ASSERT_EQ(maxFps, configs[i].fps);
    }

    // Second call overrides the first one.
    res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, 10, 145, 875);
    EXPECT_EQ(res, NO_ERROR);
    res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfigId,
                                                              &minRefreshRate, &maxRefreshRate);
    EXPECT_EQ(res, NO_ERROR);
    EXPECT_EQ(defaultConfigId, 10);
    EXPECT_EQ(minRefreshRate, 145);
    EXPECT_EQ(maxRefreshRate, 875);
    res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, initialDefaultConfig,
                                                              initialMin, initialMax);
    ASSERT_EQ(res, NO_ERROR);
}

} // namespace android