WatcherTest
|
100%
successful |
Tests
| Test | Duration | Result |
|---|---|---|
| a branch config committed under the pre-rename name is still read | 0.012s | passed |
| a branch entry overrides requirePullRequest from the default entry | 0.009s | passed |
| a branch requiring a pull request is only built when its head matches a pull-request head | 0.010s | passed |
| a branch's committed config is read from git again only after the branch moved | 0.010s | passed |
| a build definition committed on a branch fires for that branch, without any entry in the primary config | 0.014s | passed |
| a build definition committed on a branch never schedules another branch | 0.010s | passed |
| a commit-triggered build belongs to the default build definition | 0.010s | passed |
| a disabled pull-request gate builds gated branches on plain-git origins without querying pull-request refs | 0.007s | passed |
| a failing fast-forward does not abort the poll cycle | 0.007s | passed |
| a fetch failure is exposed in the state and only retried next cycle | 0.089s | passed |
| a lasting fetch failure is logged once, and so is the recovery | 0.008s | passed |
| a poll cycle completes while a build is running and still enqueues other branches | 0.013s | passed |
| a repository whose poll crashes reports it by name and the cycle goes on | 0.016s | passed |
| a running build of another repository does not keep this repository's worktree | 0.015s | passed |
| a scheduled build definition fires for its selected branches under its own pool | 0.014s | passed |
| a scheduled build definition with activeWithin skips branches without recent commits | 0.010s | passed |
| an auto build requiring a pull request is skipped and its slot stays untriggered | 0.013s | passed |
| an auto-build slot stays untriggered while the branch is still building | 0.014s | passed |
| an edited primary config takes effect without the branch moving | 0.015s | passed |
| an onPush build definition builds the changed branches it selects | 0.029s | passed |
| an unreadable branch config falls back to the primary definitions instead of failing the poll | 0.022s | passed |
| auto builds rebuild the already built commit once per day and slot | 0.016s | passed |
| builds.default with onPush false disables the implicit on-push build | 0.010s | passed |
| one repository's unreachable origin neither stops nor silences the other | 0.014s | passed |
| poll does not re-enqueue a commit that was already built | 0.015s | passed |
| poll drops builds older than retentionMaxAge but keeps the branch's newest build | 0.022s | passed |
| poll enqueues changed local branches before recent new origin branches | 0.008s | passed |
| poll fast-forwards local branch refs only after the enqueue decision was made | 0.010s | passed |
| poll filters new origin branches by the configured newBranchMaxAge | 0.008s | passed |
| poll keeps the latest green build beyond retention unless keepLatestGreen is disabled | 0.083s | passed |
| poll leaves local branch refs alone when fastForwardLocalRefs is disabled | 0.006s | passed |
| poll prunes results, artifacts, and worktrees of branches gone from origin | 0.025s | passed |
| poll skips a branch whose build is already pending or running | 0.009s | passed |
| pull-request refs are not queried when no due branch requires a pull request | 0.009s | passed |
| start runs recovery plus an immediate first poll; stop halts the loop | 0.014s | passed |
| startup recovery closes out an orphaned PENDING build of a branch gone from origin | 0.029s | passed |
| startup recovery marks stale builds interrupted and re-enqueues them | 0.043s | passed |
| startup recovery re-enqueues an interrupted build under its recorded build definition | 0.020s | passed |
| startup recovery skips branches gone from origin and survives a failing fetch | 0.029s | passed |
| worktrees of queued or running builds are never pruned | 0.026s | passed |
Standard output
Creating nstance of class de.hoennig.werkator.watcher.WatcherTest 2026-09-03T16:01:54.637Z WARN 144 --- [e-287609125#515] de.hoennig.werkator.watcher.Watcher : [test] fetching origin failed; retrying every cycle until it succeeds: origin unreachable 2026-09-03T16:01:54.645Z WARN 144 --- [e-287609125#516] de.hoennig.werkator.watcher.Watcher : [test] fetching origin failed; retrying every cycle until it succeeds: origin unreachable 2026-09-03T16:01:54.646Z INFO 144 --- [e-287609125#516] de.hoennig.werkator.watcher.Watcher : [test] fetching origin succeeded again 2026-09-03T16:01:54.648Z WARN 144 --- [e-287609125#516] de.hoennig.werkator.watcher.Watcher : [test] fetching origin failed; retrying every cycle until it succeeds: host is down 2026-09-03T16:01:54.655Z INFO 144 --- [e-287609125#517] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-main 2026-09-03T16:01:54.656Z INFO 144 --- [e-287609125#517] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch feature/new at commit commit-feature 2026-09-03T16:01:54.663Z INFO 144 --- [e-287609125#518] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-main 2026-09-03T16:01:54.664Z INFO 144 --- [e-287609125#518] de.hoennig.werkator.watcher.Watcher : fast-forwarded local branch refs to origin: main 2026-09-03T16:01:54.673Z WARN 144 --- [e-287609125#519] de.hoennig.werkator.watcher.Watcher : fast-forwarding local branch refs failed: ref locked 2026-09-03T16:01:54.702Z INFO 144 --- [e-287609125#522] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch feature/other at commit commit-3 2026-09-03T16:01:54.715Z INFO 144 --- [e-287609125#523] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-def 2026-09-03T16:01:54.736Z INFO 144 --- [e-287609125#525] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch feature/pr at commit commit-pr 2026-09-03T16:01:54.736Z INFO 144 --- [e-287609125#525] de.hoennig.werkator.watcher.Watcher : not enqueueing branch feature/no-pr: no pull request has head commit commit-solo 2026-09-03T16:01:54.745Z INFO 144 --- [e-287609125#526] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch feature/x at commit commit-x 2026-09-03T16:01:54.755Z INFO 144 --- [e-287609125#527] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch feature/no-pr at commit commit-solo 2026-09-03T16:01:54.765Z INFO 144 --- [e-287609125#528] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-main 2026-09-03T16:01:54.775Z WARN 144 --- [e-287609125#529] de.hoennig.werkator.watcher.Watcher : branches.*.autoBuild is deprecated; define a build with atTimes in the builds section instead (branches: main) 2026-09-03T16:01:54.777Z INFO 144 --- [e-287609125#529] de.hoennig.werkator.watcher.Watcher : not enqueueing branch main: no pull request has head commit commit-abc 2026-09-03T16:01:54.788Z WARN 144 --- [e-287609125#530] de.hoennig.werkator.watcher.Watcher : branches.*.autoBuild is deprecated; define a build with atTimes in the builds section instead (branches: main) 2026-09-03T16:01:54.789Z INFO 144 --- [e-287609125#530] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-abc 2026-09-03T16:01:54.805Z INFO 144 --- [e-287609125#531] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build pitest of branch main at commit commit-abc 2026-09-03T16:01:54.806Z INFO 144 --- [e-287609125#531] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build pitest of branch release/1.x at commit commit-rel 2026-09-03T16:01:54.818Z INFO 144 --- [e-287609125#532] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build pitest of branch active at commit commit-act 2026-09-03T16:01:54.829Z INFO 144 --- [e-287609125#533] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-main 2026-09-03T16:01:54.829Z INFO 144 --- [e-287609125#533] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build lint of branch main at commit commit-main 2026-09-03T16:01:54.829Z INFO 144 --- [e-287609125#533] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch feature/x at commit commit-feat 2026-09-03T16:01:54.870Z INFO 144 --- [e-287609125#535] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-main 2026-09-03T16:01:54.882Z INFO 144 --- [e-287609125#536] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build pitest of branch experiment at commit commit-exp 2026-09-03T16:01:54.899Z INFO 144 --- [e-287609125#537] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build pitest of branch experiment at commit commit-exp 2026-09-03T16:01:54.932Z INFO 144 --- [e-287609125#540] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build nightly of branch main at commit commit-1 2026-09-03T16:01:54.956Z WARN 144 --- [e-287609125#541] de.hoennig.werkator.watcher.Watcher : ignoring the committed .werkator.yml of branch main at commit-main: mapping problem 2026-09-03T16:01:54.956Z INFO 144 --- [e-287609125#541] de.hoennig.werkator.watcher.Watcher : [test] enqueueing build default of branch main at commit commit-main 2026-09-03T16:01:54.968Z WARN 144 --- [e-287609125#542] de.hoennig.werkator.watcher.Watcher : branches.*.autoBuild is deprecated; define a build with atTimes in the builds section instead (branches: main) 2026-09-03T16:01:54.995Z INFO 144 --- [e-287609125#543] de.hoennig.werkator.watcher.Watcher : marked stale build of branch main as interrupted 2026-09-03T16:01:54.996Z INFO 144 --- [e-287609125#543] de.hoennig.werkator.watcher.Watcher : restarting unfinished build default of branch queued 2026-09-03T16:01:54.996Z INFO 144 --- [e-287609125#543] de.hoennig.werkator.watcher.Watcher : restarting unfinished build default of branch feature/a 2026-09-03T16:01:54.999Z INFO 144 --- [e-287609125#543] de.hoennig.werkator.watcher.Watcher : restarting unfinished build default of branch main 2026-09-03T16:01:55.041Z WARN 144 --- [e-287609125#544] de.hoennig.werkator.watcher.Watcher : startup fetch failed; recovering from the last known origin state: origin unreachable 2026-09-03T16:01:55.043Z INFO 144 --- [e-287609125#544] de.hoennig.werkator.watcher.Watcher : restarting unfinished build default of branch main 2026-09-03T16:01:55.046Z INFO 144 --- [e-287609125#544] de.hoennig.werkator.watcher.Watcher : not restarting build of branch gone: branch is gone from origin 2026-09-03T16:01:55.067Z INFO 144 --- [e-287609125#545] de.hoennig.werkator.watcher.Watcher : restarting unfinished build pitest of branch main 2026-09-03T16:01:55.098Z INFO 144 --- [e-287609125#546] de.hoennig.werkator.watcher.Watcher : not restarting build of branch gone: branch is gone from origin 2026-09-03T16:01:55.126Z INFO 144 --- [e-287609125#547] de.hoennig.werkator.watcher.Watcher : removing worktree of branch gone from origin: gone-283bb9deef02 2026-09-03T16:01:55.274Z INFO 144 --- [e-287609125#551] de.hoennig.werkator.watcher.Watcher : removing worktree of branch gone from origin: gone-283bb9deef02 2026-09-03T16:01:55.284Z WARN 144 --- [e-287609125#552] de.hoennig.werkator.watcher.Watcher : [test] fetching origin failed; retrying every cycle until it succeeds: origin unreachable 2026-09-03T16:01:55.285Z INFO 144 --- [e-287609125#552] de.hoennig.werkator.watcher.Watcher : [other] enqueueing build default of branch main at commit commit-other 2026-09-03T16:01:55.298Z ERROR 144 --- [e-287609125#553] de.hoennig.werkator.watcher.Watcher : [other] poll cycle failed java.lang.IllegalStateException: corrupt refs at de.hoennig.werkator.watcher.WatcherTest$39.invokeSuspend(WatcherTest.kt:827) ~[test/:na] at de.hoennig.werkator.watcher.WatcherTest$39.invoke(WatcherTest.kt) ~[test/:na] at de.hoennig.werkator.watcher.WatcherTest$39.invoke(WatcherTest.kt) ~[test/:na] at io.kotest.engine.test.TestCaseExecutor$execute$base$1.invoke(TestCaseExecutor.kt:118) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.CoroutineDebugProbeInterceptor.intercept(CoroutineDebugProbeInterceptor.kt:33) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor$runBeforeTestAfter$executeWithBeforeAfter$1.invoke(TestInvocationInterceptor.kt:92) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.InvocationTimeoutInterceptor$intercept$3.invokeSuspend(InvocationTimeoutInterceptor.kt:38) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.InvocationTimeoutInterceptor$intercept$3.invoke(InvocationTimeoutInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.InvocationTimeoutInterceptor$intercept$3.invoke(InvocationTimeoutInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:50) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:149) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.TimeoutKt.withTimeoutOrNull(Timeout.kt:105) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.TimeoutKt.withTimeoutOrNull-KLykuaI(Timeout.kt:137) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.engine.test.interceptors.TimeoutInterceptorKt.withAppropriateTimeoutOrNull-KLykuaI(TimeoutInterceptor.kt:101) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.InvocationTimeoutInterceptor.intercept(InvocationTimeoutInterceptor.kt:37) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor$runBeforeTestAfter$wrappedTest$1$1.invoke(TestInvocationInterceptor.kt:100) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor.runBeforeTestAfter(TestInvocationInterceptor.kt:103) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor.access$runBeforeTestAfter(TestInvocationInterceptor.kt:18) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor$invokeWithRetry$2.invokeSuspend(TestInvocationInterceptor.kt:53) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor$invokeWithRetry$2.invoke(TestInvocationInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor$invokeWithRetry$2.invoke(TestInvocationInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:286) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.engine.test.TestInvocationInterceptor.invokeWithRetry(TestInvocationInterceptor.kt:51) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestInvocationInterceptor.intercept(TestInvocationInterceptor.kt:33) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.MarkOpenTest4jAbortedExceptionsAsSkippedTestInterceptor.intercept(MarkOpenTest4jAbortedExceptionsAsSkippedTestInterceptor.kt:22) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.HandleSkippedExceptionsTestInterceptor.intercept(HandleSkippedExceptionsTestInterceptor.kt:15) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TimeoutInterceptor$intercept$3.invokeSuspend(TimeoutInterceptor.kt:59) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TimeoutInterceptor$intercept$3.invoke(TimeoutInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TimeoutInterceptor$intercept$3.invoke(TimeoutInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:50) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:149) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:72) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.engine.test.interceptors.TimeoutInterceptorKt.withAppropriateTimeout-KLykuaI(TimeoutInterceptor.kt:88) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TimeoutInterceptor.intercept(TimeoutInterceptor.kt:58) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.BlockedThreadTimeoutInterceptor.intercept(BlockedThreadTimeoutInterceptor.kt:87) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.CoroutineLoggingInterceptor.intercept(CoroutineLoggingInterceptor.kt:36) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.SoftAssertInterceptor.intercept(SoftAssertInterceptor.kt:26) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.AssertionModeInterceptor.intercept(AssertionModeInterceptor.kt:29) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.LifecycleInterceptor.intercept(LifecycleInterceptor.kt:48) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TestCaseExtensionInterceptor$intercept$2.invoke(TestCaseExtensionInterceptor.kt:21) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestExtensions$intercept$execute$1$1$1.invokeSuspend(TestExtensions.kt:146) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestExtensions$intercept$execute$1$1$1.invoke(TestExtensions.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestExtensions$intercept$execute$1$1$1.invoke(TestExtensions.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.extensions.spring.SpringExtension.intercept$suspendImpl(SpringExtension.kt:93) ~[kotest-extensions-spring-jvm-6.1.5.jar:na] at io.kotest.extensions.spring.SpringExtension.intercept(SpringExtension.kt) ~[kotest-extensions-spring-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestExtensions$intercept$execute$1$1.invoke(TestExtensions.kt:143) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestExtensions.intercept(TestExtensions.kt:151) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TestCaseExtensionInterceptor.intercept(TestCaseExtensionInterceptor.kt:21) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TestEnabledCheckInterceptor.intercept(TestEnabledCheckInterceptor.kt:41) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.CoroutineErrorCollectorInterceptor$intercept$3.invokeSuspend(CoroutineErrorCollectorInterceptor.kt:39) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.CoroutineErrorCollectorInterceptor$intercept$3.invoke(CoroutineErrorCollectorInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.CoroutineErrorCollectorInterceptor$intercept$3.invoke(CoroutineErrorCollectorInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.engine.test.interceptors.CoroutineErrorCollectorInterceptor.intercept(CoroutineErrorCollectorInterceptor.kt:38) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.CoroutineDispatcherFactoryTestInterceptor.intercept(CoroutineDispatcherFactoryTestInterceptor.kt:41) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.SupervisorScopeInterceptor$intercept$2.invokeSuspend(SupervisorScopeInterceptor.kt:23) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.SupervisorScopeInterceptor$intercept$2.invoke(SupervisorScopeInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.SupervisorScopeInterceptor$intercept$2.invoke(SupervisorScopeInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.SupervisorKt.supervisorScope(Supervisor.kt:56) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.engine.test.interceptors.SupervisorScopeInterceptor.intercept(SupervisorScopeInterceptor.kt:22) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.InvocationCountCheckInterceptor.intercept(InvocationCountCheckInterceptor.kt:33) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TestFinishedInterceptor.intercept(TestFinishedInterceptor.kt:23) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.FailFastInterceptor.intercept(FailFastInterceptor.kt:31) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TestNameContextInterceptor$intercept$2.invokeSuspend(TestNameContextInterceptor.kt:21) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TestNameContextInterceptor$intercept$2.invoke(TestNameContextInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.TestNameContextInterceptor$intercept$2.invoke(TestNameContextInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.engine.test.interceptors.TestNameContextInterceptor.intercept(TestNameContextInterceptor.kt:20) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.DescriptorPathContextInterceptor$intercept$2.invokeSuspend(DescriptorPathContextInterceptor.kt:21) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.DescriptorPathContextInterceptor$intercept$2.invoke(DescriptorPathContextInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.interceptors.DescriptorPathContextInterceptor$intercept$2.invoke(DescriptorPathContextInterceptor.kt) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.engine.test.interceptors.DescriptorPathContextInterceptor.intercept(DescriptorPathContextInterceptor.kt:20) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:123) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.test.TestCaseExecutor.execute(TestCaseExecutor.kt:124) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.spec.execution.SingleInstanceSpecExecutor.executeTest(SingleInstanceSpecExecutor.kt:75) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.spec.execution.SingleInstanceSpecExecutor.access$executeTest(SingleInstanceSpecExecutor.kt:25) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at io.kotest.engine.spec.execution.SingleInstanceSpecExecutor$launchRootTests$2$1$1.invokeSuspend(SingleInstanceSpecExecutor.kt:56) ~[kotest-framework-engine-jvm-6.1.5.jar:na] at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlin-stdlib-2.2.0.jar:2.2.0-release-294] at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) ~[kotlinx-coroutines-core-jvm-1.10.2.jar:na] at io.kotest.runner.junit.platform.KotestJunitPlatformTestEngine.execute(KotestJunitPlatformTestEngine.kt:78) ~[kotest-runner-junit-platform-jvm-6.1.5.jar:na] at io.kotest.runner.junit.platform.KotestJunitPlatformTestEngine.execute(KotestJunitPlatformTestEngine.kt:48) ~[kotest-runner-junit-platform-jvm-6.1.5.jar:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:246) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:218) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:179) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:66) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:157) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:65) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:125) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:93) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:48) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$0(InterceptingLauncher.java:41) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:40) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:48) ~[junit-platform-launcher-6.0.3.jar:6.0.3] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:124) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:99) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:94) ~[na:na] at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:63) ~[na:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) ~[na:na] at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[na:na] at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92) ~[na:na] at jdk.proxy1/jdk.proxy1.$Proxy4.stop(Unknown Source) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:200) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:132) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) ~[na:na] at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) ~[na:na] at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) ~[gradle-worker.jar:na] at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) ~[gradle-worker.jar:na]