diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-04-09 13:16:11 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-04-09 13:16:11 +0000 |
| commit | deea3b84abc3a00a292ce9e4b853a1f8f1204e93 (patch) | |
| tree | 6b49de9a5df0c0fd9b4c77d31de0c84387d253a9 | |
| parent | 0997a32523a0295ab56e7c38b5683f11a1899677 (diff) | |
| parent | 0f9368cdc620d6a35f2341304d423824645dc54f (diff) | |
Merge "DisplayContentTests: Mark and improve flaky test" into pi-dev
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/wm/DisplayContentTests.java | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/services/tests/servicestests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/servicestests/src/com/android/server/wm/DisplayContentTests.java index 7f1bcac05ffe..845095ae19b9 100644 --- a/services/tests/servicestests/src/com/android/server/wm/DisplayContentTests.java +++ b/services/tests/servicestests/src/com/android/server/wm/DisplayContentTests.java @@ -46,6 +46,7 @@ import android.content.res.Configuration; import android.graphics.Rect; import android.os.SystemClock; import android.platform.test.annotations.Presubmit; +import android.support.test.filters.FlakyTest; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; import android.util.DisplayMetrics; @@ -56,7 +57,9 @@ import android.view.Surface; import com.android.server.wm.utils.WmDisplayCutout; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.LinkedList; import java.util.List; @@ -72,6 +75,7 @@ import java.util.List; public class DisplayContentTests extends WindowTestsBase { @Test + @FlakyTest(bugId = 77772044) public void testForAllWindows() throws Exception { final WindowState exitingAppWindow = createWindow(null, TYPE_BASE_APPLICATION, mDisplayContent, "exiting app"); @@ -495,24 +499,24 @@ public class DisplayContentTests extends WindowTestsBase { assertEquals(displayContent.mBaseDisplayDensity, expectedBaseDensity); } - private void assertForAllWindowsOrder(List<WindowState> expectedWindows) { - final LinkedList<WindowState> actualWindows = new LinkedList(); + private void assertForAllWindowsOrder(List<WindowState> expectedWindowsBottomToTop) { + final LinkedList<WindowState> actualWindows = new LinkedList<>(); // Test forward traversal. mDisplayContent.forAllWindows(actualWindows::addLast, false /* traverseTopToBottom */); - assertEquals(expectedWindows.size(), actualWindows.size()); - for (WindowState w : expectedWindows) { - assertEquals(w, actualWindows.pollFirst()); - } - assertTrue(actualWindows.isEmpty()); + assertThat("bottomToTop", actualWindows, is(expectedWindowsBottomToTop)); + + actualWindows.clear(); // Test backward traversal. mDisplayContent.forAllWindows(actualWindows::addLast, true /* traverseTopToBottom */); - assertEquals(expectedWindows.size(), actualWindows.size()); - for (WindowState w : expectedWindows) { - assertEquals(w, actualWindows.pollLast()); - } - assertTrue(actualWindows.isEmpty()); + assertThat("topToBottom", actualWindows, is(reverseList(expectedWindowsBottomToTop))); + } + + private static List<WindowState> reverseList(List<WindowState> list) { + final ArrayList<WindowState> result = new ArrayList<>(list); + Collections.reverse(result); + return result; } private MotionEvent createTapEvent(float x, float y, boolean isDownEvent) { |
