Skip to content

Commit ee2426b

Browse files
MozLandopocmo
andcommitted
5309: Closes mozilla-mobile#5204: Remove 'even distribution' tests. r=csadilek a=pocmo We discussed removing them during our planning meeting. Those tests were helpful in the beginning when we were not sure how much we could trust the distribution. However the nature of those tests mean that they can fail intermittently (and randomly they do) and that is blocking more than helping. Co-authored-by: Sebastian Kaspari <[email protected]>
2 parents 860372e + e900024 commit ee2426b

File tree

2 files changed

+0
-91
lines changed

2 files changed

+0
-91
lines changed

components/service/experiments/src/test/java/mozilla/components/service/experiments/ExperimentEvaluatorTest.kt

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
1212
import mozilla.components.service.experiments.util.VersionString
1313
import mozilla.components.support.test.mock
1414
import mozilla.components.support.test.robolectric.testContext
15-
import org.junit.Assert
1615
import org.junit.Assert.assertEquals
1716
import org.junit.Assert.assertNotNull
1817
import org.junit.Assert.assertNull
@@ -24,8 +23,6 @@ import org.mockito.ArgumentMatchers.anyString
2423
import org.mockito.ArgumentMatchers.eq
2524
import org.mockito.Mockito.`when`
2625
import org.mockito.Mockito.verify
27-
import kotlin.reflect.full.functions
28-
import kotlin.reflect.jvm.isAccessible
2926

3027
@RunWith(AndroidJUnit4::class)
3128
class ExperimentEvaluatorTest {
@@ -734,53 +731,6 @@ class ExperimentEvaluatorTest {
734731
assertEquals(355, evaluator2.getUserBucket(testContext))
735732
}
736733

737-
@Test
738-
fun `test even distribution`() {
739-
testReset()
740-
741-
val sharedPrefs: SharedPreferences = mock()
742-
val prefsEditor: SharedPreferences.Editor = mock()
743-
`when`(sharedPrefs.edit()).thenReturn(prefsEditor)
744-
`when`(prefsEditor.putBoolean(anyString(), anyBoolean())).thenReturn(prefsEditor)
745-
`when`(prefsEditor.putString(anyString(), anyString())).thenReturn(prefsEditor)
746-
`when`(context.getSharedPreferences(anyString(), anyInt())).thenReturn(sharedPrefs)
747-
748-
val distribution = (1..1000).map {
749-
val experimentEvaluator = ExperimentEvaluator()
750-
val f = experimentEvaluator::class.functions.find { it.name == "getUserBucket" }
751-
f!!.isAccessible = true
752-
f.call(experimentEvaluator, context) as Int
753-
}
754-
755-
distribution
756-
.groupingBy { it }
757-
.eachCount()
758-
.forEach {
759-
Assert.assertTrue(it.value in 0..9)
760-
}
761-
762-
distribution
763-
.groupingBy { it / 10 }
764-
.eachCount()
765-
.forEach {
766-
Assert.assertTrue(it.value in 0..29)
767-
}
768-
769-
distribution
770-
.groupingBy { it / 100 }
771-
.eachCount()
772-
.forEach {
773-
Assert.assertTrue(it.value in 50..150)
774-
}
775-
776-
distribution
777-
.groupingBy { it / 500 }
778-
.eachCount()
779-
.forEach {
780-
Assert.assertTrue(it.value in 350..650)
781-
}
782-
}
783-
784734
@Test
785735
fun `test selectBranchByWeight()`() {
786736
val e = ExperimentEvaluator()

components/service/fretboard/src/test/java/mozilla/components/service/fretboard/FretboardTest.kt

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ import org.mockito.Mockito.mock
2828
import org.mockito.Mockito.times
2929
import org.mockito.Mockito.verify
3030
import java.io.File
31-
import kotlin.reflect.full.functions
32-
import kotlin.reflect.jvm.isAccessible
3331

3432
@RunWith(AndroidJUnit4::class)
3533
class FretboardTest {
@@ -527,45 +525,6 @@ class FretboardTest {
527525
assertEquals(55, fretboard2.getUserBucket(testContext))
528526
}
529527

530-
@Test
531-
fun evenDistribution() {
532-
val context = mock<Context>()
533-
val sharedPrefs = mock<SharedPreferences>()
534-
val prefsEditor = mock(SharedPreferences.Editor::class.java)
535-
`when`(sharedPrefs.edit()).thenReturn(prefsEditor)
536-
`when`(prefsEditor.putBoolean(ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean())).thenReturn(prefsEditor)
537-
`when`(prefsEditor.putString(ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(prefsEditor)
538-
`when`(context.getSharedPreferences(ArgumentMatchers.anyString(), ArgumentMatchers.anyInt())).thenReturn(sharedPrefs)
539-
540-
val distribution = (1..1000).map {
541-
val experimentEvaluator = ExperimentEvaluator()
542-
val f = experimentEvaluator::class.functions.find { it.name == "getUserBucket" }
543-
f!!.isAccessible = true
544-
f.call(experimentEvaluator, context) as Int
545-
}
546-
547-
distribution
548-
.groupingBy { it }
549-
.eachCount()
550-
.forEach {
551-
assertTrue(it.value in 0..25)
552-
}
553-
554-
distribution
555-
.groupingBy { it / 10 }
556-
.eachCount()
557-
.forEach {
558-
assertTrue(it.value in 50..150)
559-
}
560-
561-
distribution
562-
.groupingBy { it / 50 }
563-
.eachCount()
564-
.forEach {
565-
assertTrue(it.value in 350..650)
566-
}
567-
}
568-
569528
@Test
570529
fun loadingCorruptJSON() {
571530
val experimentSource = mock<ExperimentSource>()

0 commit comments

Comments
 (0)