Build Logs
arainko/ducktape • 3.8.0-RC4:2025-12-22
Errors
0
Warnings
162
Total Lines
742
1##################################
2Clonning https://github.com/arainko/ducktape.git into /build/repo using revision v0.2.11
3##################################
4Note: switching to 'b7dc16e33aed93217d3e691be9961d10d558d075'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21----
22Preparing build for 3.8.0-RC4
23Scala binary version found: 3.8
24Using configured source version: 3.3
25Scala binary version found: 3.8
26Using configured source version: 3.3
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.3
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30----
31Starting build for 3.8.0-RC4
32Execute tests: true
33sbt project found:
34No prepare script found for project arainko/ducktape
35##################################
36Scala version: 3.8.0-RC4
37Targets: io.github.arainko%ducktape
38Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.3","migrationVersions":[],"sourcePatches":[]}
39##################################
40Using extra scalacOptions: ,REQUIRE:-source:3.3
41Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
42[sbt_options] declare -a sbt_options=()
43[process_args] java_version = '17'
44[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
45# Executing command line:
46java
47-Dfile.encoding=UTF-8
48-Xmx5G
49-Xms1G
50-Xss2M
51-Dsun.net.client.defaultReadTimeout=60000
52-Dcommunitybuild.scala=3.8.0-RC4
53-Dcommunitybuild.project.dependencies.add=
54-Xmx7G
55-Xms4G
56-Xss8M
57-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
58-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
59-jar
60/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
61"setCrossScalaVersions 3.8.0-RC4"
62"++3.8.0-RC4 -v"
63"mapScalacOptions ",REQUIRE:-source:3.3,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
64"set every credentials := Nil"
65"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
66"removeScalacOptionsStartingWith -P:wartremover"
67
68moduleMappings
69"runBuild 3.8.0-RC4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.3","migrationVersions":[],"sourcePatches":[]}""" io.github.arainko%ducktape"
70
71[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
72[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
73[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
74[info] loading project definition from /build/repo/project
75[info] compiling 3 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
76[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
77[info] Compilation completed in 8.516s.
78[info] done compiling
79[info] loading settings for project root from build.sbt...
80[info] resolving key references (10651 settings) ...
81[info] set scmInfo to https://github.com/arainko/ducktape
82[info] set current project to root (in build file:/build/repo/)
83Execute setCrossScalaVersions: 3.8.0-RC4
84[info] set scmInfo to https://github.com/arainko/ducktape
85OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in root/crossScalaVersions
86OpenCB::Limitting incorrect crossVersions List() -> List(3.8.0-RC4) in root/crossScalaVersions
87OpenCB::Changing crossVersion 3.7.4 -> 3.8.0-RC4 in scalaNextTests/crossScalaVersions
88OpenCB::Limitting incorrect crossVersions List(3.3.7) -> List(3.8.0-RC4) in scalaNextTests/crossScalaVersions
89OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in rootJVM/crossScalaVersions
90OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in rootNative/crossScalaVersions
91OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in rootJS/crossScalaVersions
92OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in docs/crossScalaVersions
93OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in ducktapeJVM/crossScalaVersions
94OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in ducktapeJS/crossScalaVersions
95OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in ducktapeNative/crossScalaVersions
96[info] set current project to root (in build file:/build/repo/)
97[info] Setting Scala version to 3.8.0-RC4 on 9 projects.
98[info] Switching Scala version on:
99[info] * root (3.8.0-RC4)
100[info] rootJS (3.8.0-RC4)
101[info] docs (3.8.0-RC4)
102[info] ducktapeJVM (3.8.0-RC4)
103[info] ducktapeNative (3.8.0-RC4)
104[info] rootJVM (3.8.0-RC4)
105[info] rootNative (3.8.0-RC4)
106[info] scalaNextTests (3.8.0-RC4)
107[info] ducktapeJS (3.8.0-RC4)
108[info] Excluding projects:
109[info] Reapplying settings...
110[info] set scmInfo to https://github.com/arainko/ducktape
111[info] set current project to root (in build file:/build/repo/)
112Execute mapScalacOptions: ,REQUIRE:-source:3.3,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
113[info] Reapplying settings...
114[info] set scmInfo to https://github.com/arainko/ducktape
115[info] set current project to root (in build file:/build/repo/)
116[info] Defining Global / credentials, credentials and 7 others.
117[info] The new values will be used by Compile / scalafmtOnly, IntegrationTest / scalafmtOnly and 79 others.
118[info] Run `last` for details.
119[info] Reapplying settings...
120[info] set scmInfo to https://github.com/arainko/ducktape
121[info] set current project to root (in build file:/build/repo/)
122Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
123[info] Reapplying settings...
124OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
125
126 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
127 Did you mean allExcludeDependencies ?
128 , retry without global scopes
129[info] Reapplying settings...
130[info] set scmInfo to https://github.com/arainko/ducktape
131[info] set current project to root (in build file:/build/repo/)
132Execute removeScalacOptionsStartingWith: -P:wartremover
133[info] Reapplying settings...
134[info] set scmInfo to https://github.com/arainko/ducktape
135[info] set current project to root (in build file:/build/repo/)
136[success] Total time: 0 s, completed Dec 22, 2025, 6:25:29 PM
137Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.3","migrationVersions":[],"sourcePatches":[]}
138Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
139Starting build...
140Projects: Set(ducktapeJVM)
141Starting build for ProjectRef(file:/build/repo/,ducktapeJVM) (ducktape)... [0/1]
142OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.3` in Scala 2.12.20 module Global
143OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
144Compile scalacOptions: -Wunused:all, -Ykind-projector:underscores, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/ducktape/.jvm/target/scala-3.8.0-RC4/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.3
145[info] compiling 60 Scala sources to /build/repo/ducktape/.jvm/target/scala-3.8.0-RC4/classes ...
146[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
147[warn] -- [E198] Unused Symbol Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/Planner.scala:4:71
148[warn] 4 |import io.github.arainko.ducktape.internal.Context.{ PossiblyFallible, Total }
149[warn] | ^^^^^
150[warn] | unused import
151[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:80:12
152[warn] 80 | (source.underlying.tpe, dest.tpe) match {
153[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
154[warn] | match may not be exhaustive.
155[warn] |
156[warn] | It would fail on pattern case: (_, _)
157[warn] |
158[warn] | longer explanation available when compiling with `-explain`
159[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:92:16
160[warn] 92 | (source.underlying.tpe, dest.tpe) match {
161[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
162[warn] | match may not be exhaustive.
163[warn] |
164[warn] | It would fail on pattern case: (_, _)
165[warn] |
166[warn] | longer explanation available when compiling with `-explain`
167[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:130:12
168[warn] 130 | (source.paramStruct.tpe, dest.paramStruct.tpe) match {
169[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
170[warn] | match may not be exhaustive.
171[warn] |
172[warn] | It would fail on pattern case: (_, _)
173[warn] |
174[warn] | longer explanation available when compiling with `-explain`
175[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:143:13
176[warn] 143 | (source.tpe -> dest.paramStruct.tpe) match {
177[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
178[warn] | match may not be exhaustive.
179[warn] |
180[warn] | It would fail on pattern case: (_, _)
181[warn] |
182[warn] | longer explanation available when compiling with `-explain`
183[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:150:12
184[warn] 150 | (dest.tpe, source.paramStruct.tpe, dest.paramStruct.tpe) match {
185[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
186[warn] | match may not be exhaustive.
187[warn] |
188[warn] | It would fail on pattern case: (_, _, _)
189[warn] |
190[warn] | longer explanation available when compiling with `-explain`
191[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:182:13
192[warn] 182 | (source.tpe -> dest.tpe) match {
193[warn] | ^^^^^^^^^^^^^^^^^^^^^^
194[warn] | match may not be exhaustive.
195[warn] |
196[warn] | It would fail on pattern case: (_, _)
197[warn] |
198[warn] | longer explanation available when compiling with `-explain`
199[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:195:13
200[warn] 195 | (source.tpe -> dest.tpe) match {
201[warn] | ^^^^^^^^^^^^^^^^^^^^^^
202[warn] | match may not be exhaustive.
203[warn] |
204[warn] | It would fail on pattern case: (_, _)
205[warn] |
206[warn] | longer explanation available when compiling with `-explain`
207[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/Function.scala:26:4
208[warn] 26 | returnTpe -> refinedArgs.asType match {
209[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
210[warn] | match may not be exhaustive.
211[warn] |
212[warn] | It would fail on pattern case: (_, _)
213[warn] |
214[warn] | longer explanation available when compiling with `-explain`
215[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/PlanInterpreter.scala:98:9
216[warn] 98 | (sourceTpe.paramStruct.tpe -> destTpe.paramStruct.tpe) match {
217[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
218[warn] | match may not be exhaustive.
219[warn] |
220[warn] | It would fail on pattern case: (_, _)
221[warn] |
222[warn] | longer explanation available when compiling with `-explain`
223[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/PlanInterpreter.scala:106:9
224[warn] 106 | (sourceTpe.tpe -> destTpe.paramStruct.tpe) match {
225[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
226[warn] | match may not be exhaustive.
227[warn] |
228[warn] | It would fail on pattern case: (_, _)
229[warn] |
230[warn] | longer explanation available when compiling with `-explain`
231[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/PlanInterpreter.scala:114:8
232[warn] 114 | (dest.tpe, source.paramStruct.tpe, dest.paramStruct.tpe) match {
233[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
234[warn] | match may not be exhaustive.
235[warn] |
236[warn] | It would fail on pattern case: (_, _, _)
237[warn] |
238[warn] | longer explanation available when compiling with `-explain`
239[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/Planner.scala:394:9
240[warn] 394 | (src.tpe -> dest.tpe) match {
241[warn] | ^^^^^^^^^^^^^^^^^^^
242[warn] | match may not be exhaustive.
243[warn] |
244[warn] | It would fail on pattern case: (_, _)
245[warn] |
246[warn] | longer explanation available when compiling with `-explain`
247[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/Planner.scala:411:7
248[warn] 411 | (src.tpe -> dest.tpe) match {
249[warn] | ^^^^^^^^^^^^^^^^^^^
250[warn] | match may not be exhaustive.
251[warn] |
252[warn] | It would fail on pattern case: (_, _)
253[warn] |
254[warn] | longer explanation available when compiling with `-explain`
255[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/ProductZipper.scala:41:7
256[warn] 41 | (accumulated -> current) match {
257[warn] | ^^^^^^^^^^^^^^^^^^^^^^
258[warn] | match may not be exhaustive.
259[warn] |
260[warn] | It would fail on pattern case: (_, _)
261[warn] |
262[warn] | longer explanation available when compiling with `-explain`
263[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/extensions.scala:39:14
264[warn] 39 | (expr, fieldTpe) match {
265[warn] | ^^^^^^^^^^^^^^^^
266[warn] | match may not be exhaustive.
267[warn] |
268[warn] | It would fail on pattern case: (_, _)
269[warn] |
270[warn] | longer explanation available when compiling with `-explain`
271[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/extensions.scala:56:6
272[warn] 56 | (expr, tpeAtIndex) match {
273[warn] | ^^^^^^^^^^^^^^^^^^
274[warn] | match may not be exhaustive.
275[warn] |
276[warn] | It would fail on pattern case: (_, _)
277[warn] |
278[warn] | longer explanation available when compiling with `-explain`
279Warning: mocking up superclass for module class internal
280[warn] -- Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/ConfigParser.scala:17:1
281[warn] 17 |@nowarn("msg=unused local definition")
282[warn] |^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
283[warn] |@nowarn annotation does not suppress any warnings
284[warn] -- Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/FalliblePlanInterpreter.scala:170:16
285[warn] 170 | }: @nowarn("msg=unused local definition")
286[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
287[warn] | @nowarn annotation does not suppress any warnings
288[warn] -- Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/PlanInterpreter.scala:137:16
289[warn] 137 | }: @nowarn("msg=unused local definition")
290[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
291[warn] | @nowarn annotation does not suppress any warnings
292[warn] -- Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/PlanInterpreter.scala:147:16
293[warn] 147 | }: @nowarn("msg=unused local definition")
294[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
295[warn] | @nowarn annotation does not suppress any warnings
296[warn] -- Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/ProductZipper.scala:33:8
297[warn] 33 | }: @nowarn("msg=unused local definition")
298[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
299[warn] | @nowarn annotation does not suppress any warnings
300[warn] -- Warning: /build/repo/ducktape/src/main/scala/io/github/arainko/ducktape/internal/ProductZipper.scala:44:10
301[warn] 44 | }: @nowarn("msg=unused local definition")
302[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
303[warn] | @nowarn annotation does not suppress any warnings
304[warn] 24 warnings found
305[info] done compiling
306OpenCB::Filter out '-Werror', matches setting pattern '^-?-Werror'
307[info] compiling 51 Scala sources to /build/repo/ducktape/.jvm/target/scala-3.8.0-RC4/test-classes ...
308[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
309Warning: mocking up superclass for module class internal
310[warn] one warning found
311[info] done compiling
312io.github.arainko.ducktape.fallible.accumulating.DerivedInstanceSuite:
313 + CreateTalk transform into Talk using - fallibleTo 0.015s
314 + CreateTalk transform into Talk using - fallibleVia 0.0s
315 + CreateTalk transform into Talk using - into.fallible 0.0s
316 + CreateTalk transform into Talk using - Transformer.define.fallible 0.001s
317 + CreateTalk transform into Talk using - Transformer.define.fallible-1 0.001s
318 + CreateTalk fails to transform into Talk and accumulates all errors using - fallibleTo 0.002s
319 + CreateTalk fails to transform into Talk and accumulates all errors using - fallibleVia 0.001s
320 + CreateTalk fails to transform into Talk and accumulates all errors using - into.fallible 0.001s
321 + CreateTalk fails to transform into Talk and accumulates all errors using - Transformer.defineVia.fallible 0.001s
322io.github.arainko.ducktape.fallible.failfast.DerivedInstanceSuite:
323 + CreateTalk transform into Talk using - fallibleTo 0.017s
324 + CreateTalk transform into Talk using - fallibleVia 0.002s
325 + CreateTalk transform into Talk using - into.fallible 0.002s
326 + CreateTalk transform into Talk using - Transformer.define.fallible 0.001s
327 + CreateTalk transform into Talk using - Transformer.defineVia.fallible 0.003s
328 + CreateTalk fails to transform into Talk and returns the first failure - fallibleTo 0.001s
329 + CreateTalk fails to transform into Talk and returns the first failure - fallibleVia 0.003s
330 + CreateTalk fails to transform into Talk and returns the first failure - into.fallible 0.001s
331 + CreateTalk fails to transform into Talk and returns the first failure - Transformer.define.fallible 0.001s
332io.github.arainko.ducktape.issues.Issue187Suite:
333 + BetweenNonOptionOption works when Mode[Option] is in scope 0.016s
334 + BetweenOptions works when Mode[Option] is in scope 0.009s
335 + Fallible transformation for an Option works when Mode[Option] is in scope 0.004s
336 + Option-unwrapping works 0.013s
337io.github.arainko.ducktape.total.ErrorReportingSuite:
338 + errors for all missing fields are reported at once 0.016s
339 + errors for all missing coproduct cases are reported at once 0.001s
340 + product configurations should fail when using a path component that doesn't belong to the actual transformation path 0.001s
341 + coproduct configurations fail when using a case component that isn't a subtype 0.004s
342 + erroneous config doesn't overshadow errors that lie in its subpaths 0.001s
343 + erroneous configs on plan nodes that produce an error show the suppressed error 0.001s
344 + recursive transformations are detected 0.0s
345io.github.arainko.ducktape.total.TupleTransformationSuite:
346 + tuple-to-tuple works 0.002s
347 + tuple-to-product works 0.002s
348 + product-to-tuple works 0.006s
349 + tuple-to-function works 0.001s
350 + tuple-to-tuple can be configured (dest side) 0.001s
351 + tuple-to-tuple can be configured (source side) 0.005s
352 + product-to-tuple can be configured (dest side) 0.007s
353 + product-to-tuple can be configured (source side) 0.007s
354 + tuple-to-product can be configured (dest side) 0.003s
355 + tuple-to-product can be configured (source side) 0.006s
356 + tuple-to-function can be configured (dest side) 0.006s
357 + tuple-to-function can be configured (source side) 0.008s
358 + plain tuples can be configured with _-accessors 0.001s
359 + big tuples work 0.014s
360 + big tuples can be configured 0.001s
361 + Field.fallbackToDefault works for tuple-to-product 0.005s
362 + Field.fallbackToNone works 0.004s
363 + Field.default works for tuple-to-product 0.002s
364 + Field.allMatching works for tuple-to-product 0.006s
365io.github.arainko.ducktape.fallible.failfast.FailFastTupleTransformationSuite:
366 + tuple-to-tuple works 0.017s
367 + tuple-to-product works 0.013s
368 + product-to-tuple works 0.007s
369 + tuple-to-function works 0.005s
370 + tuple-to-tuple can be configured (dest side) 0.005s
371 + tuple-to-tuple can be configured (source side) 0.017s
372 + product-to-tuple can be configured (dest side) 0.014s
373 + product-to-tuple can be configured (source side) 0.014s
374 + tuple-to-product can be configured (dest side) 0.007s
375 + tuple-to-product can be configured (source side) 0.019s
376 + tuple-to-function can be configured (dest side) 0.014s
377 + tuple-to-function can be configured (source side) 0.017s
378 + big tuples work 0.064s
379 + big tuples can be configured 0.131s
380io.github.arainko.ducktape.fallible.failfast.FastFailCoproductTransformationsSuite:
381 + Derive sum of products 0.016s
382 + Derive sum of singletons 0.01s
383 + Derive sum of singleton and product 0.009s
384 + Fail with the first problems 0.01s
385 + Derivation fails if the case names don't align 0.001s
386 + Derivation fails if a case can't be transformed 0.003s
387 + Fallible config options can fill in missing cases 0.005s
388 + Total config options can fill in missing cases 0.002s
389io.github.arainko.ducktape.fallible.accumulating.AccumulatingNestedConfigurationSuite:
390 + nested product fields can be configured 0.014s
391 + nested product fields inside nested coproduct cases can be configured 0.012s
392 + nested product fields can be overriden 0.016s
393 + nested product fields can be configured by overriding the transformation that is a level above 0.013s
394 + nested product configuration fails if the types do not line up 0.007s
395 + Field.fallibleComputed works for nested fields 0.013s
396 + nested product fields with collection and option elements can be configured 0.015s
397 + nested product fields with collection and option elements can be overridden 0.119s
398 + nested coproduct cases can be configured 0.013s
399 + nested coproduct cases inside nested fields can be configured 0.017s
400 + nested coproduct cases can be overridden 0.014s
401 + nested coproduct cases can be configured by configuring the case that is a level above 0.016s
402 + nested coproduct configuration fails if the types do not line up 0.006s
403 + nested coproduct cases with collection and option elements can be configured 0.025s
404 + nested coproduct cases with the NonOptionOption transformation variant can be configured 0.011s
405 + Case.fallibleComputed works for nested cases 0.014s
406 + Fails when a Case config doesn't end with an 'at' segment 0.001s
407 + Field.fallbackToNone works 0.01s
408 + Field.fallbackToNone.regional works 0.008s
409 + Field.fallbackToDefault works 0.01s
410 + Field.fallbackToDefault.regional works 0.009s
411 + Field.fallibleComputedDeep works in deeply nested case classes 0.012s
412 + Field.fallibleComputedDeep works with deeply nested tuples 0.006s
413 + Field.fallibleComputedDeep works with Options 0.021s
414 + Field.fallibleComputedDeep works with collections 0.019s
415 + Field.fallibleComputedDeep works with coproducts 0.019s
416 + Field.fallibleComputedDeep works with F-unwrapping 0.014s
417io.github.arainko.ducktape.total.NestedConfigurationSuite:
418 + nested product fields can be configured 0.009s
419 + nested product fields inside nested coproduct cases can be configured 0.007s
420 + nested product fields can be overriden 0.01s
421 + nested product fields can be configured by overriding the transformation that is a level above 0.008s
422 + nested product configuration fails if the types do not line up 0.005s
423 + Field.computed works for nested fields 0.009s
424 + nested product fields with collection and option elements can be configured 0.013s
425 + nested product fields with collection and option elements can be overridden 0.012s
426 + nested coproduct cases can be configured 0.012s
427 + nested coproduct cases inside nested fields can be configured 0.012s
428 + nested coproduct cases can be overridden 0.011s
429 + nested coproduct cases can be configured by configuring the case that is a level above 0.011s
430 + nested coproduct configuration fails if the types do not line up 0.006s
431 + nested coproduct cases with collection and option elements can be configured 0.017s
432 + nested coproduct cases with the NonOptionOption transformation variant can be configured 0.01s
433 + Case.computed works for nested cases 0.012s
434 + Fails when a Case config doesn't end with an 'at' segment 0.001s
435 + Field.fallbackToNone works 0.006s
436 + Field.fallbackToNone.regional works 0.005s
437 + Field.fallbackToDefault works 0.006s
438 + Field.fallbackToDefault.regional works 0.007s
439 + Field.computedDeep works in deeply nested case classes 0.004s
440 + Field.computedDeep works with deeply nested tuples 0.001s
441 + Field.computedDeep works with Options 0.019s
442 + Field.computedDeep works with collections 0.016s
443 + Field.computedDeep works with coproducts 0.008s
444 + Field.computedDeep reports the right source type if the one given to it is wrong 0.015s
445 + Field.computedDeep works correctly when a field on the same level is missing in the Source 0.009s
446io.github.arainko.ducktape.total.ViaSuite:
447 + via 0.004s
448 + via with type param 0.004s
449 + via with substransformations 0.009s
450 + via fails when the source doesn't have all the method arguments 0.0s
451io.github.arainko.ducktape.total.FlagSuite:
452 + dest field renames work 0.002s
453 + source field renames work 0.003s
454 + source case renames work 0.005s
455 + dest case renames work 0.004s
456 + source function arg renames work 0.006s
457 + dest function arg renames work 0.004s
458 + source case object renames work 0.001s
459 + dest case object renames work 0.004s
460 + dest flag carries through BetweenOptions 0.007s
461 + source flag carries through BetweenOptions 0.011s
462 + dest flag carries through NonOptionOption 0.01s
463 + source flag carries through NonOptionOption 0.008s
464 + dest flag carries through BetweenCollections 0.014s
465 + source flag carries through BetweenCollections 0.008s
466 + dest flag carries through ProductTuple 0.01s
467 + source flag carries through ProductTuple 0.006s
468 + source flag carries through TupleProduct 0.007s
469 + dest flag carries through TupleProduct 0.006s
470 + source flag carries through BetweenTuples 0.009s
471 + dest flag carries through BetweenTuples 0.008s
472 + source flag carries through BetweenFallibles 0.021s
473 + dest flag carries through BetweenFallibles 0.005s
474 + source flag carries through BetweenFallibleNonFallible 0.011s
475 + dest flag carries through BetweenFallibleNonFallible 0.009s
476 + dest flag carries through TupleFunction 0.003s
477 + source flag carries through TupleFunction 0.006s
478 + local flags with higher priority overwrite flags with lower priority 0.007s
479 + regional flags with higher priority overwrite flags with lower priority 0.002s
480 + type-specific flags with higher priority overwrite flags with lower priority 0.009s
481 + dest name amiguities are reported for products 0.0s
482 + source name ambiguities are reported for products 0.001s
483 + dest name ambiguities are reported for coproducts 0.0s
484 + source name ambiguities are reported for coproducts 0.0s
485 + dest name amiguities are reported for functions 0.001s
486 + source name ambiguities are reported for functions 0.0s
487 + dest rename flags don't mess up configs 0.011s
488 + source rename flags don't mess up configs 0.005s
489 + Regional, local and type specific flags can work together in a single transformation according to their rules and the priority 0.01s
490 + multiple flag overrides are reported correctly 0.08s
491io.github.arainko.ducktape.issues.Issue195Suite:
492 + missing Factory instances are reported in a nice way 0.001s
493io.github.arainko.ducktape.total.RenamerSuite:
494 + Renamer#toLowerCase works 0.002s
495 + Renamer#toUpperCase works 0.004s
496 + Renamer#rename works 0.002s
497 + Renamer#replace works 0.001s
498 + Renamer#regexReplace works 0.003s
499 + Renamer#stripPrefix works 0.002s
500 + Renamer#stripSuffix works 0.001s
501 + Renamer#capitalize works 0.002s
502 + Renamer functions are sequenced in the right order 0.001s
503io.github.arainko.ducktape.issues.Issue190Suite:
504 + transforming from concatenated together tuples works (bound to an intermediate val) 0.006s
505io.github.arainko.ducktape.issues.Issue211Suite:
506 + directly configuring a Dest case doesn't fail at runtime 0.009s
507io.github.arainko.ducktape.total.DefinitionViaBuilderSuite:
508 + Arg.const properly applies a constant to an argument 0.001s
509 + Arg.computed properly applies a function to an argument 0.001s
510 + Arg.renamed properly uses a different field for that argument 0.001s
511 + sums of products can be configured 0.005s
512 + Builder reports a missing argument 0.002s
513io.github.arainko.ducktape.fallible.accumulating.AccumulatingCoproductTransformationsSuite:
514 + Derive sum of products 0.007s
515 + Derive sum of singletons 0.003s
516 + Derive sum of singleton and product 0.004s
517 + Use total transformers when possible 0.004s
518 + Accumulate problems 0.004s
519 + Derivation fails if the case names don't align 0.001s
520 + Derivation fails if a case can't be transformed 0.0s
521 + Fallible config options can fill in missing cases 0.002s
522 + Total config options can fill in missing cases 0.003s
523io.github.arainko.ducktape.issues.Issue179Suite:
524 + configuring a field on an identity transformation works 0.001s
525 + configuring a field on an identity transformation works (fallible) 0.003s
526 + configuring a field on a nested identity transformation works 0.002s
527 + configuring a field on a nested identity transformation works (fallible) 0.003s
528 + configuring a field on an identity transformation going through a coproduct transformation works 0.002s
529 + configuring a field on an identity transformation going through a coproduct transformation works (fallible) 0.002s
530 + configuring a field on an identity transformation going through an '.element' transformation (eg. OptionToOption) works 0.002s
531 + configuring a field on an identity transformation going through an '.element' transformation (eg. OptionToOption) works (fallible) 0.004s
532 + configuring a tuple element on an identity transformation works 0.001s
533 + configuring a tuple element on an identity transformation works (fallible) 0.001s
534 + configuring a case on an identity transformation works 0.002s
535 + configuring a case on an identity transformation works (fallible) 0.002s
536io.github.arainko.ducktape.fallible.failfast.FailFastNestedConfigurationSuite:
537 + nested product fields can be configured 0.017s
538 + nested product fields inside nested coproduct cases can be configured 0.016s
539 + nested product fields can be overriden 0.008s
540 + nested product fields can be configured by overriding the transformation that is a level above 0.088s
541 + nested product configuration fails if the types do not line up 0.004s
542 + Field.fallibleComputed works for nested fields 0.016s
543 + nested product fields with collection and option elements can be configured 0.02s
544 + nested product fields with collection and option elements can be overridden 0.013s
545 + nested coproduct cases can be configured 0.011s
546 + nested coproduct cases inside nested fields can be configured 0.02s
547 + nested coproduct cases can be overridden 0.007s
548 + nested coproduct cases can be configured by configuring the case that is a level above 0.006s
549 + nested coproduct configuration fails if the types do not line up 0.007s
550 + nested coproduct cases with collection and option elements can be configured 0.073s
551 + nested coproduct cases with the NonOptionOption transformation variant can be configured 0.006s
552 + Case.fallibleComputed works for nested cases 0.008s
553 + Fails when a Case config doesn't end with an 'at' segment 0.001s
554 + Field.fallbackToNone works 0.005s
555 + Field.fallbackToNone.regional works 0.006s
556 + Field.fallbackToDefault works 0.004s
557 + Field.fallbackToDefault.regional works 0.005s
558 + Field.fallibleComputedDeep works in deeply nested case classes 0.006s
559 + Field.fallibleComputedDeep works with deeply nested tuples 0.002s
560 + Field.fallibleComputedDeep works with Options 0.015s
561 + Field.fallibleComputedDeep works with collections 0.012s
562 + Field.fallibleComputedDeep works with coproducts 0.008s
563 + Field.fallibleComputedDeep works with F-unwrapping 0.013s
564io.github.arainko.ducktape.fallible.FUnwrappingSuite:
565 + F-unwrapping works with match type syntax 0.001s
566 + F-unwrapping with a non-fallible transformation underneath works 0.005s
567 + F-unwrapping with a fallible transformation underneath works 0.008s
568 + F-unwrapping with a fallible transformation underneath works for Mode.Accumulating when a Mode.FailFast is also in scope 0.008s
569 + F-unwrapped transformations with a non-fallible transformation underneath can be configured 0.004s
570 + F-unwrapped transformations with a non-fallible transformation underneath cannot be configured with fallible configs 0.002s
571 + F-unwrapped transformations with a fallible transformation underneath can be configured 0.004s
572io.github.arainko.ducktape.fallible.accumulating.AccumulatingTupleTransformationSuite:
573 + tuple-to-tuple works 0.004s
574 + tuple-to-product works 0.005s
575 + product-to-tuple works 0.003s
576 + tuple-to-function works 0.005s
577 + tuple-to-tuple can be configured (dest side) 0.002s
578 + tuple-to-tuple can be configured (source side) 0.007s
579 + product-to-tuple can be configured (dest side) 0.006s
580 + product-to-tuple can be configured (source side) 0.006s
581 + tuple-to-product can be configured (dest side) 0.009s
582 + tuple-to-product can be configured (source side) 0.009s
583 + tuple-to-function can be configured (dest side) 0.007s
584 + tuple-to-function can be configured (source side) 0.006s
585 + big tuples work 0.002s
586 + big tuples can be configured 0.002s
587io.github.arainko.ducktape.fallible.failfast.OptionFailFastInstanceSuite:
588 + Transformer.Fallible.betweenCollections succeeds when all of the transformations succeed 0.001s
589 + Transformer.Fallible.betweenCollections fails when even a single transformation fails 0.008s
590 + Transformer.Fallible.betweenCollections doesn't blow up the stack when the transformation succeeds 0.413s
591 + Transformer.Fallible.betweenCollections doesn't blow up the stack when failed 0.135s
592 + Transformer.Fallible.betweenMaps transforms keys first 0.002s
593 + Transformer.Fallible.betweenMaps doesn't blow up the stack 0.62s
594 + Transformer.Fallible.betweenOptions returns None when input is None 0.001s
595 + Transformer.Fallible.betweenOptions returns Some when input is a Some and the transformation is successful 0.001s
596 + Transformer.Fallible.betweenOptions fails when input is Some and the transformation fails 0.002s
597 + Transformer.Fallible.betweenNonOptionOption returns Some when the transformation is successful 0.001s
598 + Transformer.Fallible.betweenNonOptionOption fails when the transformation fails 0.001s
599io.github.arainko.ducktape.total.LocalFlagSuite:
600 + dest field local flag covers the selected case class and nothing else 0.004s
601 + source field local flag covers the selected case class and nothing else 0.004s
602 + source field local flag covers the selected subtype of an enum and nothing else 0.008s
603 + source field local flag covers all subtypes of an enum and nothing else 0.005s
604 + dest field local flag covers all subtypes of an enum and nothing else 0.005s
605 + source field local flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.007s
606 + dest field local flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.006s
607 + dest field local flag covers all subtypes of an enum and nothing else (even when the enum is nested, and we pick one of the sub-enums) 0.006s
608 + source field local flag covers all subtypes of an enum and nothing else (even when the enum is nested, and we pick one of the sub-enums) 0.044s
609 + source case local flag covers the selected subtype (picked as a field in case class) 0.008s
610 + source case local flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.007s
611 + dest case local flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.012s
612io.github.arainko.ducktape.total.DerivedTransformerSuite:
613 + derived product transformer roundtrip 0.011s
614 + derived product transformers take locally scoped Transformers into consideration 0.002s
615 + derived enum transformer should map to cases with same name 0.004s
616 + derivation succeeds when going from a class with more fields to a class with less fields 0.003s
617 + derivation succeeds with more complex subderivations inside 0.004s
618 + derived FromAnyVal & ToAnyVal transformers with type parameters roundrip 0.039s
619 + products with AnyVal fields with type params roundrip to their primitives 0.006s
620 + transformers are derived for products with supertypes of the original product type 0.003s
621 + derivation fails when going from a product with less fields to a product with more fields 0.0s
622 + derivation succeeds when going from a sum with less cases to a sum with more cases 0.003s
623 + derivation succeeds when going from a sum of cases with the same name as the target sum (enum) 0.009s
624 + derivation succeeds when going from a sum of cases with the same name as the target sum (sealed trait) 0.01s
625 + derivation succeeds betweens sums with type parameters 0.011s
626 + derivation fails when a Transformer doesn't exist for a child with the same name 0.0s
627 + transformations between maps of different kind work 0.006s
628 + derivation fails when going from a sum with more cases to a sum with less cases 0.001s
629 + a toplevel transformer is taken into consideration when using .to 0.004s
630 + Transformer.define* can be used to create recursive transformers 0.002s
631io.github.arainko.ducktape.LoggerSuite:
632 + log level should be Off 0.005s
633io.github.arainko.ducktape.total.AppliedBuilderSuite:
634 + Field.const properly applies a constant to a field 0.001s
635 + Field.const fails when the field and constant types do not match 0.0s
636 + Field.computed properly applies a function to a field 0.002s
637 + Field.computed fails when the result type of the computed function doesn't match the field 0.0s
638 + Field.renamed properly uses a different field for that argument 0.001s
639 + Field.renamed fails when the types of fields do not match 0.003s
640 + Field.allMatching fills in missing fields 0.007s
641 + Field.allMatching gets all the matching fields from a field source and overwrites existing ones 0.0s
642 + Field.allMatching only fills in fields that match by name and by type 0.0s
643 + Field.allMatching works with fields that match by name and are a subtype of the expected type 0.006s
644 + Field.allMatching reports a compiletime failure when none of the fields match 0.0s
645 + The last applied field config is the picked one 0.004s
646 + overriding multiple fields multiple times is reported appropriately 0.001s
647 + When configs are applied to the same field repeateadly a warning is emitted 0.0s
648 + Case.const properly applies the constant for that subtype 0.004s
649 + Case.computed applies a function to that given subtype 0.005s
650 + sums of products can be configured 0.01s
651 + sums with type parameters can be confgured 0.003s
652 + When a Case is configured multiple times a warning is emitted 0.0s
653 + derive a transformer for case classes with default values if configured 0.006s
654 + Field.default fails when a field doesn't have a default value 0.001s
655 + Field.default fails when the default doesn't match the expected type 0.001s
656io.github.arainko.ducktape.total.AppliedViaBuilderSuite:
657 + Arg.const properly applies a constant to an argument 0.005s
658 + Arg.computed properly applies a function to an argument 0.0s
659 + Arg.renamed properly uses a different field for that argument 0.001s
660 + When an Arg is configured multiple times a warning is emitted 0.001s
661 + Builder reports a missing argument 0.003s
662io.github.arainko.ducktape.issues.Issue165Suite:
663 + rejects _.to in given Transformer definitions 0.001s
664 + rejects _.into.transform() in given Transformer definitions 0.006s
665 + rejects _.falibleTo in given Trasformer.Fallible definitions 0.0s
666 + rejects _.into.falible in given Trasformer.Fallible definitions 0.001s
667io.github.arainko.ducktape.total.RegionalFlagSuite:
668 + dest field regional flag covers the selected case class and everything below it 0.008s
669 + source field regional flag covers the selected case class and everything below it 0.012s
670 + source field regional flag covers the selected subtype of an enum and everything below it 0.005s
671 + source field regional flag covers all subtypes of an enum and everything below it 0.006s
672 + dest regional flag covers all subtypes of an enum and everything below it 0.011s
673 + source field regional flag covers all subtypes of an enum and everything below (even when the enum is nested) 0.015s
674 + dest field regional flag covers all subtypes of an enum and everything below (even when the enum is nested) 0.009s
675 + dest field regional flag covers all subtypes of an enum and everything below (even when the enum is nested, and we pick one of the sub-enums) 0.012s
676 + source field regional flag covers all subtypes of an enum and everything below (even when the enum is nested, and we pick one of the sub-enums) 0.014s
677 + source case regional flag covers the selected subtype and everything below (picked as a field in case class) 0.013s
678 + source case regional flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.013s
679 + dest case regional flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.013s
680io.github.arainko.ducktape.fallible.accumulating.ModeSuite:
681 + eitherIterableAccumulatingSupport#product succeeds with two Rights 0.0s
682 + eitherIterableAccumulatingSupport#product fails with a Left on the left 0.002s
683 + eitherIterableAccumulatingSupport#product fails with a Left on the right 0.0s
684 + eitherIterableAccumulatingSupport#product accumulates errors 0.001s
685io.github.arainko.ducktape.total.TypeSpecificFlagSuite:
686 + dest field type specific flag covers the selected case class and nothing else 0.007s
687 + source field type specific flag covers the selected case class and nothing else 0.007s
688 + source field type specific flag covers the selected subtype of an enum and nothing else 0.007s
689 + source field type specific flag covers all subtypes of an enum and nothing else 0.011s
690 + dest field type specific flag covers all subtypes of an enum and nothing else 0.012s
691 + source field type specific flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.006s
692 + dest field type specific flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.012s
693 + dest field local flag covers all subtypes of an enum and nothing else (even when the enum is nested, and we pick one of the sub-enums) 0.012s
694 + source field local flag covers all subtypes of an enum and nothing else (even when the enum is nested, and we pick one of the sub-enums) 0.013s
695 + source case type specific flag covers the selected subtype (picked as a field in case class) 0.012s
696 + source case type specific flag DOESN'T cover the selected subtype (it's only meant to cover its childer) 0.008s
697 + dest case type specific DOESN'T cover the selected subtype (it's only meant to cover its childer) 0.006s
698io.github.arainko.ducktape.fallible.accumulating.NonDerivedInstanceSuite:
699 + Transformer.Fallible.betweenCollections succeeds when all of the transformations succeed 0.008s
700 + Transformer.Fallible.betweenCollections fails when only some of the transformations succeed 0.001s
701 + Transformer.Fallible.betweenMaps works 0.034s
702 + Transformer.Fallible.betweenCollections accumulates errors in the order they occur 0.001s
703 + Transformer.Fallible.betweenCollections doesn't blow up the stack 0.477s
704 + Transformer.Fallible.betweenMaps accumulates errors from both keys and values 0.001s
705 + Transformer.Fallible.betweenMaps doesn't blow up the stack 1.076s
706 + Transformer.Fallible.betweenOptions returns None when input is None 0.0s
707 + Transformer.Fallible.betweenOptions returns Some when input is a Some and the transformation is successful 0.001s
708 + Transformer.Fallible.betweenOptions fails when input is Some and the transformation fails 0.001s
709 + Transformer.Fallible.betweenNonOptionOption returns Some when the transformation is successful 0.0s
710 + Transformer.Fallible.betweenNonOptionOption fails when the transformation fails 0.0s
711io.github.arainko.ducktape.fallible.failfast.EitherFailFastInstanceSuite:
712 + Transformer.Fallible.betweenCollections succeeds when all of the transformations succeed 0.0s
713 + Transformer.Fallible.betweenCollections fails when even a single transformation fails 0.0s
714 + Transformer.Fallible.betweenCollections doesn't blow up the stack when the transformation succeeds 0.103s
715 + Transformer.Fallible.betweenCollections doesn't blow up the stack when failed 0.055s
716 + Transformer.Fallible.betweenMaps transforms keys first 0.001s
717 + Transformer.Fallible.betweenMaps doesn't blow up the stack 0.299s
718 + Transformer.Fallible.betweenOptions returns None when input is None 0.001s
719 + Transformer.Fallible.betweenOptions returns Some when input is a Some and the transformation is successful 0.0s
720 + Transformer.Fallible.betweenOptions fails when input is Some and the transformation fails 0.0s
721 + Transformer.Fallible.betweenNonOptionOption returns Some when the transformation is successful 0.0s
722 + Transformer.Fallible.betweenNonOptionOption fails when the transformation fails 0.0s
723
724************************
725Build summary:
726[{
727 "module": "ducktape",
728 "compile": {"status": "ok", "tookMs": 28205, "warnings": 23, "errors": 0, "sourceVersion": "3.3"},
729 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
730 "test-compile": {"status": "ok", "tookMs": 46558, "warnings": 0, "errors": 0, "sourceVersion": "3.3"},
731 "test": {"status": "ok", "tookMs": 2458, "passed": 378, "failed": 0, "ignored": 0, "skipped": 0, "total": 378, "byFramework": [{"framework": "munit", "stats": {"passed": 378, "failed": 0, "ignored": 0, "skipped": 0, "total": 378}}]},
732 "publish": {"status": "skipped", "tookMs": 0},
733 "metadata": {
734 "crossScalaVersions": ["3.3.7"]
735}
736}]
737************************
738[success] Total time: 88 s (0:01:28.0), completed Dec 22, 2025, 6:26:57 PM
739[0JChecking patch project/plugins.sbt...
740Checking patch build.sbt...
741Applied patch project/plugins.sbt cleanly.
742Applied patch build.sbt cleanly.