diff options
Diffstat (limited to 'services/surfaceflinger/tests/unittests/RefreshRateSelectionTest.cpp')
-rw-r--r-- | services/surfaceflinger/tests/unittests/RefreshRateSelectionTest.cpp | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/services/surfaceflinger/tests/unittests/RefreshRateSelectionTest.cpp b/services/surfaceflinger/tests/unittests/RefreshRateSelectionTest.cpp index 43b8e01c3a..35033ea545 100644 --- a/services/surfaceflinger/tests/unittests/RefreshRateSelectionTest.cpp +++ b/services/surfaceflinger/tests/unittests/RefreshRateSelectionTest.cpp @@ -14,10 +14,6 @@ * limitations under the License. */ -// TODO(b/129481165): remove the #pragma below and fix conversion issues -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wconversion" - #undef LOG_TAG #define LOG_TAG "LibSurfaceFlingerUnittests" @@ -31,9 +27,8 @@ #include "Layer.h" #include "TestableSurfaceFlinger.h" #include "mock/DisplayHardware/MockComposer.h" -#include "mock/MockDispSync.h" -#include "mock/MockEventControlThread.h" #include "mock/MockEventThread.h" +#include "mock/MockVsyncController.h" namespace android { @@ -65,7 +60,6 @@ protected: static constexpr int32_t PRIORITY_UNSET = -1; void setupScheduler(); - void setupComposer(int virtualDisplayCount); sp<BufferQueueLayer> createBufferQueueLayer(); sp<BufferStateLayer> createBufferStateLayer(); sp<EffectLayer> createEffectLayer(); @@ -74,7 +68,6 @@ protected: void commitTransaction(Layer* layer); TestableSurfaceFlinger mFlinger; - Hwc2::mock::Composer* mComposer = nullptr; sp<Client> mClient; sp<Layer> mParent; @@ -88,7 +81,7 @@ RefreshRateSelectionTest::RefreshRateSelectionTest() { ALOGD("**** Setting up for %s.%s\n", test_info->test_case_name(), test_info->name()); setupScheduler(); - setupComposer(0); + mFlinger.setupComposer(std::make_unique<Hwc2::mock::Composer>()); } RefreshRateSelectionTest::~RefreshRateSelectionTest() { @@ -123,7 +116,8 @@ void RefreshRateSelectionTest::setParent(Layer* child, Layer* parent) { } void RefreshRateSelectionTest::commitTransaction(Layer* layer) { - layer->commitTransaction(layer->getCurrentState()); + auto c = layer->getDrawingState(); + layer->commitTransaction(c); } void RefreshRateSelectionTest::setupScheduler() { @@ -132,31 +126,23 @@ void RefreshRateSelectionTest::setupScheduler() { EXPECT_CALL(*eventThread, registerDisplayEventConnection(_)); EXPECT_CALL(*eventThread, createEventConnection(_, _)) - .WillOnce(Return(new EventThreadConnection(eventThread.get(), ResyncCallback(), - ISurfaceComposer::eConfigChangedSuppress))); + .WillOnce(Return(new EventThreadConnection(eventThread.get(), /*callingUid=*/0, + ResyncCallback()))); EXPECT_CALL(*sfEventThread, registerDisplayEventConnection(_)); EXPECT_CALL(*sfEventThread, createEventConnection(_, _)) - .WillOnce(Return(new EventThreadConnection(sfEventThread.get(), ResyncCallback(), - ISurfaceComposer::eConfigChangedSuppress))); - - auto primaryDispSync = std::make_unique<mock::DispSync>(); - - EXPECT_CALL(*primaryDispSync, computeNextRefresh(0, _)).WillRepeatedly(Return(0)); - EXPECT_CALL(*primaryDispSync, getPeriod()) - .WillRepeatedly(Return(FakeHwcDisplayInjector::DEFAULT_REFRESH_RATE)); - EXPECT_CALL(*primaryDispSync, expectedPresentTime(_)).WillRepeatedly(Return(0)); - mFlinger.setupScheduler(std::move(primaryDispSync), - std::make_unique<mock::EventControlThread>(), std::move(eventThread), - std::move(sfEventThread)); -} - -void RefreshRateSelectionTest::setupComposer(int virtualDisplayCount) { - mComposer = new Hwc2::mock::Composer(); - EXPECT_CALL(*mComposer, getMaxVirtualDisplayCount()).WillOnce(Return(virtualDisplayCount)); - mFlinger.setupComposer(std::unique_ptr<Hwc2::Composer>(mComposer)); - - Mock::VerifyAndClear(mComposer); + .WillOnce(Return(new EventThreadConnection(sfEventThread.get(), /*callingUid=*/0, + ResyncCallback()))); + + auto vsyncController = std::make_unique<mock::VsyncController>(); + auto vsyncTracker = std::make_unique<mock::VSyncTracker>(); + + EXPECT_CALL(*vsyncTracker, nextAnticipatedVSyncTimeFrom(_)).WillRepeatedly(Return(0)); + EXPECT_CALL(*vsyncTracker, currentPeriod()) + .WillRepeatedly(Return(FakeHwcDisplayInjector::DEFAULT_VSYNC_PERIOD)); + EXPECT_CALL(*vsyncTracker, nextAnticipatedVSyncTimeFrom(_)).WillRepeatedly(Return(0)); + mFlinger.setupScheduler(std::move(vsyncController), std::move(vsyncTracker), + std::move(eventThread), std::move(sfEventThread)); } namespace { @@ -283,6 +269,3 @@ TEST_F(RefreshRateSelectionTest, testPriorityOnEffectLayers) { } // namespace } // namespace android - -// TODO(b/129481165): remove the #pragma below and fix conversion issues -#pragma clang diagnostic pop // ignored "-Wconversion" |