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

Unified Diff: android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java

Issue 2784353002: Android: Remove GetApplicationContext part 2 (Closed)
Patch Set: Fix tests Created 3 years, 8 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: android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
index 677b630c3bf84e0a314c570a9fc54dbcd17f97f5..20d4d703e40865b757feca9e6dde97ce75b0e7cc 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
@@ -6,7 +6,6 @@ package org.chromium.android_webview.test.crash;
import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout;
-import android.content.Context;
import android.os.ParcelFileDescriptor;
import android.support.test.filters.MediumTest;
import android.webkit.ValueCallback;
@@ -51,7 +50,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
@Override
protected File getExistingCacheDir() {
- return CrashReceiverService.createWebViewCrashDir(getInstrumentation().getTargetContext());
+ return CrashReceiverService.getOrCreateWebViewCrashDir();
}
private static class TestPlatformServiceBridge extends PlatformServiceBridge {
@@ -77,7 +76,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
private final CrashReportingPermissionManager mPermissionManager;
TestMinidumpUploaderImpl(CrashReportingPermissionManager permissionManager) {
- super(new AwMinidumpUploaderDelegate(getInstrumentation().getTargetContext()));
+ super(new AwMinidumpUploaderDelegate());
mPermissionManager = permissionManager;
}
@@ -198,6 +197,8 @@ public class MinidumpUploaderTest extends CrashTestCase {
/**
* Ensure MinidumpUploaderImpl doesn't crash even if the WebView Crash dir doesn't exist (could
* happen e.g. if a Job persists across WebView-updates?
+ *
+ * MinidumpUploaderImpl should automatically recreate the directory.
*/
@MediumTest
public void testUploadingWithoutCrashDir() throws IOException {
@@ -232,7 +233,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
MinidumpUploadCallable createCallable(File minidumpFile, File logfile);
}
- private MinidumpUploaderImpl createCallableListMinidumpUploader(Context context,
+ private MinidumpUploaderImpl createCallableListMinidumpUploader(
final List<MinidumpUploadCallableCreator> callables, final boolean userPermitted) {
PlatformServiceBridge.injectInstance(new TestPlatformServiceBridge(userPermitted));
return new TestMinidumpUploaderImpl(null) {
@@ -255,7 +256,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
new MockCrashReportingPermissionManager() {
{ mIsEnabledForTests = true; }
};
- List<MinidumpUploadCallableCreator> callables = new ArrayList();
+ List<MinidumpUploadCallableCreator> callables = new ArrayList<>();
callables.add(new MinidumpUploadCallableCreator() {
@Override
public MinidumpUploadCallable createCallable(File minidumpFile, File logfile) {
@@ -270,9 +271,8 @@ public class MinidumpUploaderTest extends CrashTestCase {
new MinidumpUploadCallableTest.TestHttpURLConnectionFactory(), permManager);
}
});
- MinidumpUploader minidumpUploader =
- createCallableListMinidumpUploader(getInstrumentation().getTargetContext(),
- callables, permManager.isUsageAndCrashReportingPermittedByUser());
+ MinidumpUploader minidumpUploader = createCallableListMinidumpUploader(
+ callables, permManager.isUsageAndCrashReportingPermittedByUser());
File firstFile = createMinidumpFileInCrashDir("firstFile.dmp0");
File secondFile = createMinidumpFileInCrashDir("secondFile.dmp0");
@@ -280,7 +280,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
uploadMinidumpsSync(minidumpUploader, true /* expectReschedule */);
assertFalse(firstFile.exists());
assertFalse(secondFile.exists());
- File expectedSecondFile = null;
+ File expectedSecondFile;
// Not sure which minidump will fail and which will succeed, so just ensure one was uploaded
// and the other one failed.
if (new File(mCrashDir, firstFile.getName() + ".try1").exists()) {
@@ -416,14 +416,13 @@ public class MinidumpUploaderTest extends CrashTestCase {
* Ensures that the minidump copying works together with the minidump uploading.
*/
@MediumTest
- public void testCopyAndUploadWebViewMinidump() throws FileNotFoundException, IOException {
- final CrashFileManager fileManager = new CrashFileManager(
- CrashReceiverService.getWebViewCrashDir(getInstrumentation().getTargetContext()));
+ public void testCopyAndUploadWebViewMinidump() throws IOException {
+ final CrashFileManager fileManager =
+ new CrashFileManager(CrashReceiverService.getWebViewCrashDir());
// Note that these minidump files are set up directly in the cache dir - not in the WebView
// crash dir. This is to ensure the CrashFileManager doesn't see these minidumps without us
// first copying them.
- File minidumpToCopy =
- new File(getInstrumentation().getTargetContext().getCacheDir(), "toCopy.dmp");
+ File minidumpToCopy = new File(getExistingCacheDir(), "toCopy.dmp");
setUpMinidumpFile(minidumpToCopy, BOUNDARY, "browser");
final String expectedFileContent = readEntireFile(minidumpToCopy);
@@ -438,8 +437,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
} catch (IOException e) {
throw new RuntimeException(e);
}
- File webviewTmpDir =
- CrashReceiverService.getWebViewTmpCrashDir(getInstrumentation().getTargetContext());
+ File webviewTmpDir = CrashReceiverService.getWebViewTmpCrashDir();
assertEquals(0, webviewTmpDir.listFiles().length);
}
@@ -466,8 +464,8 @@ public class MinidumpUploaderTest extends CrashTestCase {
private static class WebViewUserConsentMinidumpUploaderDelegate
extends AwMinidumpUploaderDelegate {
private final boolean mUserConsent;
- WebViewUserConsentMinidumpUploaderDelegate(Context context, boolean userConsent) {
- super(context);
+ WebViewUserConsentMinidumpUploaderDelegate(boolean userConsent) {
+ super();
mUserConsent = userConsent;
}
@Override
@@ -497,8 +495,8 @@ public class MinidumpUploaderTest extends CrashTestCase {
private void testPlatformServicesBridgeIsUsed(final boolean userConsent) throws IOException {
PlatformServiceBridge.injectInstance(new TestPlatformServiceBridge(userConsent));
- MinidumpUploaderDelegate delegate = new WebViewUserConsentMinidumpUploaderDelegate(
- getInstrumentation().getTargetContext(), userConsent);
+ MinidumpUploaderDelegate delegate =
+ new WebViewUserConsentMinidumpUploaderDelegate(userConsent);
MinidumpUploader minidumpUploader = new TestMinidumpUploaderImpl(
delegate, delegate.createCrashReportingPermissionManager());
@@ -518,13 +516,10 @@ public class MinidumpUploaderTest extends CrashTestCase {
}
private static String readEntireFile(File file) throws IOException {
- FileInputStream fileInputStream = new FileInputStream(file);
- try {
+ try (FileInputStream fileInputStream = new FileInputStream(file)) {
byte[] data = new byte[(int) file.length()];
fileInputStream.read(data);
return new String(data);
- } finally {
- fileInputStream.close();
}
}
@@ -532,13 +527,11 @@ public class MinidumpUploaderTest extends CrashTestCase {
* Ensure that the minidump copying doesn't trigger when we pass it invalid file descriptors.
*/
@MediumTest
- public void testCopyingAbortsForInvalidFds() throws FileNotFoundException, IOException {
+ public void testCopyingAbortsForInvalidFds() throws IOException {
+ assertFalse(CrashReceiverService.copyMinidumps(0 /* uid */, null));
assertFalse(CrashReceiverService.copyMinidumps(
- getInstrumentation().getTargetContext(), 0 /* uid */, null));
- assertFalse(CrashReceiverService.copyMinidumps(getInstrumentation().getTargetContext(),
0 /* uid */, new ParcelFileDescriptor[] {null, null}));
- assertFalse(CrashReceiverService.copyMinidumps(
- getInstrumentation().getTargetContext(), 0 /* uid */, new ParcelFileDescriptor[0]));
+ assertFalse(CrashReceiverService.copyMinidumps(0 /* uid */, new ParcelFileDescriptor[0]));
}
/**
@@ -546,8 +539,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
*/
@MediumTest
public void testDeleteFilesInDir() throws IOException {
- Context context = getInstrumentation().getTargetContext();
- File webviewTmpDir = CrashReceiverService.getWebViewTmpCrashDir(context);
+ File webviewTmpDir = CrashReceiverService.getWebViewTmpCrashDir();
if (!webviewTmpDir.isDirectory()) {
assertTrue(webviewTmpDir.mkdir());
}
@@ -557,7 +549,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
assertTrue(testFile2.createNewFile());
assertTrue(testFile1.exists());
assertTrue(testFile2.exists());
- CrashReceiverService.deleteFilesInWebViewTmpDirIfExists(context);
+ CrashReceiverService.deleteFilesInWebViewTmpDirIfExists();
assertFalse(testFile1.exists());
assertFalse(testFile2.exists());
}
@@ -568,15 +560,13 @@ public class MinidumpUploaderTest extends CrashTestCase {
*/
@MediumTest
public void testCopyAndUploadSeveralMinidumpBatches() throws IOException {
- final CrashFileManager fileManager = new CrashFileManager(
- CrashReceiverService.getWebViewCrashDir(getInstrumentation().getTargetContext()));
+ final CrashFileManager fileManager =
+ new CrashFileManager(CrashReceiverService.getWebViewCrashDir());
// Note that these minidump files are set up directly in the cache dir - not in the WebView
// crash dir. This is to ensure the CrashFileManager doesn't see these minidumps without us
// first copying them.
- File firstMinidumpToCopy =
- new File(getInstrumentation().getTargetContext().getCacheDir(), "firstToCopy.dmp");
- File secondMinidumpToCopy =
- new File(getInstrumentation().getTargetContext().getCacheDir(), "secondToCopy.dmp");
+ File firstMinidumpToCopy = new File(getExistingCacheDir(), "firstToCopy.dmp");
+ File secondMinidumpToCopy = new File(getExistingCacheDir(), "secondToCopy.dmp");
setUpMinidumpFile(firstMinidumpToCopy, BOUNDARY, "browser");
setUpMinidumpFile(secondMinidumpToCopy, BOUNDARY, "renderer");
final String expectedFirstFileContent = readEntireFile(firstMinidumpToCopy);
@@ -633,8 +623,7 @@ public class MinidumpUploaderTest extends CrashTestCase {
assertTrue(currentMinidumps[m].delete());
}
crashReceiverService.performMinidumpCopyingSerially(
- getInstrumentation().getTargetContext(), uids[n] /* uid */, fileDescriptors[n],
- false /* scheduleUploads */);
+ uids[n] /* uid */, fileDescriptors[n], false /* scheduleUploads */);
}
PlatformServiceBridge.injectInstance(new TestPlatformServiceBridge(true));

Powered by Google App Engine
This is Rietveld 408576698