Build Logs
arainko/ducktape • 3.8.0-RC5:2025-12-31
Errors
0
Warnings
162
Total Lines
742
1##################################
2Clonning https://github.com/arainko/ducktape.git into /build/repo using revision v0.2.12
3##################################
4Note: switching to '977f6adddecc638c9cf1419615e238c8caf8ded4'.
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-RC5
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-RC5
32Execute tests: true
33sbt project found:
34No prepare script found for project arainko/ducktape
35##################################
36Scala version: 3.8.0-RC5
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-RC5
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-RC5"
62"++3.8.0-RC5 -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-RC5 """{"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.881s.
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-RC5
84[info] set scmInfo to https://github.com/arainko/ducktape
85OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in root/crossScalaVersions
86OpenCB::Limitting incorrect crossVersions List() -> List(3.8.0-RC5) in root/crossScalaVersions
87OpenCB::Changing crossVersion 3.7.4 -> 3.8.0-RC5 in scalaNextTests/crossScalaVersions
88OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in rootNative/crossScalaVersions
89OpenCB::Limitting incorrect crossVersions List(3.3.7) -> List(3.8.0-RC5) in scalaNextTests/crossScalaVersions
90OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in docs/crossScalaVersions
91OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in rootJS/crossScalaVersions
92OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in ducktapeJVM/crossScalaVersions
93OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in ducktapeJS/crossScalaVersions
94OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in ducktapeNative/crossScalaVersions
95OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC5 in rootJVM/crossScalaVersions
96[info] set current project to root (in build file:/build/repo/)
97[info] Setting Scala version to 3.8.0-RC5 on 9 projects.
98[info] Switching Scala version on:
99[info] * root (3.8.0-RC5)
100[info] rootJS (3.8.0-RC5)
101[info] docs (3.8.0-RC5)
102[info] ducktapeJVM (3.8.0-RC5)
103[info] ducktapeNative (3.8.0-RC5)
104[info] rootJVM (3.8.0-RC5)
105[info] rootNative (3.8.0-RC5)
106[info] scalaNextTests (3.8.0-RC5)
107[info] ducktapeJS (3.8.0-RC5)
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 31, 2025, 9:19:44 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-RC5/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-RC5/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-RC5/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.issues.Issue211Suite:
313 + directly configuring a Dest case doesn't fail at runtime 0.013s
314io.github.arainko.ducktape.total.DefinitionViaBuilderSuite:
315 + Arg.const properly applies a constant to an argument 0.013s
316 + Arg.computed properly applies a function to an argument 0.001s
317 + Arg.renamed properly uses a different field for that argument 0.001s
318 + sums of products can be configured 0.005s
319 + Builder reports a missing argument 0.001s
320io.github.arainko.ducktape.total.ErrorReportingSuite:
321 + errors for all missing fields are reported at once 0.013s
322 + errors for all missing coproduct cases are reported at once 0.001s
323 + product configurations should fail when using a path component that doesn't belong to the actual transformation path 0.001s
324 + coproduct configurations fail when using a case component that isn't a subtype 0.002s
325 + erroneous config doesn't overshadow errors that lie in its subpaths 0.002s
326 + erroneous configs on plan nodes that produce an error show the suppressed error 0.002s
327 + recursive transformations are detected 0.0s
328io.github.arainko.ducktape.fallible.accumulating.AccumulatingCoproductTransformationsSuite:
329 + Derive sum of products 0.013s
330 + Derive sum of singletons 0.004s
331 + Derive sum of singleton and product 0.009s
332 + Use total transformers when possible 0.004s
333 + Accumulate problems 0.006s
334 + Derivation fails if the case names don't align 0.001s
335 + Derivation fails if a case can't be transformed 0.001s
336 + Fallible config options can fill in missing cases 0.004s
337 + Total config options can fill in missing cases 0.004s
338io.github.arainko.ducktape.fallible.accumulating.ModeSuite:
339 + eitherIterableAccumulatingSupport#product succeeds with two Rights 0.003s
340 + eitherIterableAccumulatingSupport#product fails with a Left on the left 0.0s
341 + eitherIterableAccumulatingSupport#product fails with a Left on the right 0.001s
342 + eitherIterableAccumulatingSupport#product accumulates errors 0.001s
343io.github.arainko.ducktape.issues.Issue195Suite:
344 + missing Factory instances are reported in a nice way 0.001s
345io.github.arainko.ducktape.total.AppliedViaBuilderSuite:
346 + Arg.const properly applies a constant to an argument 0.006s
347 + Arg.computed properly applies a function to an argument 0.001s
348 + Arg.renamed properly uses a different field for that argument 0.001s
349 + When an Arg is configured multiple times a warning is emitted 0.004s
350 + Builder reports a missing argument 0.001s
351io.github.arainko.ducktape.issues.Issue165Suite:
352 + rejects _.to in given Transformer definitions 0.001s
353 + rejects _.into.transform() in given Transformer definitions 0.0s
354 + rejects _.falibleTo in given Trasformer.Fallible definitions 0.0s
355 + rejects _.into.falible in given Trasformer.Fallible definitions 0.001s
356io.github.arainko.ducktape.fallible.accumulating.DerivedInstanceSuite:
357 + CreateTalk transform into Talk using - fallibleTo 0.017s
358 + CreateTalk transform into Talk using - fallibleVia 0.001s
359 + CreateTalk transform into Talk using - into.fallible 0.001s
360 + CreateTalk transform into Talk using - Transformer.define.fallible 0.002s
361 + CreateTalk transform into Talk using - Transformer.define.fallible-1 0.009s
362 + CreateTalk fails to transform into Talk and accumulates all errors using - fallibleTo 0.002s
363 + CreateTalk fails to transform into Talk and accumulates all errors using - fallibleVia 0.001s
364 + CreateTalk fails to transform into Talk and accumulates all errors using - into.fallible 0.001s
365 + CreateTalk fails to transform into Talk and accumulates all errors using - Transformer.defineVia.fallible 0.001s
366io.github.arainko.ducktape.total.RenamerSuite:
367 + Renamer#toLowerCase works 0.01s
368 + Renamer#toUpperCase works 0.006s
369 + Renamer#rename works 0.008s
370 + Renamer#replace works 0.002s
371 + Renamer#regexReplace works 0.005s
372 + Renamer#stripPrefix works 0.004s
373 + Renamer#stripSuffix works 0.008s
374 + Renamer#capitalize works 0.002s
375 + Renamer functions are sequenced in the right order 0.005s
376io.github.arainko.ducktape.issues.Issue179Suite:
377 + configuring a field on an identity transformation works 0.001s
378 + configuring a field on an identity transformation works (fallible) 0.013s
379 + configuring a field on a nested identity transformation works 0.005s
380 + configuring a field on a nested identity transformation works (fallible) 0.004s
381 + configuring a field on an identity transformation going through a coproduct transformation works 0.002s
382 + configuring a field on an identity transformation going through a coproduct transformation works (fallible) 0.003s
383 + configuring a field on an identity transformation going through an '.element' transformation (eg. OptionToOption) works 0.007s
384 + configuring a field on an identity transformation going through an '.element' transformation (eg. OptionToOption) works (fallible) 0.004s
385 + configuring a tuple element on an identity transformation works 0.004s
386 + configuring a tuple element on an identity transformation works (fallible) 0.001s
387 + configuring a case on an identity transformation works 0.003s
388 + configuring a case on an identity transformation works (fallible) 0.004s
389io.github.arainko.ducktape.fallible.failfast.FastFailCoproductTransformationsSuite:
390 + Derive sum of products 0.009s
391 + Derive sum of singletons 0.006s
392 + Derive sum of singleton and product 0.006s
393 + Fail with the first problems 0.004s
394 + Derivation fails if the case names don't align 0.001s
395 + Derivation fails if a case can't be transformed 0.0s
396 + Fallible config options can fill in missing cases 0.003s
397 + Total config options can fill in missing cases 0.004s
398io.github.arainko.ducktape.total.AppliedBuilderSuite:
399 + Field.const properly applies a constant to a field 0.003s
400 + Field.const fails when the field and constant types do not match 0.001s
401 + Field.computed properly applies a function to a field 0.002s
402 + Field.computed fails when the result type of the computed function doesn't match the field 0.001s
403 + Field.renamed properly uses a different field for that argument 0.003s
404 + Field.renamed fails when the types of fields do not match 0.001s
405 + Field.allMatching fills in missing fields 0.001s
406 + Field.allMatching gets all the matching fields from a field source and overwrites existing ones 0.002s
407 + Field.allMatching only fills in fields that match by name and by type 0.001s
408 + Field.allMatching works with fields that match by name and are a subtype of the expected type 0.003s
409 + Field.allMatching reports a compiletime failure when none of the fields match 0.001s
410 + The last applied field config is the picked one 0.001s
411 + overriding multiple fields multiple times is reported appropriately 0.001s
412 + When configs are applied to the same field repeateadly a warning is emitted 0.001s
413 + Case.const properly applies the constant for that subtype 0.003s
414 + Case.computed applies a function to that given subtype 0.004s
415 + sums of products can be configured 0.013s
416 + sums with type parameters can be confgured 0.004s
417 + When a Case is configured multiple times a warning is emitted 0.001s
418 + derive a transformer for case classes with default values if configured 0.002s
419 + Field.default fails when a field doesn't have a default value 0.003s
420 + Field.default fails when the default doesn't match the expected type 0.005s
421io.github.arainko.ducktape.fallible.FUnwrappingSuite:
422 + F-unwrapping works with match type syntax 0.003s
423 + F-unwrapping with a non-fallible transformation underneath works 0.003s
424 + F-unwrapping with a fallible transformation underneath works 0.017s
425 + F-unwrapping with a fallible transformation underneath works for Mode.Accumulating when a Mode.FailFast is also in scope 0.008s
426 + F-unwrapped transformations with a non-fallible transformation underneath can be configured 0.008s
427 + F-unwrapped transformations with a non-fallible transformation underneath cannot be configured with fallible configs 0.012s
428 + F-unwrapped transformations with a fallible transformation underneath can be configured 0.005s
429io.github.arainko.ducktape.fallible.failfast.DerivedInstanceSuite:
430 + CreateTalk transform into Talk using - fallibleTo 0.003s
431 + CreateTalk transform into Talk using - fallibleVia 0.002s
432 + CreateTalk transform into Talk using - into.fallible 0.001s
433 + CreateTalk transform into Talk using - Transformer.define.fallible 0.004s
434 + CreateTalk transform into Talk using - Transformer.defineVia.fallible 0.001s
435 + CreateTalk fails to transform into Talk and returns the first failure - fallibleTo 0.003s
436 + CreateTalk fails to transform into Talk and returns the first failure - fallibleVia 0.001s
437 + CreateTalk fails to transform into Talk and returns the first failure - into.fallible 0.0s
438 + CreateTalk fails to transform into Talk and returns the first failure - Transformer.define.fallible 0.001s
439io.github.arainko.ducktape.fallible.failfast.FailFastTupleTransformationSuite:
440 + tuple-to-tuple works 0.024s
441 + tuple-to-product works 0.014s
442 + product-to-tuple works 0.009s
443 + tuple-to-function works 0.025s
444 + tuple-to-tuple can be configured (dest side) 0.006s
445 + tuple-to-tuple can be configured (source side) 0.01s
446 + product-to-tuple can be configured (dest side) 0.008s
447 + product-to-tuple can be configured (source side) 0.01s
448 + tuple-to-product can be configured (dest side) 0.007s
449 + tuple-to-product can be configured (source side) 0.01s
450 + tuple-to-function can be configured (dest side) 0.014s
451 + tuple-to-function can be configured (source side) 0.008s
452 + big tuples work 0.06s
453 + big tuples can be configured 0.031s
454io.github.arainko.ducktape.fallible.failfast.FailFastNestedConfigurationSuite:
455 + nested product fields can be configured 0.032s
456 + nested product fields inside nested coproduct cases can be configured 0.019s
457 + nested product fields can be overriden 0.009s
458 + nested product fields can be configured by overriding the transformation that is a level above 0.011s
459 + nested product configuration fails if the types do not line up 0.003s
460 + Field.fallibleComputed works for nested fields 0.016s
461 + nested product fields with collection and option elements can be configured 0.023s
462 + nested product fields with collection and option elements can be overridden 0.024s
463 + nested coproduct cases can be configured 0.008s
464 + nested coproduct cases inside nested fields can be configured 0.012s
465 + nested coproduct cases can be overridden 0.007s
466 + nested coproduct cases can be configured by configuring the case that is a level above 0.008s
467 + nested coproduct configuration fails if the types do not line up 0.008s
468 + nested coproduct cases with collection and option elements can be configured 0.02s
469 + nested coproduct cases with the NonOptionOption transformation variant can be configured 0.006s
470 + Case.fallibleComputed works for nested cases 0.009s
471 + Fails when a Case config doesn't end with an 'at' segment 0.0s
472 + Field.fallbackToNone works 0.005s
473 + Field.fallbackToNone.regional works 0.006s
474 + Field.fallbackToDefault works 0.003s
475 + Field.fallbackToDefault.regional works 0.004s
476 + Field.fallibleComputedDeep works in deeply nested case classes 0.009s
477 + Field.fallibleComputedDeep works with deeply nested tuples 0.009s
478 + Field.fallibleComputedDeep works with Options 0.022s
479 + Field.fallibleComputedDeep works with collections 0.018s
480 + Field.fallibleComputedDeep works with coproducts 0.015s
481 + Field.fallibleComputedDeep works with F-unwrapping 0.016s
482io.github.arainko.ducktape.LoggerSuite:
483 + log level should be Off 0.004s
484io.github.arainko.ducktape.issues.Issue190Suite:
485 + transforming from concatenated together tuples works (bound to an intermediate val) 0.006s
486io.github.arainko.ducktape.total.LocalFlagSuite:
487 + dest field local flag covers the selected case class and nothing else 0.005s
488 + source field local flag covers the selected case class and nothing else 0.005s
489 + source field local flag covers the selected subtype of an enum and nothing else 0.005s
490 + source field local flag covers all subtypes of an enum and nothing else 0.01s
491 + dest field local flag covers all subtypes of an enum and nothing else 0.014s
492 + source field local flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.012s
493 + dest field local flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.01s
494 + 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
495 + 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.008s
496 + source case local flag covers the selected subtype (picked as a field in case class) 0.018s
497 + source case local flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.019s
498 + dest case local flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.013s
499io.github.arainko.ducktape.total.TupleTransformationSuite:
500 + tuple-to-tuple works 0.001s
501 + tuple-to-product works 0.003s
502 + product-to-tuple works 0.002s
503 + tuple-to-function works 0.002s
504 + tuple-to-tuple can be configured (dest side) 0.001s
505 + tuple-to-tuple can be configured (source side) 0.007s
506 + product-to-tuple can be configured (dest side) 0.002s
507 + product-to-tuple can be configured (source side) 0.011s
508 + tuple-to-product can be configured (dest side) 0.006s
509 + tuple-to-product can be configured (source side) 0.007s
510 + tuple-to-function can be configured (dest side) 0.006s
511 + tuple-to-function can be configured (source side) 0.008s
512 + plain tuples can be configured with _-accessors 0.001s
513 + big tuples work 0.004s
514 + big tuples can be configured 0.003s
515 + Field.fallbackToDefault works for tuple-to-product 0.004s
516 + Field.fallbackToNone works 0.002s
517 + Field.default works for tuple-to-product 0.002s
518 + Field.allMatching works for tuple-to-product 0.003s
519io.github.arainko.ducktape.total.FlagSuite:
520 + dest field renames work 0.002s
521 + source field renames work 0.004s
522 + source case renames work 0.003s
523 + dest case renames work 0.005s
524 + source function arg renames work 0.002s
525 + dest function arg renames work 0.007s
526 + source case object renames work 0.001s
527 + dest case object renames work 0.003s
528 + dest flag carries through BetweenOptions 0.009s
529 + source flag carries through BetweenOptions 0.01s
530 + dest flag carries through NonOptionOption 0.007s
531 + source flag carries through NonOptionOption 0.009s
532 + dest flag carries through BetweenCollections 0.006s
533 + source flag carries through BetweenCollections 0.007s
534 + dest flag carries through ProductTuple 0.005s
535 + source flag carries through ProductTuple 0.006s
536 + source flag carries through TupleProduct 0.005s
537 + dest flag carries through TupleProduct 0.013s
538 + source flag carries through BetweenTuples 0.006s
539 + dest flag carries through BetweenTuples 0.006s
540 + source flag carries through BetweenFallibles 0.006s
541 + dest flag carries through BetweenFallibles 0.005s
542 + source flag carries through BetweenFallibleNonFallible 0.004s
543 + dest flag carries through BetweenFallibleNonFallible 0.006s
544 + dest flag carries through TupleFunction 0.005s
545 + source flag carries through TupleFunction 0.003s
546 + local flags with higher priority overwrite flags with lower priority 0.003s
547 + regional flags with higher priority overwrite flags with lower priority 0.002s
548 + type-specific flags with higher priority overwrite flags with lower priority 0.002s
549 + dest name amiguities are reported for products 0.0s
550 + source name ambiguities are reported for products 0.001s
551 + dest name ambiguities are reported for coproducts 0.082s
552 + source name ambiguities are reported for coproducts 0.001s
553 + dest name amiguities are reported for functions 0.0s
554 + source name ambiguities are reported for functions 0.001s
555 + dest rename flags don't mess up configs 0.009s
556 + source rename flags don't mess up configs 0.004s
557 + Regional, local and type specific flags can work together in a single transformation according to their rules and the priority 0.01s
558 + multiple flag overrides are reported correctly 0.004s
559io.github.arainko.ducktape.total.NestedConfigurationSuite:
560 + nested product fields can be configured 0.011s
561 + nested product fields inside nested coproduct cases can be configured 0.01s
562 + nested product fields can be overriden 0.012s
563 + nested product fields can be configured by overriding the transformation that is a level above 0.007s
564 + nested product configuration fails if the types do not line up 0.006s
565 + Field.computed works for nested fields 0.006s
566 + nested product fields with collection and option elements can be configured 0.017s
567 + nested product fields with collection and option elements can be overridden 0.012s
568 + nested coproduct cases can be configured 0.006s
569 + nested coproduct cases inside nested fields can be configured 0.015s
570 + nested coproduct cases can be overridden 0.006s
571 + nested coproduct cases can be configured by configuring the case that is a level above 0.01s
572 + nested coproduct configuration fails if the types do not line up 0.003s
573 + nested coproduct cases with collection and option elements can be configured 0.008s
574 + nested coproduct cases with the NonOptionOption transformation variant can be configured 0.012s
575 + Case.computed works for nested cases 0.094s
576 + Fails when a Case config doesn't end with an 'at' segment 0.007s
577 + Field.fallbackToNone works 0.004s
578 + Field.fallbackToNone.regional works 0.003s
579 + Field.fallbackToDefault works 0.007s
580 + Field.fallbackToDefault.regional works 0.006s
581 + Field.computedDeep works in deeply nested case classes 0.011s
582 + Field.computedDeep works with deeply nested tuples 0.003s
583 + Field.computedDeep works with Options 0.013s
584 + Field.computedDeep works with collections 0.017s
585 + Field.computedDeep works with coproducts 0.011s
586 + Field.computedDeep reports the right source type if the one given to it is wrong 0.012s
587 + Field.computedDeep works correctly when a field on the same level is missing in the Source 0.011s
588io.github.arainko.ducktape.issues.Issue187Suite:
589 + BetweenNonOptionOption works when Mode[Option] is in scope 0.007s
590 + BetweenOptions works when Mode[Option] is in scope 0.01s
591 + Fallible transformation for an Option works when Mode[Option] is in scope 0.014s
592 + Option-unwrapping works 0.033s
593io.github.arainko.ducktape.total.DerivedTransformerSuite:
594 + derived product transformer roundtrip 0.024s
595 + derived product transformers take locally scoped Transformers into consideration 0.009s
596 + derived enum transformer should map to cases with same name 0.003s
597 + derivation succeeds when going from a class with more fields to a class with less fields 0.012s
598 + derivation succeeds with more complex subderivations inside 0.005s
599 + derived FromAnyVal & ToAnyVal transformers with type parameters roundrip 0.01s
600 + products with AnyVal fields with type params roundrip to their primitives 0.014s
601 + transformers are derived for products with supertypes of the original product type 0.01s
602 + derivation fails when going from a product with less fields to a product with more fields 0.001s
603 + derivation succeeds when going from a sum with less cases to a sum with more cases 0.008s
604 + derivation succeeds when going from a sum of cases with the same name as the target sum (enum) 0.028s
605 + derivation succeeds when going from a sum of cases with the same name as the target sum (sealed trait) 0.011s
606 + derivation succeeds betweens sums with type parameters 0.006s
607 + derivation fails when a Transformer doesn't exist for a child with the same name 0.0s
608 + transformations between maps of different kind work 0.003s
609 + derivation fails when going from a sum with more cases to a sum with less cases 0.0s
610 + a toplevel transformer is taken into consideration when using .to 0.008s
611 + Transformer.define* can be used to create recursive transformers 0.002s
612io.github.arainko.ducktape.total.RegionalFlagSuite:
613 + dest field regional flag covers the selected case class and everything below it 0.012s
614 + source field regional flag covers the selected case class and everything below it 0.011s
615 + source field regional flag covers the selected subtype of an enum and everything below it 0.009s
616 + source field regional flag covers all subtypes of an enum and everything below it 0.009s
617 + dest regional flag covers all subtypes of an enum and everything below it 0.114s
618 + source field regional flag covers all subtypes of an enum and everything below (even when the enum is nested) 0.014s
619 + dest field regional flag covers all subtypes of an enum and everything below (even when the enum is nested) 0.011s
620 + 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.013s
621 + 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.016s
622 + source case regional flag covers the selected subtype and everything below (picked as a field in case class) 0.02s
623 + source case regional flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.09s
624 + dest case regional flag DOESN'T cover the selected subtype (picked as a subtype with .at) 0.009s
625io.github.arainko.ducktape.fallible.failfast.EitherFailFastInstanceSuite:
626 + Transformer.Fallible.betweenCollections succeeds when all of the transformations succeed 0.005s
627 + Transformer.Fallible.betweenCollections fails when even a single transformation fails 0.002s
628 + Transformer.Fallible.betweenCollections doesn't blow up the stack when the transformation succeeds 0.122s
629 + Transformer.Fallible.betweenCollections doesn't blow up the stack when failed 0.163s
630 + Transformer.Fallible.betweenMaps transforms keys first 0.035s
631 + Transformer.Fallible.betweenMaps doesn't blow up the stack 0.938s
632 + Transformer.Fallible.betweenOptions returns None when input is None 0.0s
633 + Transformer.Fallible.betweenOptions returns Some when input is a Some and the transformation is successful 0.001s
634 + Transformer.Fallible.betweenOptions fails when input is Some and the transformation fails 0.001s
635 + Transformer.Fallible.betweenNonOptionOption returns Some when the transformation is successful 0.0s
636 + Transformer.Fallible.betweenNonOptionOption fails when the transformation fails 0.001s
637io.github.arainko.ducktape.total.TypeSpecificFlagSuite:
638 + dest field type specific flag covers the selected case class and nothing else 0.004s
639 + source field type specific flag covers the selected case class and nothing else 0.004s
640 + source field type specific flag covers the selected subtype of an enum and nothing else 0.005s
641 + source field type specific flag covers all subtypes of an enum and nothing else 0.005s
642 + dest field type specific flag covers all subtypes of an enum and nothing else 0.005s
643 + source field type specific flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.006s
644 + dest field type specific flag covers all subtypes of an enum and nothing else (even when the enum is nested) 0.006s
645 + 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
646 + 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.05s
647 + source case type specific flag covers the selected subtype (picked as a field in case class) 0.007s
648 + source case type specific flag DOESN'T cover the selected subtype (it's only meant to cover its childer) 0.007s
649 + dest case type specific DOESN'T cover the selected subtype (it's only meant to cover its childer) 0.007s
650io.github.arainko.ducktape.fallible.accumulating.AccumulatingNestedConfigurationSuite:
651 + nested product fields can be configured 0.007s
652 + nested product fields inside nested coproduct cases can be configured 0.008s
653 + nested product fields can be overriden 0.007s
654 + nested product fields can be configured by overriding the transformation that is a level above 0.006s
655 + nested product configuration fails if the types do not line up 0.003s
656 + Field.fallibleComputed works for nested fields 0.012s
657 + nested product fields with collection and option elements can be configured 0.017s
658 + nested product fields with collection and option elements can be overridden 0.014s
659 + nested coproduct cases can be configured 0.008s
660 + nested coproduct cases inside nested fields can be configured 0.009s
661 + nested coproduct cases can be overridden 0.006s
662 + nested coproduct cases can be configured by configuring the case that is a level above 0.007s
663 + nested coproduct configuration fails if the types do not line up 0.003s
664 + nested coproduct cases with collection and option elements can be configured 0.056s
665 + nested coproduct cases with the NonOptionOption transformation variant can be configured 0.005s
666 + Case.fallibleComputed works for nested cases 0.007s
667 + Fails when a Case config doesn't end with an 'at' segment 0.001s
668 + Field.fallbackToNone works 0.005s
669 + Field.fallbackToNone.regional works 0.007s
670 + Field.fallbackToDefault works 0.003s
671 + Field.fallbackToDefault.regional works 0.003s
672 + Field.fallibleComputedDeep works in deeply nested case classes 0.007s
673 + Field.fallibleComputedDeep works with deeply nested tuples 0.003s
674 + Field.fallibleComputedDeep works with Options 0.01s
675 + Field.fallibleComputedDeep works with collections 0.009s
676 + Field.fallibleComputedDeep works with coproducts 0.014s
677 + Field.fallibleComputedDeep works with F-unwrapping 0.025s
678io.github.arainko.ducktape.fallible.accumulating.AccumulatingTupleTransformationSuite:
679 + tuple-to-tuple works 0.002s
680 + tuple-to-product works 0.003s
681 + product-to-tuple works 0.004s
682 + tuple-to-function works 0.002s
683 + tuple-to-tuple can be configured (dest side) 0.001s
684 + tuple-to-tuple can be configured (source side) 0.004s
685 + product-to-tuple can be configured (dest side) 0.003s
686 + product-to-tuple can be configured (source side) 0.005s
687 + tuple-to-product can be configured (dest side) 0.003s
688 + tuple-to-product can be configured (source side) 0.012s
689 + tuple-to-function can be configured (dest side) 0.009s
690 + tuple-to-function can be configured (source side) 0.013s
691 + big tuples work 0.006s
692 + big tuples can be configured 0.001s
693io.github.arainko.ducktape.total.ViaSuite:
694 + via 0.005s
695 + via with type param 0.004s
696 + via with substransformations 0.007s
697 + via fails when the source doesn't have all the method arguments 0.001s
698io.github.arainko.ducktape.fallible.failfast.OptionFailFastInstanceSuite:
699 + Transformer.Fallible.betweenCollections succeeds when all of the transformations succeed 0.004s
700 + Transformer.Fallible.betweenCollections fails when even a single transformation fails 0.0s
701 + Transformer.Fallible.betweenCollections doesn't blow up the stack when the transformation succeeds 0.214s
702 + Transformer.Fallible.betweenCollections doesn't blow up the stack when failed 0.314s
703 + Transformer.Fallible.betweenMaps transforms keys first 0.001s
704 + Transformer.Fallible.betweenMaps doesn't blow up the stack 0.45s
705 + Transformer.Fallible.betweenOptions returns None when input is None 0.0s
706 + Transformer.Fallible.betweenOptions returns Some when input is a Some and the transformation is successful 0.0s
707 + Transformer.Fallible.betweenOptions fails when input is Some and the transformation fails 0.0s
708 + Transformer.Fallible.betweenNonOptionOption returns Some when the transformation is successful 0.0s
709 + Transformer.Fallible.betweenNonOptionOption fails when the transformation fails 0.001s
710io.github.arainko.ducktape.fallible.accumulating.NonDerivedInstanceSuite:
711 + Transformer.Fallible.betweenCollections succeeds when all of the transformations succeed 0.001s
712 + Transformer.Fallible.betweenCollections fails when only some of the transformations succeed 0.007s
713 + Transformer.Fallible.betweenMaps works 0.006s
714 + Transformer.Fallible.betweenCollections accumulates errors in the order they occur 0.001s
715 + Transformer.Fallible.betweenCollections doesn't blow up the stack 0.372s
716 + Transformer.Fallible.betweenMaps accumulates errors from both keys and values 0.001s
717 + Transformer.Fallible.betweenMaps doesn't blow up the stack 1.322s
718 + Transformer.Fallible.betweenOptions returns None when input is None 0.0s
719 + Transformer.Fallible.betweenOptions returns Some when input is a Some and the transformation is successful 0.001s
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.001s
722 + Transformer.Fallible.betweenNonOptionOption fails when the transformation fails 0.0s
723
724************************
725Build summary:
726[{
727 "module": "ducktape",
728 "compile": {"status": "ok", "tookMs": 27005, "warnings": 23, "errors": 0, "sourceVersion": "3.3"},
729 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
730 "test-compile": {"status": "ok", "tookMs": 47873, "warnings": 0, "errors": 0, "sourceVersion": "3.3"},
731 "test": {"status": "ok", "tookMs": 2878, "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: 79 s (0:01:19.0), completed Dec 31, 2025, 9:21:03 PM
739[0JChecking patch project/plugins.sbt...
740Checking patch build.sbt...
741Applied patch project/plugins.sbt cleanly.
742Applied patch build.sbt cleanly.