0

android: Deflake ChildProcessLauncherHelperTest

Test was relying on Debug.waitForDebugger to hang child service, which
turns out to not always work on bots. Instead, just add a new command
line switch to get the desired behavior.

Bug: 354765949
Change-Id: I8ec11b228f1955a8ddee80b2cc160c3a61113093
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6113740
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Bo Liu <boliu@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399312}
This commit is contained in:
Bo Liu
2024-12-20 11:58:21 -08:00
committed by Chromium LUCI CQ
parent e6dccd842e
commit 7e784bcc68
4 changed files with 12 additions and 18 deletions
base
android
java
src
org
chromium
base
process_launcher
base_switches.ccbase_switches.h
content/public/android/javatests/src/org/chromium/content/browser

@@ -8,7 +8,6 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
@@ -37,7 +36,6 @@ import org.chromium.base.process_launcher.ChildProcessConnection;
import org.chromium.base.process_launcher.FileDescriptorInfo;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Feature;
import org.chromium.content_public.browser.test.ContentJUnit4ClassRunner;
@@ -55,7 +53,7 @@ public class ChildProcessLauncherHelperTest {
// Allowing the process to continue would lead to a crash when attempting to initialize IPC
// channels that are not being set up in this test.
private static final String[] sProcessWaitArguments = {
"_", "--" + BaseSwitches.RENDERER_WAIT_FOR_JAVA_DEBUGGER
"_", "--" + BaseSwitches.ANDROID_SKIP_CHILD_SERVICE_INIT_FOR_TESTING
};
private static final String DEFAULT_SANDBOXED_PROCESS_SERVICE =
"org.chromium.content.app.SandboxedProcessService";
@@ -267,9 +265,6 @@ public class ChildProcessLauncherHelperTest {
@Test
@MediumTest
@Feature({"ProcessManagement"})
@DisableIf.Build(
sdk_is_greater_than = Build.VERSION_CODES.TIRAMISU,
message = "Broken in 14+, crbug.com/354765949")
public void testWarmUp() {
// Use the default creation parameters.
testWarmUpImpl();
@@ -278,9 +273,6 @@ public class ChildProcessLauncherHelperTest {
@Test
@MediumTest
@Feature({"ProcessManagement"})
@DisableIf.Build(
sdk_is_greater_than = Build.VERSION_CODES.TIRAMISU,
message = "Broken in 14+, crbug.com/354765949")
public void testWarmUpWithBindToCaller() {
Context context = InstrumentationRegistry.getTargetContext();
ChildProcessCreationParamsImpl.set(
@@ -299,9 +291,6 @@ public class ChildProcessLauncherHelperTest {
@Test
@MediumTest
@Feature({"ProcessManagement"})
@DisableIf.Build(
sdk_is_greater_than = Build.VERSION_CODES.TIRAMISU,
message = "Broken in 14+, crbug.com/354765949")
public void testWarmUpProcessCrashBeforeUse() {
Assert.assertEquals(0, getConnectedSandboxedServicesCount());
@@ -329,9 +318,6 @@ public class ChildProcessLauncherHelperTest {
@Test
@MediumTest
@Feature({"ProcessManagement"})
@DisableIf.Build(
sdk_is_greater_than = Build.VERSION_CODES.TIRAMISU,
message = "Broken in 14+, crbug.com/354765949")
public void testWarmUpProcessCrashAfterUse() {
Context context = InstrumentationRegistry.getTargetContext();
warmUpOnUiThreadBlocking(context);
@@ -356,9 +342,6 @@ public class ChildProcessLauncherHelperTest {
@Test
@MediumTest
@Feature({"ProcessManagement"})
@DisableIf.Build(
sdk_is_greater_than = Build.VERSION_CODES.TIRAMISU,
message = "Broken in 14+, crbug.com/354765949")
public void testLauncherCleanup() {
ChildProcessLauncherHelperImpl launcher =
startSandboxedChildProcess(BLOCK_UNTIL_SETUP, /* doSetupConnection= */ true);