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

Side by Side 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.chrome.browser.crash;
6
7 import android.test.suitebuilder.annotation.SmallTest;
8
9 import org.chromium.base.annotations.SuppressFBWarnings;
10 import org.chromium.base.test.util.Feature;
11
12 import java.io.File;
13 import java.util.regex.Pattern;
14
15 /**
16 * Unittests for {@link CrashFileManager}.
17 */
18 public class CrashFileManagerTest extends CrashTestCase {
19 private static final int TEST_PID = 23;
20
21 private File mTmpFile1;
22 private File mTmpFile2;
23
24 private File mDmpFile1;
25 private File mDmpFile2;
26
27 private File mUpFile1;
28 private File mUpFile2;
29
30 @SuppressFBWarnings("RV_RETURN_VALUE_IGNORED_BAD_PRACTICE")
31 @Override
32 protected void setUp() throws Exception {
33 super.setUp();
34
35 // The following files will be deleted in CrashTestCase#tearDown().
36 mTmpFile1 = new File(mCrashDir, "12345ABCDE" + CrashFileManager.TMP_SUFF IX);
37 mTmpFile1.createNewFile();
38
39 mTmpFile2 = new File(mCrashDir, "abcde12345" + CrashFileManager.TMP_SUFF IX);
40 mTmpFile2.createNewFile();
41
42 mDmpFile1 = new File(mCrashDir, "123_abc.dmp0");
43 mDmpFile1.createNewFile();
44
45 mDmpFile2 = new File(mCrashDir, "chromium-renderer_abc.dmp" + TEST_PID);
46 mDmpFile2.createNewFile();
47
48 mUpFile1 = new File(mCrashDir, "123_abcd.up0");
49 mUpFile1.createNewFile();
50
51 mUpFile2 = new File(mCrashDir, "chromium-renderer_abcd.up" + TEST_PID);
52 mUpFile2.createNewFile();
53 }
54
55 @SmallTest
56 @Feature({"Android-AppBase"})
57 public void testCrashFileManagerWithNull() {
58 try {
59 new CrashFileManager(null);
60 fail("Constructor should throw NullPointerException with null contex t.");
61 } catch (NullPointerException npe) {
62 return;
63 }
64 }
65
66 @SmallTest
67 @Feature({"Android-AppBase"})
68 public void testGetMatchingFiles() {
69 CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
70 // Three files begin with 123.
71 File[] expectedFiles = new File[] { mTmpFile1, mDmpFile1, mUpFile1 };
72 Pattern testPattern = Pattern.compile("^123");
73 File[] actualFiles = crashFileManager.getMatchingFiles(testPattern);
74 assertNotNull(actualFiles);
75 assertEquals(expectedFiles.length, actualFiles.length);
76 for (int i = 0; i < expectedFiles.length; i++) {
77 // Test to see if files are properly ordered.
78 assertEquals(expectedFiles[i], actualFiles[i]);
79 }
80 }
81
82 @SmallTest
83 @Feature({"Android-AppBase"})
84 public void testGetAllMinidumpFilesSorted() {
85 CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
86 File[] expectedFiles = new File[] {mDmpFile1, mDmpFile2};
87 File[] actualFiles = crashFileManager.getAllMinidumpFilesSorted();
88 assertNotNull(actualFiles);
89 assertEquals(expectedFiles.length, actualFiles.length);
90 for (int i = 0; i < expectedFiles.length; i++) {
91 // Test to see if files are properly ordered.
92 assertEquals(expectedFiles[i], actualFiles[i]);
93 }
94 }
95
96 @SmallTest
97 @Feature({"Android-AppBase"})
98 public void testGetCrashDirectory() {
99 CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
100 File actualFile = crashFileManager.getCrashDirectory();
101 assertTrue(actualFile.isDirectory());
102 assertEquals(mCrashDir, actualFile);
103 }
104
105 @SmallTest
106 @Feature({"Android-AppBase"})
107 public void testDeleteFile() {
108 assertTrue(CrashFileManager.deleteFile(mTmpFile1));
109 assertFalse(mTmpFile1.exists());
110 }
111
112 @SmallTest
113 @Feature({"Android-AppBase"})
114 public void testGetAllMinidumpFiles() {
115 CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
116 File[] expectedFiles = new File[] { mDmpFile1, mDmpFile2 };
117 File[] actualFiles = crashFileManager.getAllMinidumpFiles();
118 assertNotNull(actualFiles);
119 assertEquals(expectedFiles.length, actualFiles.length);
120 for (int i = 0; i < expectedFiles.length; i++) {
121 // Test to see if files are properly ordered.
122 assertEquals(expectedFiles[i], actualFiles[i]);
123 }
124 }
125
126 @SmallTest
127 @Feature({"Android-AppBase"})
128 public void testGetAllUploadedFiles() {
129 CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
130 File[] expectedFiles = new File[] { mUpFile1, mUpFile2 };
131 File[] actualFiles = crashFileManager.getAllUploadedFiles();
132 assertNotNull(actualFiles);
133 assertEquals(expectedFiles.length, actualFiles.length);
134 for (int i = 0; i < expectedFiles.length; i++) {
135 // Test to see if files are properly ordered.
136 assertEquals(expectedFiles[i], actualFiles[i]);
137 }
138 }
139
140 @SmallTest
141 @Feature({"Android-AppBase"})
142 public void testAttemptNumber() {
143 assertEquals(0, CrashFileManager.readAttemptNumber("file.dmp"));
144 assertEquals(0, CrashFileManager.readAttemptNumber(".try"));
145 assertEquals(0, CrashFileManager.readAttemptNumber("try1"));
146 assertEquals(1, CrashFileManager.readAttemptNumber("file.try1.dmp"));
147 assertEquals(1, CrashFileManager.readAttemptNumber("file.dmp.try1"));
148 assertEquals(2, CrashFileManager.readAttemptNumber(".try2"));
149 assertEquals(2, CrashFileManager.readAttemptNumber("file.try2.dmp"));
150 assertEquals(2, CrashFileManager.readAttemptNumber("file.dmp.try2"));
151 assertEquals(2, CrashFileManager.readAttemptNumber(".try2"));
152 assertEquals(0, CrashFileManager.readAttemptNumber("file.tryN.dmp"));
153 }
154
155 @SmallTest
156 @Feature({"Android-AppBase"})
157 public void testAttemptNumberRename() {
158 assertEquals("file.dmp.try1", CrashFileManager.incrementAttemptNumber("f ile.dmp"));
159 assertEquals("f.dmp.try2", CrashFileManager.incrementAttemptNumber("f.dm p.try1"));
160 assertEquals("f.dmp.try20", CrashFileManager.incrementAttemptNumber("f.d mp.try10"));
161 assertEquals("f.try2.dmp", CrashFileManager.incrementAttemptNumber("f.tr y1.dmp"));
162 assertEquals("f.tryN.dmp.try1", CrashFileManager.incrementAttemptNumber( "f.tryN.dmp"));
163 }
164
165 @SmallTest
166 @Feature({"Android-AppBase"})
167 public void testCleanAllMiniDumps() {
168 assertEquals(6, mCrashDir.listFiles().length);
169
170 CrashFileManager crashFileManager = new CrashFileManager(mCacheDir);
171 crashFileManager.cleanAllMiniDumps();
172
173 assertEquals(0, mCrashDir.listFiles().length);
174 }
175 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698