You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a Pillarbox developer, I want to be able to run the project's tests with confidence.
Context
Currently, some tests randomly fail.
TimeoutException
MetricsCollectorTest > playback item transition
MetricsCollectorTest > playback item transition FAILED
java.util.concurrent.TimeoutException
at androidx.media3.test.utils.robolectric.RobolectricUtil.runLooperUntil(RobolectricUtil.java:149)
at androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil(RobolectricUtil.java:98)
at androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil(RobolectricUtil.java:76)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper$PlayerRunResult.runUntil(TestPlayerRunHelper.java:306)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper$PlayerRunResult.untilState(TestPlayerRunHelper.java:121)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper.runUntilPlaybackState(TestPlayerRunHelper.java:582)
at ch.srgssr.pillarbox.player.analytics.MetricsCollectorTest.playback item transition(MetricsCollectorTest.kt:91)
PlaybackSessionManagerTest > multiple media items
java.util.concurrent.TimeoutException
at androidx.media3.test.utils.robolectric.RobolectricUtil.runLooperUntil(RobolectricUtil.java:149)
at androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil(RobolectricUtil.java:98)
at androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil(RobolectricUtil.java:76)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper$PlayerRunResult.runUntil(TestPlayerRunHelper.java:306)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper$PlayerRunResult.untilState(TestPlayerRunHelper.java:121)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper.runUntilPlaybackState(TestPlayerRunHelper.java:582)
at ch.srgssr.pillarbox.player.analytics.PlaybackSessionManagerTest.play multiple media items(PlaybackSessionManagerTest.kt:183)
PlaybackSessionManagerTest > play multiple media items, remove upcoming media item
PlaybackSessionManagerTest > play multiple media items, remove upcoming media item FAILED
java.util.concurrent.TimeoutException
at androidx.media3.test.utils.robolectric.RobolectricUtil.runLooperUntil(RobolectricUtil.java:149)
at androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil(RobolectricUtil.java:98)
at androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil(RobolectricUtil.java:76)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper$PlayerRunResult.runUntil(TestPlayerRunHelper.java:306)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper$PlayerRunResult.untilState(TestPlayerRunHelper.java:121)
at androidx.media3.test.utils.robolectric.TestPlayerRunHelper.runUntilPlaybackState(TestPlayerRunHelper.java:582)
at ch.srgssr.pillarbox.player.analytics.PlaybackSessionManagerTest.play multiple media items, remove upcoming media item(PlaybackSessionManagerTest.kt:234)
MockKException
CommandersActTrackerIntegrationTest > check uptime and position updates for not live
CommandersActTrackerIntegrationTest > check uptime and position updates for not live FAILED
io.mockk.MockKException: no answer found for ExoPlayer(#26).getApplicationLooper() among the configured answers: ()
at io.mockk.impl.stub.MockKStub.defaultAnswer(MockKStub.kt:93)
at io.mockk.impl.stub.MockKStub.answer(MockKStub.kt:44)
at io.mockk.impl.recording.states.AnsweringState.call(AnsweringState.kt:16)
at io.mockk.impl.recording.CommonCallRecorder.call(CommonCallRecorder.kt:53)
at io.mockk.impl.stub.MockKStub.handleInvocation(MockKStub.kt:271)
at io.mockk.impl.instantiation.JvmMockFactoryHelper$mockHandler$1.invocation(JvmMockFactoryHelper.kt:25)
at app//io.mockk.proxy.jvm.advice.Interceptor.call(Interceptor.kt:21)
at app//io.mockk.proxy.jvm.advice.BaseAdvice.handle(BaseAdvice.kt:42)
at app//io.mockk.proxy.jvm.advice.jvm.JvmMockKProxyInterceptor.interceptNoSuper(JvmMockKProxyInterceptor.java:44)
at androidx.media3.exoplayer.ExoPlayer$Subclass0.getApplicationLooper(Unknown Source)
at ch.srgssr.pillarbox.player.PillarboxExoPlayerKt.runOnApplicationLooper(PillarboxExoPlayer.kt:436)
at ch.srgssr.pillarbox.core.business.tracker.commandersact.CommandersActStreaming.positionHeartbeat$lambda$1(CommandersActStreaming.kt:50)
at ch.srgssr.pillarbox.player.utils.Heartbeat$start$1.invokeSuspend(Heartbeat.kt:53)
at app//kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:832)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
PillarboxMediaMetaDataTrackerTest
PillarboxMediaMetaDataTrackerTest > chapter transition after seek back
PillarboxMediaMetaDataTrackerTest > chapter transition after seek back FAILED
java.lang.AssertionError: expected:<[Chapter(id=Chapter3, start=2000, end=5000, mediaMetadata=androidx.media3.common.MediaMetadata@743fcd71), null, Chapter(id=Chapter3, start=2000, end=5000, mediaMetadata=androidx.media3.common.MediaMetadata@743fcd71), null, Chapter(id=Chapter4, start=10000, end=15000, mediaMetadata=androidx.media3.common.MediaMetadata@743fcd71), null]> but was:<[Chapter(id=Chapter3, start=2000, end=5000, mediaMetadata=androidx.media3.common.MediaMetadata@743fcd71), null, Chapter(id=Chapter3, start=2000, end=5000, mediaMetadata=androidx.media3.common.MediaMetadata@743fcd71), Chapter(id=Chapter4, start=10000, end=15000, mediaMetadata=androidx.media3.common.MediaMetadata@743fcd71), null]>
at org.junit.Assert.fail(Assert.java:89)
at org.junit.Assert.failNotEquals(Assert.java:835)
at org.junit.Assert.assertEquals(Assert.java:120)
at kotlin.test.junit.JUnitAsserter.assertEquals(JUnitSupport.kt:32)
at kotlin.test.AssertionsKt__AssertionsKt.assertEquals(Assertions.kt:63)
at kotlin.test.AssertionsKt.assertEquals(Unknown Source)
at kotlin.test.AssertionsKt__AssertionsKt.assertEquals$default(Assertions.kt:62)
at kotlin.test.AssertionsKt.assertEquals$default(Unknown Source)
at ch.srgssr.pillarbox.player.tracker.PillarboxMediaMetaDataTrackerTest.chapter transition after seek back(PillarboxMediaMetaDataTrackerTest.kt:96)
Acceptance criteria
Pillarbox tests run reliably.
The text was updated successfully, but these errors were encountered:
As a Pillarbox developer, I want to be able to run the project's tests with confidence.
Context
Currently, some tests randomly fail.
TimeoutException
MetricsCollectorTest > playback item transition
PlaybackSessionManagerTest > multiple media items
PlaybackSessionManagerTest > play multiple media items, remove upcoming media item
MockKException
CommandersActTrackerIntegrationTest > check uptime and position updates for not live
PillarboxMediaMetaDataTrackerTest
PillarboxMediaMetaDataTrackerTest > chapter transition after seek back
Acceptance criteria
The text was updated successfully, but these errors were encountered: