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

Side by Side Diff: components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/CrashFileManagerTest.java

Issue 2751903002: [Android Crash Reporting] Correct the regex for uploaded minidump filenames. (Closed)
Patch Set: Created 3 years, 9 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
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.components.minidump_uploader; 5 package org.chromium.components.minidump_uploader;
6 6
7 import static org.junit.Assert.assertArrayEquals; 7 import static org.junit.Assert.assertArrayEquals;
8 8
9 import android.os.ParcelFileDescriptor; 9 import android.os.ParcelFileDescriptor;
10 import android.support.test.filters.MediumTest; 10 import android.support.test.filters.MediumTest;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 mTmpFile3 = new File(mCrashDir, "abcdefghi" + CrashFileManager.TMP_SUFFI X); 74 mTmpFile3 = new File(mCrashDir, "abcdefghi" + CrashFileManager.TMP_SUFFI X);
75 mTmpFile3.createNewFile(); 75 mTmpFile3.createNewFile();
76 mTmpFile3.setLastModified(mModificationTimestamp); 76 mTmpFile3.setLastModified(mModificationTimestamp);
77 mModificationTimestamp += 1000; 77 mModificationTimestamp += 1000;
78 78
79 mDmpFile1 = new File(mCrashDir, "123_abc.dmp0"); 79 mDmpFile1 = new File(mCrashDir, "123_abc.dmp0");
80 mDmpFile1.createNewFile(); 80 mDmpFile1.createNewFile();
81 mDmpFile1.setLastModified(mModificationTimestamp); 81 mDmpFile1.setLastModified(mModificationTimestamp);
82 mModificationTimestamp += 1000; 82 mModificationTimestamp += 1000;
83 83
84 mDmpFile2 = new File(mCrashDir, "chromium-renderer_abc.dmp" + TEST_PID); 84 mDmpFile2 = new File(mCrashDir, "chromium-renderer_abc.dmp" + TEST_PID + ".try1");
85 mDmpFile2.createNewFile(); 85 mDmpFile2.createNewFile();
86 mDmpFile2.setLastModified(mModificationTimestamp); 86 mDmpFile2.setLastModified(mModificationTimestamp);
87 mModificationTimestamp += 1000; 87 mModificationTimestamp += 1000;
88 88
89 mOneBelowMaxTriesFile = new File(mCrashDir, 89 mOneBelowMaxTriesFile = new File(mCrashDir,
90 "chromium-renderer_abc.dmp" + TEST_PID + ".try" + (MAX_TRIES_ALL OWED - 1)); 90 "chromium-renderer_abc.dmp" + TEST_PID + ".try" + (MAX_TRIES_ALL OWED - 1));
91 mOneBelowMaxTriesFile.createNewFile(); 91 mOneBelowMaxTriesFile.createNewFile();
92 mOneBelowMaxTriesFile.setLastModified(mModificationTimestamp); 92 mOneBelowMaxTriesFile.setLastModified(mModificationTimestamp);
93 mModificationTimestamp += 1000; 93 mModificationTimestamp += 1000;
94 94
(...skipping 13 matching lines...) Expand all
108 "chromium-renderer_abc.dmp" + TEST_PID + ".try" + MULTI_DIGIT_MA X_TRIES_ALLOWED); 108 "chromium-renderer_abc.dmp" + TEST_PID + ".try" + MULTI_DIGIT_MA X_TRIES_ALLOWED);
109 mMultiDigitMaxTriesFile.createNewFile(); 109 mMultiDigitMaxTriesFile.createNewFile();
110 mMultiDigitMaxTriesFile.setLastModified(mModificationTimestamp); 110 mMultiDigitMaxTriesFile.setLastModified(mModificationTimestamp);
111 mModificationTimestamp += 1000; 111 mModificationTimestamp += 1000;
112 112
113 mUpFile1 = new File(mCrashDir, "123_abcd.up0"); 113 mUpFile1 = new File(mCrashDir, "123_abcd.up0");
114 mUpFile1.createNewFile(); 114 mUpFile1.createNewFile();
115 mUpFile1.setLastModified(mModificationTimestamp); 115 mUpFile1.setLastModified(mModificationTimestamp);
116 mModificationTimestamp += 1000; 116 mModificationTimestamp += 1000;
117 117
118 mUpFile2 = new File(mCrashDir, "chromium-renderer_abcd.up" + TEST_PID); 118 mUpFile2 = new File(mCrashDir, "chromium-renderer_abcd.up" + TEST_PID + ".try0");
119 mUpFile2.createNewFile(); 119 mUpFile2.createNewFile();
120 mUpFile2.setLastModified(mModificationTimestamp); 120 mUpFile2.setLastModified(mModificationTimestamp);
121 mModificationTimestamp += 1000; 121 mModificationTimestamp += 1000;
122 122
123 mLogfile = new File(mCrashDir, CrashFileManager.CRASH_DUMP_LOGFILE); 123 mLogfile = new File(mCrashDir, CrashFileManager.CRASH_DUMP_LOGFILE);
124 mLogfile.createNewFile(); 124 mLogfile.createNewFile();
125 mLogfile.setLastModified(mModificationTimestamp); 125 mLogfile.setLastModified(mModificationTimestamp);
126 mModificationTimestamp += 1000; 126 mModificationTimestamp += 1000;
127 } 127 }
128 128
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 assertEquals("file.forced0.try0", 315 assertEquals("file.forced0.try0",
316 CrashFileManager.filenameWithForcedUploadState("file.forced0.try 3")); 316 CrashFileManager.filenameWithForcedUploadState("file.forced0.try 3"));
317 } 317 }
318 318
319 @SmallTest 319 @SmallTest
320 @Feature({"Android-AppBase"}) 320 @Feature({"Android-AppBase"})
321 public void testMarkUploadSuccess() { 321 public void testMarkUploadSuccess() {
322 CrashFileManager.markUploadSuccess(mDmpFile1); 322 CrashFileManager.markUploadSuccess(mDmpFile1);
323 assertFalse(mDmpFile1.exists()); 323 assertFalse(mDmpFile1.exists());
324 assertTrue(new File(mCrashDir, "123_abc.up0").exists()); 324 assertTrue(new File(mCrashDir, "123_abc.up0").exists());
325
326 CrashFileManager.markUploadSuccess(mDmpFile2);
327 assertFalse(mDmpFile2.exists());
328 assertTrue(new File(mCrashDir, "chromium-renderer_abc.up" + TEST_PID + " .try1").exists());
325 } 329 }
326 330
327 @SuppressFBWarnings("RV_RETURN_VALUE_IGNORED_BAD_PRACTICE") 331 @SuppressFBWarnings("RV_RETURN_VALUE_IGNORED_BAD_PRACTICE")
328 @SmallTest 332 @SmallTest
329 @Feature({"Android-AppBase"}) 333 @Feature({"Android-AppBase"})
330 public void testMarkUploadSuccess_ForcedUpload() throws IOException { 334 public void testMarkUploadSuccess_ForcedUpload() throws IOException {
331 File forced = new File(mCrashDir, "123_abc.forced0"); 335 File forced = new File(mCrashDir, "123_abc.forced" + TEST_PID + ".try0") ;
332 forced.createNewFile(); 336 forced.createNewFile();
333 CrashFileManager.markUploadSuccess(forced); 337 CrashFileManager.markUploadSuccess(forced);
334 assertFalse(forced.exists()); 338 assertFalse(forced.exists());
335 assertTrue(new File(mCrashDir, "123_abc.up0").exists()); 339 assertTrue(new File(mCrashDir, "123_abc.up" + TEST_PID + ".try0").exists ());
336 } 340 }
337 341
338 @SmallTest 342 @SmallTest
339 @Feature({"Android-AppBase"}) 343 @Feature({"Android-AppBase"})
340 public void testMarkUploadSkipped() { 344 public void testMarkUploadSkipped() {
341 CrashFileManager.markUploadSkipped(mDmpFile1); 345 CrashFileManager.markUploadSkipped(mDmpFile1);
342 assertFalse(mDmpFile1.exists()); 346 assertFalse(mDmpFile1.exists());
343 assertTrue(new File(mCrashDir, "123_abc.skipped0").exists()); 347 assertTrue(new File(mCrashDir, "123_abc.skipped0").exists());
348
349 CrashFileManager.markUploadSkipped(mDmpFile2);
350 assertFalse(mDmpFile2.exists());
351 assertTrue(
352 new File(mCrashDir, "chromium-renderer_abc.skipped" + TEST_PID + ".try1").exists());
344 } 353 }
345 354
346 @SmallTest 355 @SmallTest
347 @Feature({"Android-AppBase"}) 356 @Feature({"Android-AppBase"})
348 public void testFilterMinidumpFilesOnUid() { 357 public void testFilterMinidumpFilesOnUid() {
349 assertArrayEquals(new File[] {new File("1_md.dmp")}, 358 assertArrayEquals(new File[] {new File("1_md.dmp")},
350 CrashFileManager.filterMinidumpFilesOnUid( 359 CrashFileManager.filterMinidumpFilesOnUid(
351 new File[] {new File("1_md.dmp")}, 1).toArray()); 360 new File[] {new File("1_md.dmp")}, 1).toArray());
352 assertArrayEquals(new File[0], 361 assertArrayEquals(new File[0],
353 CrashFileManager.filterMinidumpFilesOnUid( 362 CrashFileManager.filterMinidumpFilesOnUid(
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 File old3 = new File(mCrashDir, "chromium-renderer-minidump-cooo10ff.log cat"); 563 File old3 = new File(mCrashDir, "chromium-renderer-minidump-cooo10ff.log cat");
555 old1.setLastModified(oldTimestamp); 564 old1.setLastModified(oldTimestamp);
556 old2.setLastModified(oldTimestamp - 1); 565 old2.setLastModified(oldTimestamp - 1);
557 old3.setLastModified(oldTimestamp - 2); 566 old3.setLastModified(oldTimestamp - 2);
558 567
559 // These will be the most recent files in the directory, after all succe ssfully uploaded 568 // These will be the most recent files in the directory, after all succe ssfully uploaded
560 // files and all temp files are removed. 569 // files and all temp files are removed.
561 File[] recentFiles = new File[3 * CrashFileManager.MAX_CRASH_REPORTS_TO_ KEEP]; 570 File[] recentFiles = new File[3 * CrashFileManager.MAX_CRASH_REPORTS_TO_ KEEP];
562 for (int i = 0; i < CrashFileManager.MAX_CRASH_REPORTS_TO_KEEP; ++i) { 571 for (int i = 0; i < CrashFileManager.MAX_CRASH_REPORTS_TO_KEEP; ++i) {
563 String prefix = "chromium-renderer-minidump-deadbeef" + i; 572 String prefix = "chromium-renderer-minidump-deadbeef" + i;
564 // There is no reason why both a minidump and failed upload should e xist at the same 573 // There is no reason why both a minidump-sans-logcat and failed upl oad should exist at
565 // time, but the cleanup code should be robust to it anyway. 574 // the same time, but the cleanup code should be robust to it anyway .
566 File recentMinidump = new File(mCrashDir, prefix + ".dmp"); 575 File recentMinidump = new File(mCrashDir, prefix + ".dmp");
567 File recentFailedUpload = new File(mCrashDir, prefix + ".up0.try0"); 576 File recentFailedUpload = new File(mCrashDir, prefix + ".dmp0.try1") ;
gsennton 2017/03/15 10:18:49 It's slightly amusing that we had a test case ensu
Ilya Sherman 2017/03/15 16:32:56 ... yeah, I was clearly pretty confused by the int
568 File recentLogcatFile = new File(mCrashDir, prefix + ".logcat"); 577 File recentLogcatFile = new File(mCrashDir, prefix + ".logcat");
569 recentMinidump.createNewFile(); 578 recentMinidump.createNewFile();
570 recentFailedUpload.createNewFile(); 579 recentFailedUpload.createNewFile();
571 recentLogcatFile.createNewFile(); 580 recentLogcatFile.createNewFile();
572 recentMinidump.setLastModified(mModificationTimestamp); 581 recentMinidump.setLastModified(mModificationTimestamp);
573 mModificationTimestamp += 1000; 582 mModificationTimestamp += 1000;
574 recentFailedUpload.setLastModified(mModificationTimestamp); 583 recentFailedUpload.setLastModified(mModificationTimestamp);
575 mModificationTimestamp += 1000; 584 mModificationTimestamp += 1000;
576 recentLogcatFile.setLastModified(mModificationTimestamp); 585 recentLogcatFile.setLastModified(mModificationTimestamp);
577 mModificationTimestamp += 1000; 586 mModificationTimestamp += 1000;
578 recentFiles[3 * i + 0] = recentMinidump; 587 recentFiles[3 * i + 0] = recentMinidump;
579 recentFiles[3 * i + 1] = recentFailedUpload; 588 recentFiles[3 * i + 1] = recentFailedUpload;
580 recentFiles[3 * i + 2] = recentLogcatFile; 589 recentFiles[3 * i + 2] = recentLogcatFile;
581 } 590 }
582 591
583 // Create some additional successful uploads. 592 // Create some additional successful uploads.
584 File success1 = new File(mCrashDir, "chromium-renderer-minidump-cafebebe 1.up0"); 593 File success1 = new File(mCrashDir, "chromium-renderer-minidump-cafebebe 1.up0");
585 File success2 = new File(mCrashDir, "chromium-renderer-minidump-cafebebe 2.up1"); 594 File success2 =
586 File success3 = new File(mCrashDir, "chromium-renderer-minidump-cafebebe 3.up2"); 595 new File(mCrashDir, "chromium-renderer-minidump-cafebebe2.up" + TEST_PID + ".try1");
596 File success3 =
597 new File(mCrashDir, "chromium-renderer-minidump-cafebebe3.up" + TEST_PID + ".try2");
587 success1.createNewFile(); 598 success1.createNewFile();
588 success2.createNewFile(); 599 success2.createNewFile();
589 success3.createNewFile(); 600 success3.createNewFile();
590 success1.setLastModified(mModificationTimestamp); 601 success1.setLastModified(mModificationTimestamp);
591 mModificationTimestamp += 1000; 602 mModificationTimestamp += 1000;
592 success2.setLastModified(mModificationTimestamp); 603 success2.setLastModified(mModificationTimestamp);
593 mModificationTimestamp += 1000; 604 mModificationTimestamp += 1000;
594 success3.setLastModified(mModificationTimestamp); 605 success3.setLastModified(mModificationTimestamp);
595 mModificationTimestamp += 1000; 606 mModificationTimestamp += 1000;
596 607
(...skipping 28 matching lines...) Expand all
625 assertFalse(mMultiDigitMaxTriesFile.exists()); 636 assertFalse(mMultiDigitMaxTriesFile.exists());
626 assertFalse(mUpFile1.exists()); 637 assertFalse(mUpFile1.exists());
627 assertFalse(mUpFile2.exists()); 638 assertFalse(mUpFile2.exists());
628 assertFalse(temp1.exists()); 639 assertFalse(temp1.exists());
629 assertFalse(temp2.exists()); 640 assertFalse(temp2.exists());
630 assertFalse(success1.exists()); 641 assertFalse(success1.exists());
631 assertFalse(success2.exists()); 642 assertFalse(success2.exists());
632 assertFalse(success3.exists()); 643 assertFalse(success3.exists());
633 } 644 }
634 } 645 }
OLDNEW
« no previous file with comments | « components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698