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

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

Issue 2493673003: [Offline Pages] Root access no more required by test harness. (Closed)
Patch Set: Created 4 years, 1 month 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
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..ffb44bfc9fd59047de94cd8d173887d67934a888 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
@@ -77,6 +77,7 @@ public class OfflinePageSavePageLaterEvaluationTest
private static final String NEW_LINE = System.getProperty("line.separator");
private static final String DELIMITER = ";";
private static final String CONFIG_FILE_PATH = "paquete/test_config";
+ private static final String SAVED_PAGES_EXTERNAL_PATH = "paquete/archives";
private static final String INPUT_FILE_PATH = "paquete/offline_eval_urls.txt";
private static final String LOG_OUTPUT_FILE_PATH = "paquete/offline_eval_logs.txt";
private static final String RESULT_OUTPUT_FILE_PATH = "paquete/offline_eval_results.txt";
@@ -141,6 +142,31 @@ public class OfflinePageSavePageLaterEvaluationTest
}
/**
+ * Get the directory on external storage for storing saved pages.
+ */
+ private File getExternalArchiveDir() {
+ File externalArchiveDir =
+ new File(Environment.getExternalStorageDirectory(), SAVED_PAGES_EXTERNAL_PATH);
+ try {
+ // Remove the old archive folder.
Pete Williamson 2016/11/10 02:00:33 Why remove the old folder? Maybe we should just e
romax 2016/11/10 02:45:55 Done.
+ if (externalArchiveDir.exists()) {
+ String[] files = externalArchiveDir.list();
+ for (String file : files) {
+ File currentFile = new File(externalArchiveDir.getPath(), file);
+ currentFile.delete();
+ }
+ externalArchiveDir.delete();
+ }
+ if (!externalArchiveDir.mkdir()) {
+ logError("Cannot create directory on external storage to store saved pages.");
+ }
+ } catch (SecurityException e) {
+ logError("Failed to delete or create external archive folder!");
+ }
+ return externalArchiveDir;
+ }
+
+ /**
* Logs error in both console and output file.
*/
private void logError(String error) {
@@ -148,6 +174,7 @@ public class OfflinePageSavePageLaterEvaluationTest
if (mLogOutput != null) {
try {
mLogOutput.write(error + NEW_LINE);
+ mLogOutput.flush();
} catch (Exception e) {
Log.e(TAG, e.getMessage(), e);
}
@@ -380,6 +407,7 @@ public class OfflinePageSavePageLaterEvaluationTest
if (!completed) {
logError("Test terminated before all requests completed.");
}
+ File externalArchiveDir = getExternalArchiveDir();
for (int i = 0; i < mRequestMetadata.size(); i++) {
RequestMetadata metadata = mRequestMetadata.valueAt(i);
long requestId = metadata.mId;
@@ -396,6 +424,12 @@ public class OfflinePageSavePageLaterEvaluationTest
output.write(metadata.mUrl + DELIMITER + statusToString(status) + DELIMITER
+ page.getFileSize() / 1000 + " KB" + DELIMITER
+ metadata.mTimeDelta.getTimeDelta() + NEW_LINE);
+ // Move the page to external storage.
+ File originalPage = new File(page.getFilePath());
+ File externalPage = new File(externalArchiveDir, originalPage.getName());
+ if (!OfflinePageUtils.copyToShareableLocation(originalPage, externalPage)) {
+ logError("Saved page for url " + page.getUrl() + " cannot be moved.");
+ }
}
output.write(String.format(
"Total requested URLs: %d, Completed: %d, Failed: %d, Failure Rate: %.2f%%"

Powered by Google App Engine
This is Rietveld 408576698