Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0cc61640 authored by Fan Zhang's avatar Fan Zhang
Browse files

Fix flaky tests caused by WeakReference

Change-Id: I287195a37aeb0ff781420c2839ffff0391942f76
Fixes: 71867776
Test: robotest
parent a2a7a40c
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -16,9 +16,9 @@
package com.android.settingslib.core.lifecycle;
package com.android.settingslib.core.lifecycle;


import static android.arch.lifecycle.Lifecycle.Event.ON_START;
import static android.arch.lifecycle.Lifecycle.Event.ON_START;

import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;


import android.arch.lifecycle.LifecycleOwner;
import android.content.Context;
import android.content.Context;
import android.view.Menu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuInflater;
@@ -48,6 +48,7 @@ import org.robolectric.annotation.Config;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class LifecycleTest {
public class LifecycleTest {


    private LifecycleOwner mLifecycleOwner;
    private Lifecycle mLifecycle;
    private Lifecycle mLifecycle;


    public static class TestDialogFragment extends ObservableDialogFragment {
    public static class TestDialogFragment extends ObservableDialogFragment {
@@ -146,7 +147,8 @@ public class LifecycleTest {


    @Before
    @Before
    public void setUp() {
    public void setUp() {
        mLifecycle = new Lifecycle(() -> mLifecycle);
        mLifecycleOwner = () -> mLifecycle;
        mLifecycle = new Lifecycle(mLifecycleOwner);
    }
    }


    @Test
    @Test
+4 −2
Original line number Original line Diff line number Diff line
@@ -17,11 +17,11 @@
package com.android.settingslib.development;
package com.android.settingslib.development;


import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verify;


import android.arch.lifecycle.LifecycleOwner;
import android.os.SystemProperties;
import android.os.SystemProperties;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference;
@@ -44,6 +44,7 @@ import org.robolectric.annotation.Config;
        shadows = SystemPropertiesTestImpl.class)
        shadows = SystemPropertiesTestImpl.class)
public class LogpersistPreferenceControllerTest {
public class LogpersistPreferenceControllerTest {


    private LifecycleOwner mLifecycleOwner;
    private Lifecycle mLifecycle;
    private Lifecycle mLifecycle;


    @Mock
    @Mock
@@ -57,7 +58,8 @@ public class LogpersistPreferenceControllerTest {
    public void setUp() {
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        MockitoAnnotations.initMocks(this);
        SystemProperties.set("ro.debuggable", "1");
        SystemProperties.set("ro.debuggable", "1");
        mLifecycle = new Lifecycle(() -> mLifecycle);
        mLifecycleOwner = () -> mLifecycle;
        mLifecycle = new Lifecycle(mLifecycleOwner);
        mController = new AbstractLogpersistPreferenceController(RuntimeEnvironment.application,
        mController = new AbstractLogpersistPreferenceController(RuntimeEnvironment.application,
                mLifecycle) {
                mLifecycle) {
            @Override
            @Override
+4 −2
Original line number Original line Diff line number Diff line
@@ -17,13 +17,13 @@
package com.android.settingslib.widget;
package com.android.settingslib.widget;


import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Matchers.any;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.when;


import android.arch.lifecycle.LifecycleOwner;
import android.support.v14.preference.PreferenceFragment;
import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceScreen;
@@ -49,13 +49,15 @@ public class FooterPreferenceMixinTest {
    @Mock
    @Mock
    private PreferenceScreen mScreen;
    private PreferenceScreen mScreen;


    private LifecycleOwner mLifecycleOwner;
    private Lifecycle mLifecycle;
    private Lifecycle mLifecycle;
    private FooterPreferenceMixin mMixin;
    private FooterPreferenceMixin mMixin;


    @Before
    @Before
    public void setUp() {
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        MockitoAnnotations.initMocks(this);
        mLifecycle = new Lifecycle(() -> mLifecycle);
        mLifecycleOwner = () -> mLifecycle;
        mLifecycle = new Lifecycle(mLifecycleOwner);
        when(mFragment.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
        when(mFragment.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
        when(mFragment.getPreferenceManager().getContext())
        when(mFragment.getPreferenceManager().getContext())
                .thenReturn(ShadowApplication.getInstance().getApplicationContext());
                .thenReturn(ShadowApplication.getInstance().getApplicationContext());