Loading services/surfaceflinger/CompositionEngine/include/compositionengine/mock/LayerFE.h +11 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,18 @@ namespace android::compositionengine::mock { // Defines the interface used by the CompositionEngine to make requests // of the front-end layer. class LayerFE : public compositionengine::LayerFE { public: private: // Making the constructor private as this class implements RefBase, // and constructing it with a different way than sp<LayerFE>::make() causes // a memory leak of the shared state. LayerFE(); // friends class to allow instantiation via sp<LayerFE>::make() and // sp<StrictMock<LayerFE>>::make() friend class sp<LayerFE>; friend class testing::StrictMock<LayerFE>; public: virtual ~LayerFE(); MOCK_CONST_METHOD0(getCompositionState, const LayerFECompositionState*()); Loading services/surfaceflinger/CompositionEngine/tests/CompositionEngineTest.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -203,9 +203,9 @@ TEST_F(CompositionEngineUpdateCursorAsyncTest, handlesMultipleLayersBeingCursorL */ struct CompositionTestPreComposition : public CompositionEngineTest { sp<StrictMock<mock::LayerFE>> mLayer1FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> mLayer2FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> mLayer3FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> mLayer1FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> mLayer2FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> mLayer3FE = sp<StrictMock<mock::LayerFE>>::make(); }; TEST_F(CompositionTestPreComposition, preCompositionSetsFrameTimestamp) { Loading services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ struct Layer { EXPECT_CALL(*outputLayer, getHwcLayer()).WillRepeatedly(Return(&hwc2Layer)); } sp<mock::LayerFE> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); StrictMock<mock::OutputLayer>* outputLayer = new StrictMock<mock::OutputLayer>(); StrictMock<HWC2::mock::Layer> hwc2Layer; }; Loading @@ -85,7 +85,7 @@ struct LayerNoHWC2Layer { EXPECT_CALL(*outputLayer, getHwcLayer()).WillRepeatedly(Return(nullptr)); } sp<mock::LayerFE> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); StrictMock<mock::OutputLayer>* outputLayer = new StrictMock<mock::OutputLayer>(); }; Loading Loading @@ -469,7 +469,7 @@ TEST_F(DisplayCreateRenderSurfaceTest, setsRenderSurface) { using DisplayCreateOutputLayerTest = FullDisplayImplTestCommon; TEST_F(DisplayCreateOutputLayerTest, setsHwcLayer) { sp<mock::LayerFE> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); auto hwcLayer = std::make_shared<StrictMock<HWC2::mock::Layer>>(); EXPECT_CALL(mHwComposer, createLayer(HalDisplayId(DEFAULT_DISPLAY_ID))) Loading services/surfaceflinger/CompositionEngine/tests/OutputLayerTest.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -109,8 +109,8 @@ struct OutputLayerTest : public testing::Test { } compositionengine::mock::Output mOutput; sp<compositionengine::mock::LayerFE> mLayerFE{ new StrictMock<compositionengine::mock::LayerFE>()}; sp<StrictMock<compositionengine::mock::LayerFE>> mLayerFE = sp<StrictMock<compositionengine::mock::LayerFE>>::make(); OutputLayer mOutputLayer{mOutput, mLayerFE}; LayerFECompositionState mLayerFEState; Loading services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp +9 −9 Original line number Diff line number Diff line Loading @@ -106,7 +106,7 @@ struct InjectedLayer { } mock::OutputLayer* outputLayer = {new StrictMock<mock::OutputLayer>}; sp<StrictMock<mock::LayerFE>> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); LayerFECompositionState layerFEState; impl::OutputLayerCompositionState outputLayerState; }; Loading @@ -123,7 +123,7 @@ struct NonInjectedLayer { } mock::OutputLayer outputLayer; sp<StrictMock<mock::LayerFE>> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); LayerFECompositionState layerFEState; impl::OutputLayerCompositionState outputLayerState; }; Loading Loading @@ -722,9 +722,9 @@ TEST_F(OutputTest, getOutputLayerForLayerWorks) { using OutputSetReleasedLayersTest = OutputTest; TEST_F(OutputSetReleasedLayersTest, setReleasedLayersTakesGivenLayers) { sp<StrictMock<mock::LayerFE>> layer1FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layer2FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layer3FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layer1FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> layer2FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> layer3FE = sp<StrictMock<mock::LayerFE>>::make(); Output::ReleasedLayers layers; layers.push_back(layer1FE); Loading Loading @@ -1209,7 +1209,7 @@ struct OutputCollectVisibleLayersTest : public testing::Test { StrictMock<mock::OutputLayer> outputLayer; impl::OutputLayerCompositionState outputLayerState; sp<StrictMock<mock::LayerFE>> layerFE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); }; OutputCollectVisibleLayersTest() { Loading Loading @@ -2987,9 +2987,9 @@ TEST_F(OutputPostFramebufferTest, releasedLayersSentPresentFence) { EXPECT_CALL(mOutput, getOutputLayerCount()).WillOnce(Return(0u)); // Load up the released layers with some mock instances sp<StrictMock<mock::LayerFE>> releasedLayer1{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> releasedLayer2{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> releasedLayer3{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> releasedLayer1 = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> releasedLayer2 = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> releasedLayer3 = sp<StrictMock<mock::LayerFE>>::make(); Output::ReleasedLayers layers; layers.push_back(releasedLayer1); layers.push_back(releasedLayer2); Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/mock/LayerFE.h +11 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,18 @@ namespace android::compositionengine::mock { // Defines the interface used by the CompositionEngine to make requests // of the front-end layer. class LayerFE : public compositionengine::LayerFE { public: private: // Making the constructor private as this class implements RefBase, // and constructing it with a different way than sp<LayerFE>::make() causes // a memory leak of the shared state. LayerFE(); // friends class to allow instantiation via sp<LayerFE>::make() and // sp<StrictMock<LayerFE>>::make() friend class sp<LayerFE>; friend class testing::StrictMock<LayerFE>; public: virtual ~LayerFE(); MOCK_CONST_METHOD0(getCompositionState, const LayerFECompositionState*()); Loading
services/surfaceflinger/CompositionEngine/tests/CompositionEngineTest.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -203,9 +203,9 @@ TEST_F(CompositionEngineUpdateCursorAsyncTest, handlesMultipleLayersBeingCursorL */ struct CompositionTestPreComposition : public CompositionEngineTest { sp<StrictMock<mock::LayerFE>> mLayer1FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> mLayer2FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> mLayer3FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> mLayer1FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> mLayer2FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> mLayer3FE = sp<StrictMock<mock::LayerFE>>::make(); }; TEST_F(CompositionTestPreComposition, preCompositionSetsFrameTimestamp) { Loading
services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ struct Layer { EXPECT_CALL(*outputLayer, getHwcLayer()).WillRepeatedly(Return(&hwc2Layer)); } sp<mock::LayerFE> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); StrictMock<mock::OutputLayer>* outputLayer = new StrictMock<mock::OutputLayer>(); StrictMock<HWC2::mock::Layer> hwc2Layer; }; Loading @@ -85,7 +85,7 @@ struct LayerNoHWC2Layer { EXPECT_CALL(*outputLayer, getHwcLayer()).WillRepeatedly(Return(nullptr)); } sp<mock::LayerFE> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); StrictMock<mock::OutputLayer>* outputLayer = new StrictMock<mock::OutputLayer>(); }; Loading Loading @@ -469,7 +469,7 @@ TEST_F(DisplayCreateRenderSurfaceTest, setsRenderSurface) { using DisplayCreateOutputLayerTest = FullDisplayImplTestCommon; TEST_F(DisplayCreateOutputLayerTest, setsHwcLayer) { sp<mock::LayerFE> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); auto hwcLayer = std::make_shared<StrictMock<HWC2::mock::Layer>>(); EXPECT_CALL(mHwComposer, createLayer(HalDisplayId(DEFAULT_DISPLAY_ID))) Loading
services/surfaceflinger/CompositionEngine/tests/OutputLayerTest.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -109,8 +109,8 @@ struct OutputLayerTest : public testing::Test { } compositionengine::mock::Output mOutput; sp<compositionengine::mock::LayerFE> mLayerFE{ new StrictMock<compositionengine::mock::LayerFE>()}; sp<StrictMock<compositionengine::mock::LayerFE>> mLayerFE = sp<StrictMock<compositionengine::mock::LayerFE>>::make(); OutputLayer mOutputLayer{mOutput, mLayerFE}; LayerFECompositionState mLayerFEState; Loading
services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp +9 −9 Original line number Diff line number Diff line Loading @@ -106,7 +106,7 @@ struct InjectedLayer { } mock::OutputLayer* outputLayer = {new StrictMock<mock::OutputLayer>}; sp<StrictMock<mock::LayerFE>> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); LayerFECompositionState layerFEState; impl::OutputLayerCompositionState outputLayerState; }; Loading @@ -123,7 +123,7 @@ struct NonInjectedLayer { } mock::OutputLayer outputLayer; sp<StrictMock<mock::LayerFE>> layerFE = new StrictMock<mock::LayerFE>(); sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); LayerFECompositionState layerFEState; impl::OutputLayerCompositionState outputLayerState; }; Loading Loading @@ -722,9 +722,9 @@ TEST_F(OutputTest, getOutputLayerForLayerWorks) { using OutputSetReleasedLayersTest = OutputTest; TEST_F(OutputSetReleasedLayersTest, setReleasedLayersTakesGivenLayers) { sp<StrictMock<mock::LayerFE>> layer1FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layer2FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layer3FE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layer1FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> layer2FE = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> layer3FE = sp<StrictMock<mock::LayerFE>>::make(); Output::ReleasedLayers layers; layers.push_back(layer1FE); Loading Loading @@ -1209,7 +1209,7 @@ struct OutputCollectVisibleLayersTest : public testing::Test { StrictMock<mock::OutputLayer> outputLayer; impl::OutputLayerCompositionState outputLayerState; sp<StrictMock<mock::LayerFE>> layerFE{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> layerFE = sp<StrictMock<mock::LayerFE>>::make(); }; OutputCollectVisibleLayersTest() { Loading Loading @@ -2987,9 +2987,9 @@ TEST_F(OutputPostFramebufferTest, releasedLayersSentPresentFence) { EXPECT_CALL(mOutput, getOutputLayerCount()).WillOnce(Return(0u)); // Load up the released layers with some mock instances sp<StrictMock<mock::LayerFE>> releasedLayer1{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> releasedLayer2{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> releasedLayer3{new StrictMock<mock::LayerFE>()}; sp<StrictMock<mock::LayerFE>> releasedLayer1 = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> releasedLayer2 = sp<StrictMock<mock::LayerFE>>::make(); sp<StrictMock<mock::LayerFE>> releasedLayer3 = sp<StrictMock<mock::LayerFE>>::make(); Output::ReleasedLayers layers; layers.push_back(releasedLayer1); layers.push_back(releasedLayer2); Loading