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 @@
// found in the LICENSE file.
package org.chromium.chrome.browser.metrics;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.NativeMethods;
/**
......@@ -22,8 +23,9 @@ public class BackgroundTaskMemoryMetricsEmitter {
BackgroundTaskMemoryMetricsEmitterJni.get().reportMemoryUsage(isReducedMode, taskTypeAffix);
}
@VisibleForTesting
@NativeMethods
interface Natives {
public interface Natives {
void reportMemoryUsage(boolean isReducedMode, String taskTypeAffix);
}
}
......@@ -18,6 +18,7 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
......@@ -33,8 +34,11 @@ import org.chromium.base.library_loader.LoaderErrors;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.base.test.BaseRobolectricTestRunner;
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.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.TaskIds;
import org.chromium.components.background_task_scheduler.TaskParameters;
......@@ -43,7 +47,7 @@ import org.chromium.content_public.browser.BrowserStartupController;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
/** Unit tests for {@link BackgroundTaskScheduler}. */
/** Unit tests for {@link NativeBackgroundTask}. */
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class NativeBackgroundTaskTest {
......@@ -112,8 +116,12 @@ public class NativeBackgroundTaskTest {
private TaskFinishedCallback mCallback;
private TestNativeBackgroundTask mTask;
@Rule
public final JniMocker mocker = new JniMocker();
@Mock
private ChromeBrowserInitializer mChromeBrowserInitializer;
@Mock
BackgroundTaskMemoryMetricsEmitter.Natives mEmitterNativeMock;
@Captor
ArgumentCaptor<BrowserParts> mBrowserParts;
......@@ -228,6 +236,7 @@ public class NativeBackgroundTaskTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mocker.mock(BackgroundTaskMemoryMetricsEmitterJni.TEST_HOOKS, mEmitterNativeMock);
mBrowserStartupController = new TestBrowserStartupController();
mCallback = new TaskFinishedCallback();
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