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

Unified Diff: content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java

Issue 2076583002: Add WebAPK's tests in ChildProcessLauncherTest. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move ChildProcessLaucherTest back to content. Created 4 years, 6 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: content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java b/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
index 7e5f7319052e7d230009baf07986978d16eecf51..058922164e8270ab01f35d030ee3f00b3245531a 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
@@ -14,6 +14,7 @@ import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
+import org.chromium.content.browser.test.ChildProcessLauncherTestHelper;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
@@ -21,8 +22,6 @@ import java.util.concurrent.Callable;
/**
* Instrumentation tests for ChildProcessLauncher.
- * TODO(hanxi): Add tests for assigning {@ChildConnectionAllocator} for different package names
- * when render processes can be run in WebAPKs.
*/
public class ChildProcessLauncherTest extends InstrumentationTestCase {
// Pseudo command line arguments to instruct the child process to wait until being killed.
@@ -38,7 +37,9 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
@Feature({"ProcessManagement"})
@CommandLineFlags.Add(ChildProcessLauncher.SWITCH_NUM_SANDBOXED_SERVICES_FOR_TESTING + "=4")
public void testServiceFailedToBind() throws InterruptedException, RemoteException {
- assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+ final Context appContext = getInstrumentation().getContext();
+ assertEquals(0, ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext));
assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
// Try to allocate a connection to service class in incorrect package. We can do that by
@@ -46,13 +47,15 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
// (getTargetContext()).
Context context = getInstrumentation().getContext();
ChildProcessLauncher.allocateBoundConnectionForTesting(
- context, getDefaultChildProcessCreationParams(context.getPackageName()));
+ context, ChildProcessLauncherTestHelper.getChildProcessCreationParams(
+ context.getPackageName(), null));
// Verify that the connection is not considered as allocated.
CriteriaHelper.pollInstrumentationThread(Criteria.equals(0, new Callable<Integer>() {
@Override
public Integer call() {
- return allocatedChromeSandboxedConnectionsCount();
+ return ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext);
}
}));
@@ -70,12 +73,15 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
@MediumTest
@Feature({"ProcessManagement"})
public void testServiceCrashedBeforeSetup() throws InterruptedException, RemoteException {
- assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+ final Context appContext = getInstrumentation().getTargetContext();
+ assertEquals(0, ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext));
assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
// Start and connect to a new service.
final ChildProcessConnectionImpl connection = startConnection();
- assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+ assertEquals(1, ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext));
// Verify that the service is not yet set up.
assertEquals(0, connection.getPid());
@@ -88,7 +94,8 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
CriteriaHelper.pollInstrumentationThread(Criteria.equals(0, new Callable<Integer>() {
@Override
public Integer call() {
- return allocatedChromeSandboxedConnectionsCount();
+ return ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext);
}
}));
@@ -106,11 +113,14 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
@MediumTest
@Feature({"ProcessManagement"})
public void testServiceCrashedAfterSetup() throws InterruptedException, RemoteException {
- assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+ final Context appContext = getInstrumentation().getTargetContext();
+ assertEquals(0, ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext));
// Start and connect to a new service.
final ChildProcessConnectionImpl connection = startConnection();
- assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+ assertEquals(1, ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext));
// Initiate the connection setup.
triggerConnectionSetup(connection);
@@ -138,7 +148,8 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
CriteriaHelper.pollInstrumentationThread(Criteria.equals(0, new Callable<Integer>() {
@Override
public Integer call() {
- return allocatedChromeSandboxedConnectionsCount();
+ return ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext);
}
}));
@@ -160,18 +171,21 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
@Feature({"ProcessManagement"})
public void testPendingSpawnQueue() throws InterruptedException, RemoteException {
final Context appContext = getInstrumentation().getTargetContext();
- assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+ assertEquals(0, ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext));
// Start and connect to a new service.
final ChildProcessConnectionImpl connection = startConnection();
- assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+ assertEquals(1, ChildProcessLauncherTestHelper.allocatedChromeSandboxedConnectionsCount(
+ appContext));
// Queue up a new spawn request. There is no way to kill the pending connection, leak it
// until the browser restart.
final String packageName = appContext.getPackageName();
final boolean inSandbox = true;
ChildProcessLauncher.enqueuePendingSpawnForTesting(appContext, sProcessWaitArguments,
- getDefaultChildProcessCreationParams(packageName), inSandbox);
+ ChildProcessLauncherTestHelper.getChildProcessCreationParams(packageName, null),
+ inSandbox);
assertEquals(1, ChildProcessLauncher.pendingSpawnsCountForTesting(appContext, packageName,
inSandbox));
@@ -211,7 +225,8 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
Criteria.equals(1, new Callable<Integer>() {
@Override
public Integer call() {
- return allocatedChromeSandboxedConnectionsCount();
+ return ChildProcessLauncherTestHelper
+ .allocatedChromeSandboxedConnectionsCount(appContext);
}
}));
@@ -229,7 +244,9 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
Context context = getInstrumentation().getTargetContext();
final ChildProcessConnectionImpl connection =
(ChildProcessConnectionImpl) ChildProcessLauncher.allocateBoundConnectionForTesting(
- context, getDefaultChildProcessCreationParams(context.getPackageName()));
+ context,
+ ChildProcessLauncherTestHelper.getChildProcessCreationParams(
+ context.getPackageName(), null));
// Wait for the service to connect.
CriteriaHelper.pollInstrumentationThread(
Xi Han 2016/06/21 18:26:58 Tests failed if the "CriteriaHelper.pollInstrument
Maria 2016/06/21 21:32:12 Did ChildProcessLauncherTest failed or ChromeChild
Xi Han 2016/06/22 14:30:11 The ChildProcessLauncherTest failed and I did pass
@@ -242,20 +259,6 @@ public class ChildProcessLauncherTest extends InstrumentationTestCase {
return connection;
}
- /**
- * Returns the number of Chrome's sandboxed connections.
- */
- private int allocatedChromeSandboxedConnectionsCount() {
- Context context = getInstrumentation().getTargetContext();
- return ChildProcessLauncher.allocatedSandboxedConnectionsCountForTesting(
- context, context.getPackageName());
- }
-
- private ChildProcessCreationParams getDefaultChildProcessCreationParams(String packageName) {
- return new ChildProcessCreationParams(packageName, 0,
- LibraryProcessType.PROCESS_CHILD);
- }
-
private void triggerConnectionSetup(ChildProcessConnectionImpl connection) {
ChildProcessLauncher.triggerConnectionSetup(connection, sProcessWaitArguments, 1,
new FileDescriptorInfo[0], ChildProcessLauncher.CALLBACK_FOR_RENDERER_PROCESS, 0);

Powered by Google App Engine
This is Rietveld 408576698