arrow-kt / arrow-fx

Λrrow Fx is part of Λrrow, a functional companion to Kotlin's Standard Library
http://arrow-kt.io
Other
64 stars 15 forks source link

Move Schedule's Duration to kotlin.time.Duration #359

Closed i-walker closed 3 years ago

i-walker commented 3 years ago

Status

IN DEVELOPMENT

Description

The Schedule tests run into Casting Error's in their delayimplementations.

- Schedule.fibonacci() java.lang.ClassCastException: class kotlin.Pair cannot be cast to class java.lang.Number (kotlin.Pair is in unnamed module of loader 'app'; java.lang.Number is in module java.base of loader 'bootstrap') at arrow.fx.coroutines.ScheduleTestKt.calculateSchedule(ScheduleTest.kt:241) at arrow.fx.coroutines.ScheduleTest$1$16.invokeSuspend(ScheduleTest.kt:126) at arrow.fx.coroutines.ScheduleTest$1$16.invoke(ScheduleTest.kt) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invokeSuspend(executions.kt:13) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt.wrapTestWithGlobalAssert(executions.kt:39) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invokeSuspend(executions.kt:12) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invokeSuspend(executions.kt:25) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invoke(executions.kt) at io.kotest.core.internal.AssertionsCheckKt.executeWithAssertionsCheck(assertionsCheck.kt:25) at io.kotest.core.internal.ExecutionsKt.wrapTestWithAssertionModeCheck(executions.kt:24) at io.kotest.core.internal.ExecutionsKt.executeWithBehaviours(executions.kt:11) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invokeSuspend(TestCaseExecutor.kt:258) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91) at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194) at io.kotest.core.internal.TestCaseExecutor.executeInScope(TestCaseExecutor.kt:252) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invokeSuspend(TestCaseExecutor.kt:227) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invokeSuspend(TestCaseExecutor.kt:226) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at ???(Coroutine boundary.?(?) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invokeSuspend(TestCaseExecutor.kt:227) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invokeSuspend(TestCaseExecutor.kt:226) at ???(Coroutine creation stacktrace.?(?) at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:122) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invokeSuspend(TestCaseExecutor.kt:225) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invoke(TestCaseExecutor.kt) at io.kotest.mpp.ReplayKt.replay(replay.kt:18) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invokeSuspend(TestCaseExecutor.kt:220) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invokeSuspend(TestCaseExecutor.kt:213) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor.executeAndWait(TestCaseExecutor.kt:212) at io.kotest.core.internal.TestCaseExecutor.invokeTestCase(TestCaseExecutor.kt:180) at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:149) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.executeIfActive(TestCaseExecutor.kt:113) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.intercept(TestCaseExecutor.kt:101) at io.kotest.core.internal.TestCaseExecutor.execute(TestCaseExecutor.kt:67) at io.kotest.engine.runners.SingleInstanceSpecRunner.runTest(SingleInstanceSpecRunner.kt:73) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invokeSuspend(SingleInstanceSpecRunner.kt:83) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invoke(SingleInstanceSpecRunner.kt) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2$1.invokeSuspend(SpecRunner.kt:80) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2.run(SpecRunner.kt:79) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) at io.kotest.core.internal.TestCaseExecutor.executeAndWait(TestCaseExecutor.kt:212) at io.kotest.core.internal.TestCaseExecutor.invokeTestCase(TestCaseExecutor.kt:180) at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:149) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor.executeIfActive(TestCaseExecutor.kt:113) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor.execute(TestCaseExecutor.kt:67) at io.kotest.engine.runners.SingleInstanceSpecRunner.runTest(SingleInstanceSpecRunner.kt:73) Caused by: java.lang.ClassCastException: class kotlin.Pair cannot be cast to class java.lang.Number (kotlin.Pair is in unnamed module of loader 'app'; java.lang.Number is in module java.base of loader 'bootstrap') at arrow.fx.coroutines.ScheduleTestKt.calculateSchedule(ScheduleTest.kt:241) at arrow.fx.coroutines.ScheduleTest$1$16.invokeSuspend(ScheduleTest.kt:126) at arrow.fx.coroutines.ScheduleTest$1$16.invoke(ScheduleTest.kt) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invokeSuspend(executions.kt:13) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt.wrapTestWithGlobalAssert(executions.kt:39) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invokeSuspend(executions.kt:12) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invokeSuspend(executions.kt:25) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invoke(executions.kt) at io.kotest.core.internal.AssertionsCheckKt.executeWithAssertionsCheck(assertionsCheck.kt:25) at io.kotest.core.internal.ExecutionsKt.wrapTestWithAssertionModeCheck(executions.kt:24) at io.kotest.core.internal.ExecutionsKt.executeWithBehaviours(executions.kt:11) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invokeSuspend(TestCaseExecutor.kt:258) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91) at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194) at io.kotest.core.internal.TestCaseExecutor.executeInScope(TestCaseExecutor.kt:252) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invokeSuspend(TestCaseExecutor.kt:227) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invokeSuspend(TestCaseExecutor.kt:226) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:84) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invokeSuspend(TestCaseExecutor.kt:225) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invoke(TestCaseExecutor.kt) at io.kotest.mpp.ReplayKt.replay(replay.kt:18) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invokeSuspend(TestCaseExecutor.kt:220) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:84) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invokeSuspend(TestCaseExecutor.kt:213) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor.executeAndWait(TestCaseExecutor.kt:212) at io.kotest.core.internal.TestCaseExecutor.invokeTestCase(TestCaseExecutor.kt:180) at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:149) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.executeIfActive(TestCaseExecutor.kt:113) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.intercept(TestCaseExecutor.kt:101) at io.kotest.core.internal.TestCaseExecutor.execute(TestCaseExecutor.kt:67) at io.kotest.engine.runners.SingleInstanceSpecRunner.runTest(SingleInstanceSpecRunner.kt:73) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invokeSuspend(SingleInstanceSpecRunner.kt:83) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invoke(SingleInstanceSpecRunner.kt) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2$1.invokeSuspend(SpecRunner.kt:80) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:84) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2.run(SpecRunner.kt:79) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)
- Schedule.exponential() java.lang.ClassCastException: class kotlin.time.Duration cannot be cast to class java.lang.Number (kotlin.time.Duration is in unnamed module of loader 'app'; java.lang.Number is in module java.base of loader 'bootstrap') at arrow.fx.coroutines.Schedule$Companion$delayed$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$modifyDelay$1$1.invokeSuspend(Schedule.kt:434) at arrow.fx.coroutines.Schedule$ScheduleImpl$modifyDelay$1$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invokeSuspend(Schedule.kt:495) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1$1.invokeSuspend(Schedule.kt:495) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$reconsider$1$1.invokeSuspend(Schedule.kt:504) at arrow.fx.coroutines.Schedule$ScheduleImpl$reconsider$1$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invokeSuspend(Schedule.kt:495) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invoke(Schedule.kt) at arrow.fx.coroutines.ScheduleTestKt.go(ScheduleTest.kt:256) at arrow.fx.coroutines.ScheduleTestKt.calculateSchedule(ScheduleTest.kt:244) at arrow.fx.coroutines.ScheduleTest$1$18.invokeSuspend(ScheduleTest.kt:152) at arrow.fx.coroutines.ScheduleTest$1$18.invoke(ScheduleTest.kt) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invokeSuspend(executions.kt:13) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt.wrapTestWithGlobalAssert(executions.kt:39) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invokeSuspend(executions.kt:12) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invokeSuspend(executions.kt:25) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invoke(executions.kt) at io.kotest.core.internal.AssertionsCheckKt.executeWithAssertionsCheck(assertionsCheck.kt:25) at io.kotest.core.internal.ExecutionsKt.wrapTestWithAssertionModeCheck(executions.kt:24) at io.kotest.core.internal.ExecutionsKt.executeWithBehaviours(executions.kt:11) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invokeSuspend(TestCaseExecutor.kt:258) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91) at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194) at io.kotest.core.internal.TestCaseExecutor.executeInScope(TestCaseExecutor.kt:252) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invokeSuspend(TestCaseExecutor.kt:227) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invokeSuspend(TestCaseExecutor.kt:226) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at ???(Coroutine boundary.?(?) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invokeSuspend(TestCaseExecutor.kt:227) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invokeSuspend(TestCaseExecutor.kt:226) at ???(Coroutine creation stacktrace.?(?) at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:122) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invokeSuspend(TestCaseExecutor.kt:225) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invoke(TestCaseExecutor.kt) at io.kotest.mpp.ReplayKt.replay(replay.kt:18) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invokeSuspend(TestCaseExecutor.kt:220) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invokeSuspend(TestCaseExecutor.kt:213) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor.executeAndWait(TestCaseExecutor.kt:212) at io.kotest.core.internal.TestCaseExecutor.invokeTestCase(TestCaseExecutor.kt:180) at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:149) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.executeIfActive(TestCaseExecutor.kt:113) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.intercept(TestCaseExecutor.kt:101) at io.kotest.core.internal.TestCaseExecutor.execute(TestCaseExecutor.kt:67) at io.kotest.engine.runners.SingleInstanceSpecRunner.runTest(SingleInstanceSpecRunner.kt:73) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invokeSuspend(SingleInstanceSpecRunner.kt:83) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invoke(SingleInstanceSpecRunner.kt) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2$1.invokeSuspend(SpecRunner.kt:80) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2.run(SpecRunner.kt:79) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) at io.kotest.core.internal.TestCaseExecutor.executeAndWait(TestCaseExecutor.kt:212) at io.kotest.core.internal.TestCaseExecutor.invokeTestCase(TestCaseExecutor.kt:180) at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:149) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor.executeIfActive(TestCaseExecutor.kt:113) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor.execute(TestCaseExecutor.kt:67) at io.kotest.engine.runners.SingleInstanceSpecRunner.runTest(SingleInstanceSpecRunner.kt:73) Caused by: java.lang.ClassCastException: class kotlin.time.Duration cannot be cast to class java.lang.Number (kotlin.time.Duration is in unnamed module of loader 'app'; java.lang.Number is in module java.base of loader 'bootstrap') at arrow.fx.coroutines.Schedule$Companion$delayed$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$modifyDelay$1$1.invokeSuspend(Schedule.kt:434) at arrow.fx.coroutines.Schedule$ScheduleImpl$modifyDelay$1$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invokeSuspend(Schedule.kt:495) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1$1.invokeSuspend(Schedule.kt:495) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$reconsider$1$1.invokeSuspend(Schedule.kt:504) at arrow.fx.coroutines.Schedule$ScheduleImpl$reconsider$1$1.invoke(Schedule.kt) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invokeSuspend(Schedule.kt:495) at arrow.fx.coroutines.Schedule$ScheduleImpl$updated$1.invoke(Schedule.kt) at arrow.fx.coroutines.ScheduleTestKt.go(ScheduleTest.kt:256) at arrow.fx.coroutines.ScheduleTestKt.calculateSchedule(ScheduleTest.kt:244) at arrow.fx.coroutines.ScheduleTest$1$18.invokeSuspend(ScheduleTest.kt:152) at arrow.fx.coroutines.ScheduleTest$1$18.invoke(ScheduleTest.kt) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invokeSuspend(executions.kt:13) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt.wrapTestWithGlobalAssert(executions.kt:39) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invokeSuspend(executions.kt:12) at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invoke(executions.kt) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invokeSuspend(executions.kt:25) at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invoke(executions.kt) at io.kotest.core.internal.AssertionsCheckKt.executeWithAssertionsCheck(assertionsCheck.kt:25) at io.kotest.core.internal.ExecutionsKt.wrapTestWithAssertionModeCheck(executions.kt:24) at io.kotest.core.internal.ExecutionsKt.executeWithBehaviours(executions.kt:11) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invokeSuspend(TestCaseExecutor.kt:258) at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91) at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194) at io.kotest.core.internal.TestCaseExecutor.executeInScope(TestCaseExecutor.kt:252) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invokeSuspend(TestCaseExecutor.kt:227) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1$1.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invokeSuspend(TestCaseExecutor.kt:226) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:84) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invokeSuspend(TestCaseExecutor.kt:225) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$3.invoke(TestCaseExecutor.kt) at io.kotest.mpp.ReplayKt.replay(replay.kt:18) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invokeSuspend(TestCaseExecutor.kt:220) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invoke(TestCaseExecutor.kt) at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$$inlined$suspendCoroutine$lambda$2.invokeSuspend(ExecutorExecutionContext.kt:56) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:84) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:55) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invokeSuspend(TestCaseExecutor.kt:213) at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invoke(TestCaseExecutor.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at io.kotest.core.internal.TestCaseExecutor.executeAndWait(TestCaseExecutor.kt:212) at io.kotest.core.internal.TestCaseExecutor.invokeTestCase(TestCaseExecutor.kt:180) at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:149) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.executeIfActive(TestCaseExecutor.kt:113) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invokeSuspend(TestCaseExecutor.kt:87) at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invoke(TestCaseExecutor.kt) at io.kotest.core.internal.TestCaseExecutor.intercept(TestCaseExecutor.kt:101) at io.kotest.core.internal.TestCaseExecutor.execute(TestCaseExecutor.kt:67) at io.kotest.engine.runners.SingleInstanceSpecRunner.runTest(SingleInstanceSpecRunner.kt:73) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invokeSuspend(SingleInstanceSpecRunner.kt:83) at io.kotest.engine.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$1.invoke(SingleInstanceSpecRunner.kt) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2$1.invokeSuspend(SpecRunner.kt:80) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:84) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at io.kotest.engine.spec.SpecRunner$runParallel$$inlined$map$lambda$2.run(SpecRunner.kt:79) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)

Similar error's can be seen with:

Any Feedback is very welcome 😄

Related PRs

i-walker commented 3 years ago

closing this, because the problem of this PR has been fixed among other things in #389