diff options
| author | 2020-11-24 13:35:45 -0500 | |
|---|---|---|
| committer | 2020-11-24 13:35:45 -0500 | |
| commit | 53eaccb6988a4254bc8914b6f054df8c31dc7cd9 (patch) | |
| tree | 75eb220d72813f94131dade12c3ab05ee964019f | |
| parent | be41f05db49ef724da8fbc6eefeaad310e1be3fc (diff) | |
Fix race condition in releasedCallback test
WebViewFunctor::~Handle() does a post() to renderthread for
destruction. So the test needs to fence after the last sync to ensure
the posted message is processed before proceeding.
Fixes: 173156648
Test: hwuiunit --gtest_repeat=10000 --gtest_filter=RenderNode.releasedCallback --gtest_break_on_failure
Change-Id: I71d21cde43db3f689788e1d0685b30f9e6fdec15
| -rw-r--r-- | libs/hwui/tests/unit/RenderNodeTests.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/hwui/tests/unit/RenderNodeTests.cpp b/libs/hwui/tests/unit/RenderNodeTests.cpp index c19e1ed6ce75..4659a929a9eb 100644 --- a/libs/hwui/tests/unit/RenderNodeTests.cpp +++ b/libs/hwui/tests/unit/RenderNodeTests.cpp @@ -264,6 +264,8 @@ TEST(RenderNode, releasedCallback) { TestUtils::runOnRenderThreadUnmanaged([&] (RenderThread&) { TestUtils::syncHierarchyPropertiesAndDisplayList(node); }); + // Fence on any remaining post'd work + TestUtils::runOnRenderThreadUnmanaged([] (RenderThread&) {}); EXPECT_EQ(2, counts.sync); EXPECT_EQ(1, counts.destroyed); } |