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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/crash/CrashFileManagerTest.java

Issue 1141283003: Upstream oodles of Chrome for Android code into Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final patch? Created 5 years, 7 months 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/crash/CrashFileManagerTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/crash/CrashFileManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/crash/CrashFileManagerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..6d904891318c78418fec680156cf8e559adb260b
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/crash/CrashFileManagerTest.java
@@ -0,0 +1,175 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.crash;
+
+import android.test.suitebuilder.annotation.SmallTest;
+
+import org.chromium.base.annotations.SuppressFBWarnings;
+import org.chromium.base.test.util.Feature;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/**
+ * Unittests for {@link CrashFileManager}.
+ */
+public class CrashFileManagerTest extends CrashTestCase {
+ private static final int TEST_PID = 23;
+
+ private File mTmpFile1;
+ private File mTmpFile2;
+
+ private File mDmpFile1;
+ private File mDmpFile2;
+
+ private File mUpFile1;
+ private File mUpFile2;
+
+ @SuppressFBWarnings("RV_RETURN_VALUE_IGNORED_BAD_PRACTICE")
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ // The following files will be deleted in CrashTestCase#tearDown().
+ mTmpFile1 = new File(mCrashDir, "12345ABCDE" + CrashFileManager.TMP_SUFFIX);
+ mTmpFile1.createNewFile();
+
+ mTmpFile2 = new File(mCrashDir, "abcde12345" + CrashFileManager.TMP_SUFFIX);
+ mTmpFile2.createNewFile();
+
+ mDmpFile1 = new File(mCrashDir, "123_abc.dmp0");
+ mDmpFile1.createNewFile();
+
+ mDmpFile2 = new File(mCrashDir, "chromium-renderer_abc.dmp" + TEST_PID);
+ mDmpFile2.createNewFile();
+
+ mUpFile1 = new File(mCrashDir, "123_abcd.up0");
+ mUpFile1.createNewFile();
+
+ mUpFile2 = new File(mCrashDir, "chromium-renderer_abcd.up" + TEST_PID);
+ mUpFile2.createNewFile();
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testCrashFileManagerWithNull() {
+ try {
+ new CrashFileManager(null);
+ fail("Constructor should throw NullPointerException with null context.");
+ } catch (NullPointerException npe) {
+ return;
+ }
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testGetMatchingFiles() {
+ CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
+ // Three files begin with 123.
+ File[] expectedFiles = new File[] { mTmpFile1, mDmpFile1, mUpFile1 };
+ Pattern testPattern = Pattern.compile("^123");
+ File[] actualFiles = crashFileManager.getMatchingFiles(testPattern);
+ assertNotNull(actualFiles);
+ assertEquals(expectedFiles.length, actualFiles.length);
+ for (int i = 0; i < expectedFiles.length; i++) {
+ // Test to see if files are properly ordered.
+ assertEquals(expectedFiles[i], actualFiles[i]);
+ }
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testGetAllMinidumpFilesSorted() {
+ CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
+ File[] expectedFiles = new File[] {mDmpFile1, mDmpFile2};
+ File[] actualFiles = crashFileManager.getAllMinidumpFilesSorted();
+ assertNotNull(actualFiles);
+ assertEquals(expectedFiles.length, actualFiles.length);
+ for (int i = 0; i < expectedFiles.length; i++) {
+ // Test to see if files are properly ordered.
+ assertEquals(expectedFiles[i], actualFiles[i]);
+ }
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testGetCrashDirectory() {
+ CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
+ File actualFile = crashFileManager.getCrashDirectory();
+ assertTrue(actualFile.isDirectory());
+ assertEquals(mCrashDir, actualFile);
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testDeleteFile() {
+ assertTrue(CrashFileManager.deleteFile(mTmpFile1));
+ assertFalse(mTmpFile1.exists());
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testGetAllMinidumpFiles() {
+ CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
+ File[] expectedFiles = new File[] { mDmpFile1, mDmpFile2 };
+ File[] actualFiles = crashFileManager.getAllMinidumpFiles();
+ assertNotNull(actualFiles);
+ assertEquals(expectedFiles.length, actualFiles.length);
+ for (int i = 0; i < expectedFiles.length; i++) {
+ // Test to see if files are properly ordered.
+ assertEquals(expectedFiles[i], actualFiles[i]);
+ }
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testGetAllUploadedFiles() {
+ CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
+ File[] expectedFiles = new File[] { mUpFile1, mUpFile2 };
+ File[] actualFiles = crashFileManager.getAllUploadedFiles();
+ assertNotNull(actualFiles);
+ assertEquals(expectedFiles.length, actualFiles.length);
+ for (int i = 0; i < expectedFiles.length; i++) {
+ // Test to see if files are properly ordered.
+ assertEquals(expectedFiles[i], actualFiles[i]);
+ }
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testAttemptNumber() {
+ assertEquals(0, CrashFileManager.readAttemptNumber("file.dmp"));
+ assertEquals(0, CrashFileManager.readAttemptNumber(".try"));
+ assertEquals(0, CrashFileManager.readAttemptNumber("try1"));
+ assertEquals(1, CrashFileManager.readAttemptNumber("file.try1.dmp"));
+ assertEquals(1, CrashFileManager.readAttemptNumber("file.dmp.try1"));
+ assertEquals(2, CrashFileManager.readAttemptNumber(".try2"));
+ assertEquals(2, CrashFileManager.readAttemptNumber("file.try2.dmp"));
+ assertEquals(2, CrashFileManager.readAttemptNumber("file.dmp.try2"));
+ assertEquals(2, CrashFileManager.readAttemptNumber(".try2"));
+ assertEquals(0, CrashFileManager.readAttemptNumber("file.tryN.dmp"));
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testAttemptNumberRename() {
+ assertEquals("file.dmp.try1", CrashFileManager.incrementAttemptNumber("file.dmp"));
+ assertEquals("f.dmp.try2", CrashFileManager.incrementAttemptNumber("f.dmp.try1"));
+ assertEquals("f.dmp.try20", CrashFileManager.incrementAttemptNumber("f.dmp.try10"));
+ assertEquals("f.try2.dmp", CrashFileManager.incrementAttemptNumber("f.try1.dmp"));
+ assertEquals("f.tryN.dmp.try1", CrashFileManager.incrementAttemptNumber("f.tryN.dmp"));
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testCleanAllMiniDumps() {
+ assertEquals(6, mCrashDir.listFiles().length);
+
+ CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
+ crashFileManager.cleanAllMiniDumps();
+
+ assertEquals(0, mCrashDir.listFiles().length);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698