From 553db7241a6bcef2284cf54955730b14306ad237 Mon Sep 17 00:00:00 2001 From: "Garfield, Tan" Date: Wed, 8 Jun 2016 12:07:11 -0700 Subject: [PATCH] Ensure thumbnail cache test suite is running on main thread. Change-Id: I7e54ed76dac22966f4faff34c7653e8a7f0cb380 (cherry picked from commit f17b27a7a5f0872a08801c5edbd33999423d804e) --- .../documentsui/ThumbnailCacheTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/ThumbnailCacheTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/ThumbnailCacheTest.java index dda4918475914..a6951cfc216be 100644 --- a/packages/DocumentsUI/tests/src/com/android/documentsui/ThumbnailCacheTest.java +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/ThumbnailCacheTest.java @@ -25,13 +25,16 @@ import android.content.ComponentCallbacks2; import android.graphics.Bitmap; import android.graphics.Point; import android.net.Uri; +import android.support.test.annotation.UiThreadTest; import android.support.test.filters.SmallTest; +import android.support.test.rule.UiThreadTestRule; import android.support.test.runner.AndroidJUnit4; import com.android.documentsui.ThumbnailCache.Result; import com.android.documentsui.testing.Bitmaps; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -52,6 +55,11 @@ public class ThumbnailCacheTest { private static final long LAST_MODIFIED = 100; + // We need this rule to help us run tests in main thread. It'll be applied to each test + // annotated with @UiThreadTest. + @Rule + public UiThreadTestRule uiThreadRule = new UiThreadTestRule(); + private static final int CACHE_SIZE_LIMIT = MIDSIZE_BITMAP.getByteCount() + LARGE_BITMAP.getByteCount(); @@ -63,6 +71,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testMiss() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); @@ -72,6 +81,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testHit_Exact() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); @@ -82,6 +92,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testHit_Smaller() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); @@ -92,6 +103,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testHit_Larger() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); @@ -102,6 +114,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testHit_Larger_HasBothSize() { mCache.putThumbnail(URI_0, LARGE_SIZE, LARGE_BITMAP, LAST_MODIFIED); mCache.putThumbnail(URI_0, SMALL_SIZE, SMALL_BITMAP, LAST_MODIFIED); @@ -113,6 +126,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testHit_Exact_MultiplePut() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); @@ -127,6 +141,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testHit_EqualLastModified() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); @@ -136,6 +151,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testEvictOldest_SizeExceeded() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); mCache.putThumbnail(URI_1, SMALL_SIZE, SMALL_BITMAP, LAST_MODIFIED); @@ -147,6 +163,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testCacheShrink_OnTrimMemory_Moderate() { mCache.putThumbnail(URI_0, MID_SIZE, MIDSIZE_BITMAP, LAST_MODIFIED); mCache.putThumbnail(URI_0, SMALL_SIZE, SMALL_BITMAP, LAST_MODIFIED); @@ -159,6 +176,7 @@ public class ThumbnailCacheTest { } @Test + @UiThreadTest public void testCacheShrink_OnTrimMemory_Background() { mCache.putThumbnail(URI_0, LARGE_SIZE, LARGE_BITMAP, LAST_MODIFIED); mCache.putThumbnail(URI_0, SMALL_SIZE, SMALL_BITMAP, LAST_MODIFIED);