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

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: fix 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
« 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 6abc5c0d48fe5f9948d21b7b2d297411df1baf65..cd86a13e8b58c8f5b4ad37fae9c32d1c513c2018 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,34 @@ 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 {
+ // Clear the old archive folder.
+ if (externalArchiveDir.exists()) {
+ String[] files = externalArchiveDir.list();
+ if (files != null) {
+ for (String file : files) {
+ File currentFile = new File(externalArchiveDir.getPath(), file);
+ if (!currentFile.delete()) {
+ logError(file + " cannot be deleted when clearing previous archives.");
+ }
+ }
+ }
+ }
+ 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 +177,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 +410,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 +427,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 if external archive exists.
Pete Williamson 2016/11/12 01:50:27 Should we create the external storage folder if it
+ 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%%"
« 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