Commit 7632d7cf authored by Henrique Nakashima's avatar Henrique Nakashima Committed by Commit Bot

Mock out native call to log memory usage in NativeBackgroundTaskTest.

This call happens rarely (1/60000), but it causes a crash when it does.

Change-Id: I0d584f0cd4017252ab80fc23fe0a41124bd13c73
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1880705Reviewed-by: default avatarMohamed Heikal <mheikal@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710444}
parent 78882886
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.metrics; package org.chromium.chrome.browser.metrics;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.NativeMethods; import org.chromium.base.annotations.NativeMethods;
/** /**
...@@ -22,8 +23,9 @@ public class BackgroundTaskMemoryMetricsEmitter { ...@@ -22,8 +23,9 @@ public class BackgroundTaskMemoryMetricsEmitter {
BackgroundTaskMemoryMetricsEmitterJni.get().reportMemoryUsage(isReducedMode, taskTypeAffix); BackgroundTaskMemoryMetricsEmitterJni.get().reportMemoryUsage(isReducedMode, taskTypeAffix);
} }
@VisibleForTesting
@NativeMethods @NativeMethods
interface Natives { public interface Natives {
void reportMemoryUsage(boolean isReducedMode, String taskTypeAffix); void reportMemoryUsage(boolean isReducedMode, String taskTypeAffix);
} }
} }
...@@ -18,6 +18,7 @@ import static org.mockito.Mockito.verify; ...@@ -18,6 +18,7 @@ import static org.mockito.Mockito.verify;
import android.content.Context; import android.content.Context;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
...@@ -33,8 +34,11 @@ import org.chromium.base.library_loader.LoaderErrors; ...@@ -33,8 +34,11 @@ import org.chromium.base.library_loader.LoaderErrors;
import org.chromium.base.library_loader.ProcessInitException; import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.init.BrowserParts; import org.chromium.chrome.browser.init.BrowserParts;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer; import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.chrome.browser.metrics.BackgroundTaskMemoryMetricsEmitter;
import org.chromium.chrome.browser.metrics.BackgroundTaskMemoryMetricsEmitterJni;
import org.chromium.components.background_task_scheduler.BackgroundTask; import org.chromium.components.background_task_scheduler.BackgroundTask;
import org.chromium.components.background_task_scheduler.TaskIds; import org.chromium.components.background_task_scheduler.TaskIds;
import org.chromium.components.background_task_scheduler.TaskParameters; import org.chromium.components.background_task_scheduler.TaskParameters;
...@@ -43,7 +47,7 @@ import org.chromium.content_public.browser.BrowserStartupController; ...@@ -43,7 +47,7 @@ import org.chromium.content_public.browser.BrowserStartupController;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** Unit tests for {@link BackgroundTaskScheduler}. */ /** Unit tests for {@link NativeBackgroundTask}. */
@RunWith(BaseRobolectricTestRunner.class) @RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE) @Config(manifest = Config.NONE)
public class NativeBackgroundTaskTest { public class NativeBackgroundTaskTest {
...@@ -112,8 +116,12 @@ public class NativeBackgroundTaskTest { ...@@ -112,8 +116,12 @@ public class NativeBackgroundTaskTest {
private TaskFinishedCallback mCallback; private TaskFinishedCallback mCallback;
private TestNativeBackgroundTask mTask; private TestNativeBackgroundTask mTask;
@Rule
public final JniMocker mocker = new JniMocker();
@Mock @Mock
private ChromeBrowserInitializer mChromeBrowserInitializer; private ChromeBrowserInitializer mChromeBrowserInitializer;
@Mock
BackgroundTaskMemoryMetricsEmitter.Natives mEmitterNativeMock;
@Captor @Captor
ArgumentCaptor<BrowserParts> mBrowserParts; ArgumentCaptor<BrowserParts> mBrowserParts;
...@@ -228,6 +236,7 @@ public class NativeBackgroundTaskTest { ...@@ -228,6 +236,7 @@ public class NativeBackgroundTaskTest {
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mocker.mock(BackgroundTaskMemoryMetricsEmitterJni.TEST_HOOKS, mEmitterNativeMock);
mBrowserStartupController = new TestBrowserStartupController(); mBrowserStartupController = new TestBrowserStartupController();
mCallback = new TaskFinishedCallback(); mCallback = new TaskFinishedCallback();
mTask = new TestNativeBackgroundTask(mBrowserStartupController); mTask = new TestNativeBackgroundTask(mBrowserStartupController);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment