Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageSavePageLaterEvaluationTest.java |
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageSavePageLaterEvaluationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageSavePageLaterEvaluationTest.java |
| index 6abc5c0d48fe5f9948d21b7b2d297411df1baf65..48b4d9d74d08390902d67d43adfb2eb9329d0ebc 100644 |
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageSavePageLaterEvaluationTest.java |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageSavePageLaterEvaluationTest.java |
| @@ -82,6 +82,7 @@ public class OfflinePageSavePageLaterEvaluationTest |
| private static final String RESULT_OUTPUT_FILE_PATH = "paquete/offline_eval_results.txt"; |
| private static final int GET_PAGES_TIMEOUT_MS = 5000; |
| private static final int PAGE_MODEL_LOAD_TIMEOUT_MS = 5000; |
| + private static final int REMOVE_REQUESTS_TIMEOUT_MS = 5000; |
|
Pete Williamson
2016/11/07 23:45:26
Maybe allow a longer timeout. A svelte device mig
romax
2016/11/08 00:18:35
Done.
I've also updated the timeouts above.
|
| private OfflinePageEvaluationBridge mBridge; |
| private OfflinePageEvaluationObserver mObserver; |
| @@ -110,11 +111,34 @@ public class OfflinePageSavePageLaterEvaluationTest |
| @Override |
| protected void tearDown() throws Exception { |
| - super.tearDown(); |
| NotificationManager notificationManager = |
| (NotificationManager) ContextUtils.getApplicationContext().getSystemService( |
| Context.NOTIFICATION_SERVICE); |
| notificationManager.cancelAll(); |
| + final Semaphore mClearingSemaphore = new Semaphore(0); |
|
Pete Williamson
2016/11/07 23:45:26
I see where we decrement the count and release the
romax
2016/11/08 00:18:35
This is used as a way to block the thread until ti
Pete Williamson
2016/11/08 00:51:35
Ah, so it is only called once, not once per reques
|
| + ThreadUtils.runOnUiThread(new Runnable() { |
| + @Override |
| + public void run() { |
| + mBridge.getRequestsInQueue(new Callback<SavePageRequest[]>() { |
| + @Override |
| + public void onResult(SavePageRequest[] results) { |
| + ArrayList<Long> ids = new ArrayList<Long>(results.length); |
| + for (int i = 0; i < results.length; i++) { |
| + ids.add(results[i].getRequestId()); |
| + } |
| + mBridge.removeRequestsFromQueue(ids, new Callback<Integer>() { |
| + @Override |
| + public void onResult(Integer removedCount) { |
| + mClearingSemaphore.release(); |
| + } |
| + }); |
| + } |
| + }); |
| + } |
| + }); |
| + checkTrue(mClearingSemaphore.tryAcquire(REMOVE_REQUESTS_TIMEOUT_MS, TimeUnit.MILLISECONDS), |
| + "Timed out when clearing remaining requests!"); |
| + super.tearDown(); |
| } |
| @Override |