Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(949)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageSavePageLaterEvaluationTest.java

Issue 2563843003: [Offline Pages] Adding batch scheduling to test harness. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/android/offline_pages/evaluation/run_offline_page_evaluation_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 ca6efb90301fa66a644ecd172a0127a64707f521..815e24accbf8e22846000752e7da9ca9ef00156e 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
@@ -94,6 +94,7 @@ public class OfflinePageSavePageLaterEvaluationTest
private int mCount;
private boolean mIsUserRequested;
private boolean mUseTestScheduler;
+ private int mScheduleBatchSize;
private LongSparseArray<RequestMetadata> mRequestMetadata;
@@ -182,8 +183,7 @@ public class OfflinePageSavePageLaterEvaluationTest
}
}
}
- }
- if (!externalArchiveDir.mkdir()) {
+ } else if (!externalArchiveDir.mkdir()) {
log("Cannot create directory on external storage to store saved pages.");
}
} catch (SecurityException e) {
@@ -257,7 +257,9 @@ public class OfflinePageSavePageLaterEvaluationTest
checkTrue(mUrls != null, "URLs weren't loaded.");
checkTrue(mUrls.size() > 0, "No valid URLs in the input file.");
- mCompletionLatch = new CountDownLatch(1);
+ if (mScheduleBatchSize == 0) {
+ mScheduleBatchSize = mUrls.size();
+ }
initializeBridgeForProfile(useCustomScheduler);
mObserver = new OfflinePageEvaluationObserver() {
@@ -276,9 +278,13 @@ public class OfflinePageSavePageLaterEvaluationTest
metadata.mTimeDelta.setEndTime(System.currentTimeMillis());
if (metadata.mStatus == -1) {
mCount++;
+ } else {
+ log("The request for url: " + metadata.mUrl
+ + " has more than one completion callbacks!");
+ log("Previous status: " + metadata.mStatus + ". Current: " + status);
}
metadata.mStatus = status;
- if (mCount == mUrls.size()) {
+ if (mCount == mUrls.size() || mCount % mScheduleBatchSize == 0) {
mCompletionLatch.countDown();
return;
}
@@ -315,11 +321,16 @@ public class OfflinePageSavePageLaterEvaluationTest
fail("Test initialization error, aborting. No results would be written.");
return;
}
- for (String url : mUrls) {
- savePageLater(url, NAMESPACE);
+ int count = 0;
+ for (int i = 0; i < mUrls.size(); i++) {
+ savePageLater(mUrls.get(i), NAMESPACE);
+ count++;
+ if (count == mScheduleBatchSize || i == mUrls.size() - 1) {
+ count = 0;
+ mCompletionLatch = new CountDownLatch(1);
+ mCompletionLatch.await();
+ }
}
-
- mCompletionLatch.await();
writeResults();
}
@@ -465,6 +476,7 @@ public class OfflinePageSavePageLaterEvaluationTest
properties.load(inputStream);
mIsUserRequested = Boolean.parseBoolean(properties.getProperty("IsUserRequested"));
mUseTestScheduler = Boolean.parseBoolean(properties.getProperty("UseTestScheduler"));
+ mScheduleBatchSize = Integer.parseInt(properties.getProperty("ScheduleBatchSize"));
} catch (FileNotFoundException e) {
Log.e(TAG, e.getMessage(), e);
fail(String.format(
« no previous file with comments | « no previous file | chrome/browser/android/offline_pages/evaluation/run_offline_page_evaluation_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698