summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alec Mouri <alecmouri@google.com> 2023-11-10 19:40:28 +0000
committer Alec Mouri <alecmouri@google.com> 2023-11-10 19:43:54 +0000
commitd0f108ebb7b2b64d42dcd329c6773df0170060b5 (patch)
treeea4d2ad2e4c383bc5d17bd732d85237deb3498f4
parentf4d5f265230549d60a6dda6c90f304438a3e76b9 (diff)
Fix flattenLayers_ActiveLayersWithLowFpsAreFlattened
This test crashes on some devices, due to incorrect set up order in the test. Specifically, the incoming layers were configured as inactive too early, meaning that setting up the flattener state triggered RenderEngine expectations that were not yet mocked, which results in UB. Bug: 307776985 Test: libcompositionengine_test Change-Id: I75096c0d043f02f5837a83d0f48053e3cd151691
-rw-r--r--services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp b/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp
index 00590e66cb..d9318af371 100644
--- a/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp
+++ b/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp
@@ -223,9 +223,6 @@ TEST_F(FlattenerTest, flattenLayers_ActiveLayersAreNotFlattened) {
}
TEST_F(FlattenerTest, flattenLayers_ActiveLayersWithLowFpsAreFlattened) {
- mTestLayers[0]->layerFECompositionState.fps = Flattener::kFpsActiveThreshold / 2;
- mTestLayers[1]->layerFECompositionState.fps = Flattener::kFpsActiveThreshold;
-
auto& layerState1 = mTestLayers[0]->layerState;
auto& layerState2 = mTestLayers[1]->layerState;
@@ -235,6 +232,10 @@ TEST_F(FlattenerTest, flattenLayers_ActiveLayersWithLowFpsAreFlattened) {
};
initializeFlattener(layers);
+
+ mTestLayers[0]->layerFECompositionState.fps = Flattener::kFpsActiveThreshold / 2;
+ mTestLayers[1]->layerFECompositionState.fps = Flattener::kFpsActiveThreshold;
+
expectAllLayersFlattened(layers);
}