Merge "Fix flaky tests due to shared system property" into main

This commit is contained in:
Treehugger Robot
2024-10-15 12:09:31 +00:00
committed by Android (Google) Code Review
4 changed files with 86 additions and 10 deletions

View File

@@ -63,12 +63,14 @@ import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SystemProperty;
import com.android.settings.widget.RingProgressBar;
import com.airbnb.lottie.LottieAnimationView;
import com.airbnb.lottie.LottieTask;
import com.google.android.setupdesign.GlifLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -111,15 +113,23 @@ public class FingerprintEnrollEnrollingTest {
private final int[] mSfpsStageThresholds = new int[]{0, 9, 13, 19, 25};
private final int[] mUdfpsStageThresholds = new int[]{0, 13, 17, 22};
private final SystemProperty mSystemProperty = new SystemProperty();
private FingerprintEnrollEnrolling mActivity;
private Context mContext;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mSystemProperty.override("robolectric.createActivityContexts", "true");
FakeFeatureFactory.setupForTest();
}
@After
public void tearDown() {
mSystemProperty.close();
}
@Test
public void fingerprintUdfpsEnrollSuccessProgress_shouldNotVibrate() {
initializeActivityFor(TYPE_UDFPS_OPTICAL);
@@ -645,7 +655,6 @@ public class FingerprintEnrollEnrollingTest {
}
private void createActivity() {
System.setProperty("robolectric.createActivityContexts", "true");
final Bundle savedInstanceState = new Bundle();
savedInstanceState.putInt(KEY_STATE_PREVIOUS_ROTATION, Surface.ROTATION_90);

View File

@@ -21,9 +21,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.internal.widget.LockPatternUtils
import com.android.settings.flags.Flags
import com.android.settings.testutils.FakeFeatureFactory
import com.android.settings.testutils.SystemProperty
import com.android.settingslib.preference.CatalystScreenTestCase
import com.google.common.truth.Truth.assertThat
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyInt
@@ -66,16 +66,16 @@ class DisplayScreenTest : CatalystScreenTestCase() {
assertThat(preferenceScreenCreator.isAvailable(contextWrapper)).isFalse()
}
@Ignore("robolectric.createActivityContexts cause other test failure")
override fun migration() {
// avoid UnsupportedOperationException when getDisplay from context
System.setProperty("robolectric.createActivityContexts", "true")
SystemProperty("robolectric.createActivityContexts", "true").use {
val lockPatternUtils =
mock<LockPatternUtils> { on { isSecure(anyInt()) } doReturn true }
FakeFeatureFactory.setupForTest().securityFeatureProvider.stub {
on { getLockPatternUtils(any()) } doReturn lockPatternUtils
}
val lockPatternUtils = mock<LockPatternUtils> { on { isSecure(anyInt()) } doReturn true }
FakeFeatureFactory.setupForTest().securityFeatureProvider.stub {
on { getLockPatternUtils(any()) } doReturn lockPatternUtils
super.migration()
}
super.migration()
}
}