Build Logs

stryker-mutator/stryker4s • 3.8.0-RC5:2025-12-31

Errors

11

Warnings

0

Total Lines

790

1##################################
2Clonning https://github.com/stryker-mutator/stryker4s.git into /build/repo using revision v0.19.1
3##################################
4Note: switching to 'b3f4106b10f31888a9d4e3a1ab558235090344e6'.
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
21Would override fixed Scala version: 3.7.3
22----
23Preparing build for 3.8.0-RC5
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: project/Dependencies.scala
34Pattern: val scala3 = "3.7.3"
35Replacement: val scala3 = "3.8.0-RC5"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val scala3 = "3.7.3"' in project/Dependencies.scala
40----
41Starting build for 3.8.0-RC5
42Execute tests: true
43sbt project found:
44No prepare script found for project stryker-mutator/stryker4s
45##################################
46Scala version: 3.8.0-RC5
47Targets: io.stryker-mutator%stryker4s-api io.stryker-mutator%stryker4s-command-runner io.stryker-mutator%stryker4s-core io.stryker-mutator%stryker4s-sbt-testrunner io.stryker-mutator%stryker4s-testkit io.stryker-mutator%stryker4s-testrunner-api
48Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.7.3\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
49##################################
50Using extra scalacOptions: ,REQUIRE:-source:3.8
51Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
52[sbt_options] declare -a sbt_options=()
53[process_args] java_version = '17'
54[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
55# Executing command line:
56java
57-Dfile.encoding=UTF-8
58-Dcommunitybuild.scala=3.8.0-RC5
59-Dcommunitybuild.project.dependencies.add=
60-Xmx7G
61-Xms4G
62-Xss8M
63-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
64-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
65-jar
66/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
67"setCrossScalaVersions 3.8.0-RC5"
68"++3.8.0-RC5 -v"
69"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
70"set every credentials := Nil"
71"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
72"removeScalacOptionsStartingWith -P:wartremover"
73
74moduleMappings
75"runBuild 3.8.0-RC5 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.7.3\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}""" io.stryker-mutator%stryker4s-api io.stryker-mutator%stryker4s-command-runner io.stryker-mutator%stryker4s-core io.stryker-mutator%stryker4s-sbt-testrunner io.stryker-mutator%stryker4s-testkit io.stryker-mutator%stryker4s-testrunner-api"
76
77[info] [launcher] getting org.scala-sbt sbt 1.11.6 (this may take some time)...
78[info] welcome to sbt 1.11.6 (Eclipse Adoptium Java 17.0.8)
79[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
80[info] loading project definition from /build/repo/project
81[info] compiling 6 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
82[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
83[info] Compilation completed in 8.575s.
84[info] done compiling
85[info] loading settings for project stryker4s from build.sbt...
86[info] resolving key references (23719 settings) ...
87[info] set current project to stryker4s (in build file:/build/repo/)
88[success] Total time: 0 s, completed Dec 31, 2025, 8:58:29 PM
89Execute setCrossScalaVersions: 3.8.0-RC5
90OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in testRunnerApi/crossScalaVersions
91OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in commandRunner/crossScalaVersions
92OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in api/crossScalaVersions
93OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC5 in testRunnerApi3/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC5) in testRunnerApi3/crossScalaVersions
95OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in core/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in core3/crossScalaVersions
97OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC5) in core3/crossScalaVersions
98OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in sbtTestRunner/crossScalaVersions
99OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in testkit3/crossScalaVersions
100OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC5) in testkit3/crossScalaVersions
101OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC5 in sbtTestRunner3/crossScalaVersions
102OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in sbtPlugin3/crossScalaVersions
103OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC5) in sbtTestRunner3/crossScalaVersions
104OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC5) in sbtPlugin3/crossScalaVersions
105OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in api3/crossScalaVersions
106OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC5) in api3/crossScalaVersions
107OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in testkit/crossScalaVersions
108OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in commandRunner3/crossScalaVersions
109OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC5) in commandRunner3/crossScalaVersions
110[info] set current project to stryker4s (in build file:/build/repo/)
111[success] Total time: 0 s, completed Dec 31, 2025, 8:58:31 PM
112[info] Setting Scala version to 3.8.0-RC5 on 7 projects.
113[info] Switching Scala version on:
114[info] api3 (3.8.0-RC5)
115[info] testRunnerApi3 (3.8.0-RC5)
116[info] commandRunner3 (3.8.0-RC5)
117[info] core3 (3.8.0-RC5)
118[info] sbtTestRunner3 (3.8.0-RC5)
119[info] testkit3 (3.8.0-RC5)
120[info] sbtPlugin3 (3.8.0-RC5)
121[info] Excluding projects:
122[info] testRunnerApi (2.13.16)
123[info] commandRunner2_12 (2.12.20)
124[info] core2_12 (2.12.20)
125[info] testkit2_12 (2.12.20)
126[info] sbtPlugin (2.12.20)
127[info] * stryker4s (2.12.20)
128[info] api2_12 (2.12.20)
129[info] sbtTestRunner2_12 (2.12.20)
130[info] testRunnerApi2_12 (2.12.20)
131[info] api (2.13.16)
132[info] core (2.13.16)
133[info] commandRunner (2.13.16)
134[info] sbtTestRunner (2.13.16)
135[info] testkit (2.13.16)
136[info] Reapplying settings...
137[info] set current project to stryker4s (in build file:/build/repo/)
138[success] Total time: 0 s, completed Dec 31, 2025, 8:58:32 PM
139Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
140[info] Reapplying settings...
141[info] set current project to stryker4s (in build file:/build/repo/)
142[success] Total time: 0 s, completed Dec 31, 2025, 8:58:33 PM
143[info] Defining Global / credentials, api / credentials and 19 others.
144[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 105 others.
145[info] Run `last` for details.
146[info] Reapplying settings...
147[info] set current project to stryker4s (in build file:/build/repo/)
148[success] Total time: 0 s, completed Dec 31, 2025, 8:58:36 PM
149Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
150[info] Reapplying settings...
151OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
152
153 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
154 Did you mean core3 / allExcludeDependencies ?
155 , retry without global scopes
156[info] Reapplying settings...
157[info] set current project to stryker4s (in build file:/build/repo/)
158[success] Total time: 0 s, completed Dec 31, 2025, 8:58:37 PM
159Execute removeScalacOptionsStartingWith: -P:wartremover
160[info] Reapplying settings...
161[info] set current project to stryker4s (in build file:/build/repo/)
162[success] Total time: 0 s, completed Dec 31, 2025, 8:58:39 PM
163[success] Total time: 0 s, completed Dec 31, 2025, 8:58:39 PM
164Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.7.3\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
165Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
166Starting build...
167Projects: Set(testRunnerApi, api3, testRunnerApi3, commandRunner3, core3, sbtTestRunner3, testkit3)
168Starting build for ProjectRef(file:/build/repo/,api3) (stryker4s-api)... [0/7]
169OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
170OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
171OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
172OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
173Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
174[info] compiling 2 Scala sources to /build/repo/modules/api/target/jvm-3/classes ...
175[info] done compiling
176Starting build for ProjectRef(file:/build/repo/,sbtTestRunner3) (stryker4s-sbt-testrunner)... [1/7]
177Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
178[info] Compiling 1 protobuf files to /build/repo/modules/testRunnerApi/target/jvm-3/src_managed/main/scalapb
179[info] compiling 18 Scala sources to /build/repo/modules/testRunnerApi/target/jvm-3/classes ...
180[info] done compiling
181[info] compiling 7 Scala sources to /build/repo/modules/sbtTestRunner/target/jvm-3/classes ...
182[info] done compiling
183Starting build for ProjectRef(file:/build/repo/,testRunnerApi) (stryker4s-testrunner-api)... [2/7]
184OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Zero, Zero, Zero)
185OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(compile)), Zero, Zero)
186Compile scalacOptions: -encoding, utf8, -unchecked, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xlint:adapted-args, -Xlint:constant, -Xlint:delayedinit-select, -Xlint:deprecation, -Xlint:doc-detached, -Xlint:implicit-recursion, -Xlint:implicit-not-found, -Xlint:inaccessible, -Xlint:infer-any, -Xlint:missing-interpolator, -Xlint:nullary-unit, -Xlint:option-implicit, -Xlint:package-object-classes, -Xlint:poly-implicit-overload, -Xlint:private-shadow, -Xlint:stars-align, -Xlint:strict-unsealed-patmat, -Xlint:type-parameter-shadow, -Xlint:-byname-implicit, -Wdead-code, -Wextra-implicit, -Wnumeric-widen, -Wnonunit-statement, -Wunused:nowarn, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:patvars, -Wunused:privates, -Xsource:3, -release, 11, -Xplugin:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/kind-projector_2.13.16/0.13.3/kind-projector_2.13.16-0.13.3.jar, -Wconf:msg=can be rewritten automatically under:s
187OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(compile)), Select(compile), Zero)
188[info] Compiling 1 protobuf files to /build/repo/modules/testRunnerApi/target/jvm-2.13/src_managed/main/scalapb
189[info] compiling 18 Scala sources to /build/repo/modules/testRunnerApi/target/jvm-2.13/classes ...
190[info] done compiling
191OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(test)), Zero, Zero)
192OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(test)), Select(compile), Zero)
193Starting build for ProjectRef(file:/build/repo/,core3) (stryker4s-core)... [3/7]
194Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
195[info] compiling 85 Scala sources to /build/repo/modules/core/target/jvm-3/classes ...
196[info] done compiling
197[info] compiling 4 Scala sources to /build/repo/modules/testkit/target/jvm-3/classes ...
198[info] done compiling
199[info] compiling 57 Scala sources to /build/repo/modules/core/target/jvm-3/test-classes ...
200[info] done compiling
201stryker4s.model.MutantMetadataTest:
202 + locationShow > should show the location 0.138s
203 + locationShow > should be equal to showLocation 0.001s
204stryker4s.run.process.ProcessRunnerTest:
205 + resolveRunner > should resolve the proper runner for the current OS 0.043s
206stryker4s.mutation.MutationTypesTest:
207 + EqualityOperator > > to GreaterThan 0.117s
208 + EqualityOperator > >= to GreaterThanEqualTo 0.002s
209 + EqualityOperator > <= to LesserThanEqualTo 0.002s
210 + EqualityOperator > < to LesserThan 0.002s
211 + EqualityOperator > == to EqualTo 0.002s
212 + EqualityOperator > != to NotEqualTo 0.001s
213 + BooleanLiteral > false to False 0.007s
214 + BooleanLiteral > true to True 0.006s
215 + LogicalOperator > && to And 0.001s
216 + LogicalOperator > || to Or 0.005s
217 + StringLiteral > foo string to NonEmptyString 0.006s
218 + StringLiteral > empty string to EmptyString 0.003s
219 + StringLiteral > string interpolation to StringInterpolation 0.007s
220 + StringLiteral > q interpolation should not match StringInterpolation 0.002s
221 + StringLiteral > t interpolation should not match StringInterpolation 0.003s
222 + other cases > should return original tree on match 0.002s
223 + other cases > should convert GreaterThan to > 0.002s
224 + other cases > should convert to the proper type 0.002s
225stryker4s.exception.Stryker4sExceptionTest:
226 + UnableToBuildPatternMatchException > should have the correct message 0.021s
227 + InitialTestRunFailedException > should have the correct message 0.002s
228 + TestSetupException > should have the correct message 0.003s
229 + MutationRunFailedException > should have the correct message 0.001s
230 + UnableToFixCompilerErrorsException > should have a nicely formatted message 0.005s
231stryker4s.files.GlobFileResolverTest:
232 + files > should not collect the baseDir 0.345s
233 + files > should find all scala files and not the non-scala files with a default glob 0.023s
234 + files > should find matching files with custom match pattern 0.018s
235 + files > should only add a glob once even when it matches twice 0.017s
236 + files > should exclude all files in the target folder 0.015s
237 + files > should match if basePath and glob are absolute 0.008s
238stryker4s.config.source.AggregateConfigSourceTest:
239 + combines multiple sources 0.548s
240 + aggregate combines given sources and defaults 0.132s
241stryker4s.config.source.FileConfigSourceTest:
242 + should load a filled config 0.18s
243 + should not be able to load an empty config 0.009s
244 + should fail on an unknown reporter 0.009s
245 + should load a config with unknown keys 0.01s
246 + should filter out duplicate keys 0.002s
247 + should return a failure on a misshapen excluded-mutations 0.009s
248 + should parse duration expressions 0.002s
249 + should handle missing files 0.119s
250 + fails on other errors 0.076s
251 + logs > should log where the config is read from 0.011s
252stryker4s.report.AggregateReporterTest:
253 + mutantTested > should do nothing if there are no reporters 0.232s
254 + mutantTested > should report to all reporters that a mutant is tested 0.409s
255 + mutantTested > should report to all reporters even if a first reporter fails 0.043s
256 + onRunFinished > should report to all reporters that a mutation run is completed 0.005s
257 + onRunFinished > should still call other reporters if a reporter throws an exception 0.003s
258 + onRunFinished > logging > should log and throw if a reporter throws an exception 0.001s
259 + onRunFinished > logging > should not log warnings if no exceptions occur 0.008s
260stryker4s.extension.ResourceExtensionsTest:
261 + selfRecreatingResource > should create a resource only once when not using the release F 0.007s
262 + selfRecreatingResource > should close first before creating a new Resource 0.003s
263stryker4s.run.TestRunnerTest:
264 + timeoutRunner > initialTestRun > should complete the timeout after the initial testrun 0.05s
265 + timeoutRunner > initialTestRun > should use the reported timeout if available 0.013s
266 + timeoutRunner > initialTestRun > should not log the timeout setting if timeout has already been completed 0.003s
267 + timeoutRunner > runMutant > should timeout slow mutant runs 0.044s
268 + timeoutRunner > runMutant > should recreate the inner resource after a timeout 0.011s
269 + timeoutRunner > runMutant > should not timeout fast mutant runs 0.009s
270 + retryRunner > should retry after a first attempt fails 0.036s
271 + retryRunner > should report a mutant as Error after 3 failures 0.016s
272 + retryRunner > should only report as Error after 3 failed attempts 0.013s
273 + maxReuseTestRunner > should not recreate if reuse is not reached yet 0.013s
274 + maxReuseTestRunner > should recreate when reuse is reached 0.017s
275stryker4s.mutants.TreeTraverserTest:
276 + canPlace > can not place inside case guards 0.043s
277 + canPlace > can place in case body 0.014s
278 + canPlace > can not place inside annotations 0.036s
279 + canPlace > can not place inside deep term Term 0.022s
280 + canPlace > can place outside part of a Term 0.022s
281 + canPlace > can not place inside type literals 0.025s
282stryker4s.extension.NumberExtensionsTest:
283 + roundDecimals > should round down to the given decimals 0.007s
284 + roundDecimals > should round up to the given decimals 0.003s
285 + roundDecimals > should round multiple decimals 0.0s
286 + roundDecimals > should leave NaN 0.005s
287stryker4s.mutants.tree.MutantInstrumenterTest:
288 + instrumentFile > should transform 2 mutations into a match statement with 2 mutated and 1 original 0.543s
289 + instrumentFile > should place mutants on the correct statement even if the name appears twice 0.1s
290 + instrumentFile > should apply the correct instrumenter options 0.041s
291 + instrumentFile > should log failures correctly 0.028s
292 + instrumentFile > should rethrow Stryker4sExceptions 0.003s
293stryker4s.extension.PartialFunctionOpsTest:
294 + Monoid > when combined still calls the first PF 0.007s
295 + Monoid > when combined still calls the second PF 0.001s
296 + Monoid > combines the result when both PFs match 0.006s
297 + Monoid > combines the result multiple times with combineN 0.001s
298 + Monoid > Empty Monoid is equal to empty PartialFunction 0.001s
299 + Monoid > Empty Monoid should not match on anything equal to empty PartialFunction 0.002s
300 + Monoid > should not be able to combine PF's that can't combine the result 0.008s
301stryker4s.run.RollbackHandlerTest:
302 + rollbackFiles > should remove a non-compiling mutant 0.281s
303 + rollbackFiles > should return a Left if no mutants were removed 0.073s
304 + rollbackFiles > should filter out fixed files of the rollbackResult 0.045s
305stryker4s.mutants.findmutants.MutantFinderTest:
306 + parseFile > should parse an existing file 0.062s
307 + parseFile > should throw an exception on a non-parseable file 0.021s
308 + parseFile > should fail on a nonexistent file 0.005s
309 + parseFile > should parse a scala-3 file 0.084s
310 + logging > should error log an unfound file 0.008s
311stryker4s.config.source.CliConfigSourceTest:
312 + should load a filled config 0.094s
313 + should parse short arguments 0.017s
314 + fails on unknown arguments 0.013s
315 + should handle multiple arguments 0.006s
316stryker4s.report.mapper.MutantRunResultMapperTest:
317 + mapper > should map 4 files to valid MutationTestResult 0.042s
318stryker4s.run.threshold.ThresholdCheckerTest:
319 + thresholdchecker > should return a DangerStatus with default thresholds and score 0.0 0.007s
320 + thresholdchecker > should return a SuccessStatus when the score is above threshold 0.003s
321 + thresholdchecker > should return a DangerStatus when the score equals threshold 0.001s
322 + thresholdchecker > should return an ErrorStatus when the threshold is not met 0.004s
323 + thresholdchecker > should never return WarningStatus when 'high' is equal to 'low' 0.006s
324 + thresholdchecker > should return success status when score is equal to or greater than 'high' threshold 0.0s
325 + thresholdchecker > should return warning status when score is below 'high' and above or equal to 'low' threshold 0.004s
326 + thresholdchecker > should return danger status when score is below 'low' and above or equal to 'break' threshold 0.001s
327 + thresholdchecker > should return error status when score is below 'break' 0.0s
328 + thresholdchecker > should return success for NaN 0.001s
329stryker4s.config.codec.CirisConfigDecodersTest:
330 + Thresholds > should load high=85, low=65, break=10 to expected result 0.001s
331 + Thresholds > should load high=30, low=30 to expected result 0.0s
332 + Thresholds > should load low=30, break=29 to expected result 0.001s
333 + Thresholds > should load high=100 to expected result 0.0s
334 + Thresholds > should not load Thresholds(-1,60,0) 0.004s
335 + Thresholds > should not load Thresholds(80,-1,0) 0.001s
336 + Thresholds > should not load Thresholds(80,60,-1) 0.002s
337 + Thresholds > should not load Thresholds(101,60,0) 0.0s
338 + Thresholds > should not load Thresholds(80,101,0) 0.0s
339 + Thresholds > should not load Thresholds(80,60,101) 0.001s
340 + Thresholds > should not load Thresholds(50,51,0) 0.007s
341 + Thresholds > should not load Thresholds(80,50,51) 0.001s
342 + Thresholds > should not load Thresholds(80,50,50) 0.0s
343 + ScalaDialect > should parse scala30 to Scala30 0.001s
344 + ScalaDialect > should parse future to Scala3Future 0.0s
345 + ScalaDialect > should parse 33 to Scala33 0.0s
346 + ScalaDialect > should parse 37 to Scala37 0.008s
347 + ScalaDialect > should parse 3.0 to Scala30 0.008s
348 + ScalaDialect > should parse 3.5 to Scala35 0.001s
349 + ScalaDialect > should parse scala37 to Scala37 0.0s
350 + ScalaDialect > should parse 3.3 to Scala33 0.001s
351 + ScalaDialect > should parse 2.12 to Scala212 0.0s
352 + ScalaDialect > should parse scala36 to Scala36 0.001s
353 + ScalaDialect > should parse scala213source3 to Scala213Source3 0.0s
354 + ScalaDialect > should parse source3 to Scala213Source3 0.001s
355 + ScalaDialect > should parse scala212 to Scala212 0.0s
356 + ScalaDialect > should parse scala3.7 to Scala37 0.001s
357 + ScalaDialect > should parse 34 to Scala34 0.0s
358 + ScalaDialect > should parse scala3.4 to Scala34 0.001s
359 + ScalaDialect > should parse 3.7 to Scala37 0.0s
360 + ScalaDialect > should parse 3.1 to Scala32 0.003s
361 + ScalaDialect > should parse scala3.1 to Scala32 0.0s
362 + ScalaDialect > should parse 3.4 to Scala34 0.001s
363 + ScalaDialect > should parse 212 to Scala212 0.002s
364 + ScalaDialect > should parse scala34 to Scala34 0.001s
365 + ScalaDialect > should parse scala3.3 to Scala33 0.004s
366 + ScalaDialect > should parse 35 to Scala35 0.0s
367 + ScalaDialect > should parse scala3 to Scala37 0.001s
368 + ScalaDialect > should parse 2.13 to Scala213 0.0s
369 + ScalaDialect > should parse 213 to Scala213 0.001s
370 + ScalaDialect > should parse scala2.13 to Scala213 0.0s
371 + ScalaDialect > should parse 32 to Scala32 0.001s
372 + ScalaDialect > should parse 36 to Scala36 0.0s
373 + ScalaDialect > should parse scala3.2 to Scala32 0.007s
374 + ScalaDialect > should parse 31 to Scala32 0.0s
375 + ScalaDialect > should parse scala35 to Scala35 0.0s
376 + ScalaDialect > should parse scala31 to Scala32 0.0s
377 + ScalaDialect > should parse scala3future to Scala3Future 0.0s
378 + ScalaDialect > should parse dotty to Scala30 0.001s
379 + ScalaDialect > should parse 2 to Scala213 0.002s
380 + ScalaDialect > should parse scala3.6 to Scala36 0.001s
381 + ScalaDialect > should parse 3.2 to Scala32 0.0s
382 + ScalaDialect > should parse scala3.0 to Scala30 0.001s
383 + ScalaDialect > should parse scala213 to Scala213 0.0s
384 + ScalaDialect > should parse scala2.12 to Scala212 0.0s
385 + ScalaDialect > should parse scala3.5 to Scala35 0.001s
386 + ScalaDialect > should parse 3.6 to Scala36 0.006s
387 + ScalaDialect > should parse 30 to Scala30 0.0s
388 + ScalaDialect > should parse scala32 to Scala32 0.001s
389 + ScalaDialect > should parse scala33 to Scala33 0.0s
390 + ScalaDialect > should parse 3 to Scala37 0.01s
391 + ScalaDialect > should parse scala212source3 to Scala212Source3 0.001s
392 + ScalaDialect > should not parse invalid scala-dialects 0.005s
393 + ScalaDialect > should error deprecated scala-dialect scala211 0.005s
394 + ScalaDialect > should error deprecated scala-dialect scala2.11 0.002s
395 + ScalaDialect > should error deprecated scala-dialect 2.11 0.003s
396 + ScalaDialect > should error deprecated scala-dialect 211 0.001s
397 + ReporterType > should decode valid reporters 0.003s
398 + ReporterType > should not decode invalid reporters 0.001s
399 + DashboardReportType > should decode valid dashboard report types 0.001s
400 + DashboardReportType > should not decode invalid dashboard report types 0.0s
401 + Uri > should decode valid uris 0.003s
402 + Uri > should not decode invalid uris 0.001s
403 + Duration > should decode valid duration values 0.0s
404 + Duration > should fallback to milliseconds when no unit is provided 0.001s
405stryker4s.Stryker4sTest:
406 + should call mutate files and report the results 0.395s
407stryker4s.extension.TreeExtensionsTest:
408 + isIn > should be false for annotations 0.019s
409 + find > should find statement in simple tree 0.002s
410 + find > should find statement in large tree 0.041s
411 + find > should return none if statement is not in tree 0.002s
412 + find > should still have parents when statement is found 0.002s
413 + transformOnce > should transform does not recursively transform new subtree 0.005s
414 + transformOnce > should transform both appearances in the tree only once 0.006s
415 + transformOnce > should return the same tree if no transformation is applied 0.001s
416 + transformOnce > should transform a parsed string and have changed syntax 0.006s
417 + collectWithContext > should collect all statements without context 0.005s
418 + collectWithContext > should collect and pass context 0.003s
419 + collectWithContext > should only evaluate functions once 0.006s
420 + collectWithContext > should not search upwards for context if one has already been found 0.006s
421 + collectWithContext > should not call context-building function if no collector is found 0.002s
422 + collectWithContext > should call with older context if not found on the currently-visiting tree 0.013s
423 + collectWithContext > should pass down each collector its own context 0.004s
424 + collectWithContext > should not pass context from separate trees 0.004s
425 + toLocation > should map a weaponregex.Location to a mutationtesting.Location 0.001s
426 + toLocation > uses correct offset for triple double-quote strings 0.001s
427stryker4s.mutants.MutatorTest:
428 + run > should return a single Tree with changed pattern match 0.064s
429 + run > should run go 0.071s
430 + logs > should log the amount of mutants found 0.027s
431 + logs > should log the amount of excluded mutants 0.034s
432 + logs > should log a warning if no mutants are found 0.03s
433 + logs > should log if all mutations are excluded 0.042s
434stryker4s.config.circe.ConfigEncoderTest:
435 + configEncoder > should be able to encode a minimal config 0.046s
436 + configEncoder > should be able to encode a filled config 0.002s
437stryker4s.report.dashboard.DashboardConfigProviderTest:
438 + resolveConfig > should resolve a Travis environment 0.044s
439 + resolveConfig > should resolve a CircleCI environment 0.003s
440 + resolveConfig > should resolve a GitHub actions environment 0.003s
441 + resolveConfig > should resolve a GitHub actions PR environment 0.001s
442 + resolveConfig > should resolve a configured environment 0.002s
443 + resolveConfig > should resolve without a module 0.0s
444 + resolveConfig > should not resolve a GitHub actions with malformed ref 0.017s
445 + resolveConfig > should not resolve empty env variables 0.001s
446 + resolveConfig > should not resolve when there is no STRYKER_DASHBOARD_API_KEY environment 0.0s
447 + resolveConfig > should not resolve when there is no project 0.0s
448 + resolveConfig > should not resolve when there is no version 0.0s
449 + resolveConfig > should return all unresolved 0.0s
450stryker4s.extension.FileExtensionsTest:
451 + relativePath > should return the relative path on a file inside the base-dir 0.0s
452 + relativePath > should return just the file name when a file is in the base-dir 0.001s
453 + relativePath > should return the path if the given path is relative 0.0s
454 + relativePath > works if both are relative 0.004s
455 + relativePath > works if both are absolute 0.0s
456 + relativePath > works if baseDir is relative and path is absolute 0.001s
457 + relativePath > works if baseDir is absolute and path is relative 0.001s
458 + relativePath > multiple calls doesn't change the path 0.001s
459 + inSubDir > should calculate a path relative to the new subDir 0.0s
460stryker4s.report.DashboardReporterTest:
461 + buildRequest > should compose the request 0.276s
462 + buildRequest > should make a score-only request when score-only is configured 0.011s
463 + buildRequest > should add the module if it is present 0.014s
464 + onRunFinished > should send the request 0.072s
465 + onRunFinished > log when not being able to resolve dashboard config 0.005s
466 + onRunFinished > should log when a response can't be parsed to a href 0.014s
467 + onRunFinished > should log when a 401 is returned by the API 0.009s
468 + onRunFinished > should log when a error code is returned by the API 0.006s
469stryker4s.config.ConfigLoaderTest:
470 + combines a ConfigSource into Config 0.034s
471 + accumulates failures 0.01s
472stryker4s.config.ConfigOrderTest:
473 + should order ascending 0.0s
474stryker4s.config.source.DefaultsConfigSourceTest:
475 + loads all default values 0.011s
476stryker4s.model.MutantIdTest:
477 + MutantId > should have a toString that returns a number 0.001s
478stryker4s.report.JsonReporterTest:
479 + reportJson > should contain the report 0.004s
480 + onRunFinished > should write the report file to the report directory 0.008s
481 + onRunFinished > should info log a message 0.001s
482stryker4s.report.ConsoleReporterTest:
483 + mutantTested > should log progress 0.036s
484 + mutantTested > should round decimal numbers 0.01s
485 + reportFinishedRun > should report killed mutants as debug 0.033s
486 + reportFinishedRun > should report a finished run with multiple mutants 0.023s
487 + reportFinishedRun > should log mutants sorted by id 0.026s
488 + reportFinishedRun > should report two line mutants properly 0.004s
489 + reportFinishedRun > should report multiline mutants properly 0.009s
490 + reportFinishedRun > should round decimal mutation scores 0.007s
491 + reportFinishedRun > should log NaN correctly as n/a 0.005s
492 + reportFinishedRun > should report the mutation score when it is info 0.004s
493 + reportFinishedRun > should report the mutation score when it is warning 0.004s
494 + reportFinishedRun > should report the mutation score when it is dangerously low 0.002s
495 + reportFinishedRun > should log when below threshold 0.011s
496 + reportFinishedRun > should log covered code if it is different to the total 0.011s
497stryker4s.mutants.tree.MutantCollectorTest:
498 + onEnter > should only call 'isDefinedAt' on the PartialFunction once 0.016s
499 + apply > should return the mutated code 0.009s
500stryker4s.mutation.MethodExpressionTest:
501 + ArgMethodExpression > should match with a filter call (one argument) 0.002s
502 + ArgMethodExpression > should match with an infix filter call (one argument) 0.003s
503 + ArgMethodExpression > should match with a filter call (block with one argument) 0.002s
504 + ArgMethodExpression > should match with an infix filter call (block with one argument) 0.006s
505 + ArgMethodExpression > should match with a filter call (partial function) 0.001s
506 + ArgMethodExpression > should match with an infix filter call (partial function) 0.004s
507 + ArgMethodExpression > should match with a filter call (aux function) 0.001s
508 + ArgMethodExpression > should match with an infix filter call (aux function) 0.002s
509 + ArgMethodExpression > should not match with an infix filter call (non arguments) 0.001s
510 + ArgMethodExpression > should not match with a filter call (more than one argument) 0.008s
511 + ArgMethodExpression > should not match with an infix filter call (more than one argument) 0.006s
512 + ArgMethodExpression > should not match with a filter call (more than one argument) 2 0.001s
513 + ArgMethodExpression > should not match with an infix filter call (more than one argument) 2 0.011s
514 + ArgMethodExpression > should not match with a filter call (block more than one argument) 0.001s
515 + ArgMethodExpression > should not match with a filter property 0.004s
516 + ArgMethodExpression > should not match with an infix filter property 0.007s
517 + ArgMethodExpression > should not match with a filter import 0.005s
518 + ArgMethodExpression > should not match with a filter variable 0.001s
519 + ArgMethodExpression > should match exists to Exists 0.001s
520 + ArgMethodExpression > should match forall to Forall 0.004s
521 + ArgMethodExpression > should match take to Take 0.001s
522 + ArgMethodExpression > should match drop to Drop 0.001s
523 + ArgMethodExpression > should match takeRight to TakeRight 0.006s
524 + ArgMethodExpression > should match dropRight to DropRight 0.001s
525 + ArgMethodExpression > should match takeWhile to TakeWhile 0.001s
526 + ArgMethodExpression > should match dropWhile to DropWhile 0.001s
527 + NoArgMethodExpression > should not match with an isEmpty call (one argument) 0.001s
528 + NoArgMethodExpression > should not match with an isEmpty call (block with one argument) 0.001s
529 + NoArgMethodExpression > should not match with an isEmpty call (partial function) 0.006s
530 + NoArgMethodExpression > should not match with an isEmpty call (aux function) 0.001s
531 + NoArgMethodExpression > should not match with an isEmpty call (non arguments) 0.001s
532 + NoArgMethodExpression > should not match with an isEmpty call (more than one argument) 0.001s
533 + NoArgMethodExpression > should not match with an isEmpty call (block more than one argument) 0.004s
534 + NoArgMethodExpression > should match with an isEmpty property 0.001s
535 + NoArgMethodExpression > should not match with an isEmpty import 0.001s
536 + NoArgMethodExpression > should not match with an isEmpty variable 0.003s
537stryker4s.report.HtmlReporterTest:
538 + indexHtml > should contain title 0.009s
539 + reportJs > should contain the report 0.011s
540 + mutation-test-elements > should write the resource 0.053s
541 + onRunFinished > should write the report files to the report directory 0.015s
542 + onRunFinished > should write the mutation-test-elements.js file to the report directory 0.009s
543 + onRunFinished > should info log a message 0.002s
544 + onRunFinished > should open the report when openReport is true 0.005s
545 + onRunFinished > should not open the report when openReport is false 0.005s
546stryker4s.files.GlobTest:
547 + include patterns > should match no files with empty glob 0.001s
548 + include patterns > should match files 0 levels deep 0.001s
549 + include patterns > should match on the second glob if the first doesn't match 0.0s
550 + include patterns > should match files 1 level deep 0.009s
551 + include patterns > should match files multiple levels deep 0.0s
552 + include patterns > should match on multiple patterns 0.001s
553 + include patterns > should match exact matches 0.001s
554 + ignore patterns > should exclude the file specified in the excluded pattern 0.006s
555 + ignore patterns > should exclude all files specified in the excluded pattern 0.001s
556 + ignore patterns > should exclude all files based on a wildcard 0.001s
557 + ignore patterns > should not exclude files if a non-matching ignore pattern is given 0.001s
558 + should escape \\ in a path 0.0s
559 + should escape { in a path 0.0s
560 + should escape } in a path 0.001s
561 + should escape [ in a path 0.0s
562 + should escape ] in a path 0.0s
563 + should escape * in a path 0.0s
564 + should escape ? in a path 0.0s
565stryker4s.model.CompilerErrMsgTest:
566 + CompilerErrMsgTest > should have a nicely formatted show 0.001s
567stryker4s.config.TestFilterTest:
568 + filter > should work with default 0.004s
569 + filter > should work with custom 0.016s
570 + filter > should work with custom and negation 0.001s
571stryker4s.config.ConfigTest:
572 + concurrency > should give concurrency 4 for 10 cpu cores 0.0s
573 + concurrency > should give concurrency 7 for 24 cpu cores 0.0s
574 + concurrency > should give concurrency 6 for 20 cpu cores 0.0s
575 + concurrency > should give concurrency 1 for 1 cpu cores 0.0s
576 + concurrency > should give concurrency 3 for 6 cpu cores 0.0s
577 + concurrency > should give concurrency 8 for 28 cpu cores 0.0s
578 + concurrency > should give concurrency 2 for 2 cpu cores 0.0s
579 + concurrency > should give concurrency 9 for 32 cpu cores 0.0s
580 + concurrency > should give concurrency 4 for 12 cpu cores 0.0s
581 + concurrency > should give concurrency 2 for 3 cpu cores 0.0s
582 + concurrency > should give concurrency 5 for 16 cpu cores 0.001s
583 + concurrency > should give concurrency 3 for 8 cpu cores 0.0s
584 + concurrency > should give concurrency 2 for 4 cpu cores 0.0s
585stryker4s.mutants.findmutants.MutantMatcherTest:
586 + All Matchers > should match a conditional statement 0.059s
587 + All Matchers > should match a method 0.019s
588 + All Matchers > should match a boolean and a conditional 0.017s
589 + All Matchers > should match the default case of a constructor argument 0.022s
590 + All Matchers > should match on the default case of a function argument 0.02s
591 + matchEqualityOperator matcher > should match >= sign with >, <, and == 0.015s
592 + matchEqualityOperator matcher > should match > with >=, < and == 0.007s
593 + matchEqualityOperator matcher > should match <= to <, >= and == 0.006s
594 + matchEqualityOperator matcher > should match < to <=, > and == 0.006s
595 + matchEqualityOperator matcher > should match == to != 0.003s
596 + matchEqualityOperator matcher > should match != to == 0.006s
597 + matchEqualityOperator matcher > should match === to =!= 0.008s
598 + matchEqualityOperator matcher > should match =!= to === 0.005s
599 + matchLogicalOperator matcher > should match && to || 0.002s
600 + matchLogicalOperator matcher > should match || to && 0.002s
601 + matchMethodExpression matcher > should match filter to filterNot 0.013s
602 + matchMethodExpression matcher > should match filterNot to filter 0.012s
603 + matchMethodExpression matcher > should match exists to forall 0.006s
604 + matchMethodExpression matcher > should match forall to exists 0.007s
605 + matchMethodExpression matcher > should match take to drop 0.005s
606 + matchMethodExpression matcher > should match drop to take 0.005s
607 + matchMethodExpression matcher > should match takeRight to dropRight 0.006s
608 + matchMethodExpression matcher > should match dropRight to takeRight 0.003s
609 + matchMethodExpression matcher > should match takeWhile to dropWhile 0.007s
610 + matchMethodExpression matcher > should match dropWhile to takeWhile 0.006s
611 + matchMethodExpression matcher > should match isEmpty to nonEmpty 0.007s
612 + matchMethodExpression matcher > should match nonEmpty to isEmpty 0.004s
613 + matchMethodExpression matcher > should match indexOf to lastIndexOf 0.005s
614 + matchMethodExpression matcher > should match lastIndexOf to indexOf 0.002s
615 + matchMethodExpression matcher > should match max to min 0.004s
616 + matchMethodExpression matcher > should match min to max 0.004s
617 + matchMethodExpression matcher > should match maxBy to minBy 0.005s
618 + matchMethodExpression matcher > should match minBy to maxBy 0.006s
619 + matchBooleanLiteral matcher > should match false to true 0.001s
620 + matchBooleanLiteral matcher > should match true to false 0.001s
621 + matchStringLiteral matcher > should match foo to NonEmptyString 0.005s
622 + matchStringLiteral matcher > should match empty string to StrykerWasHere 0.005s
623 + matchStringLiteral matcher > should match on interpolated strings 0.005s
624 + matchStringLiteral matcher > should match once on interpolated strings with multiple parts 0.008s
625 + matchStringLiteral matcher > should not match non-string interpolation 0.008s
626 + matchStringLiteral matcher > should not match pattern interpolation 0.018s
627 + matchStringLiteral matcher > should match pattern in string 0.002s
628 + matchStringLiteral matcher > should not match xml literals 0.094s
629 + matchStringLiteral matcher > should not match empty strings on xml literals 0.009s
630 + matchStringLiteral matcher > should match inside xml literal args 0.004s
631 + matchStringLiteral matcher > should not match xml interpolation 0.004s
632 + regexMutator > should match Regex constructor 0.149s
633 + regexMutator > should match scala.util.matching.Regex constructor 0.007s
634 + regexMutator > should match a Regex constructor with named groups 0.004s
635 + regexMutator > should match Regex String ops 0.005s
636 + regexMutator > should match Pattern.compile Regex constructor 0.007s
637 + regexMutator > should match java.util.regex.Pattern.compile Regex constructor 0.006s
638 + regexMutator > should match Pattern.compile Regex constructor with flags 0.005s
639 + regexMutator > should not match e regular string 0.001s
640 + regexMutator > should handle regexes without any mutations 0.054s
641 + no function name matching > should not match a function with a mutator name 0.004s
642 + no function name matching > should not match on a case class with a mutator name 0.005s
643 + no function name matching > should not match on a variable with a mutator name 0.001s
644 + no function name matching > should not match on type arguments 0.007s
645 + no function name matching > should not match on infix type arguments 0.001s
646 + no function name matching > should not match on type apply 0.007s
647 + no function name matching > should not match on literal type declarations 0.004s
648 + no function name matching > should not match on literal type declarations for var 0.016s
649 + no function name matching > should not match on infix literal type declarations 0.009s
650 + no function name matching > should not match on def literal return types 0.001s
651 + no function name matching > should not match on literal function types 0.009s
652 + no function name matching > should not match on type aliases 0.002s
653 + no function name matching > should not match a function with a single expression 0.001s
654 + no function name matching > should mutate if statements with true and false as condition 0.007s
655 + no function name matching > should mutate while statements with false as condition 0.018s
656 + no function name matching > should mutate do while statements with false as condition 0.015s
657 + no function name matching > should mutate conditional statements that have a literal boolean as condition only once 0.01s
658 + filtering > should filter out config excluded mutants 0.026s
659 + filtering > should filter out string mutants inside annotations 0.009s
660 + filtering > should log partition unparsable regular expressions 0.022s
661stryker4s.extension.DurationExtensionsTest:
662 + toHumanReadable > should parse 1 second 0.0s
663 + toHumanReadable > should parse 0 duration 0.001s
664 + toHumanReadable > should parse 1 nanosecond to 0 0.005s
665 + toHumanReadable > should parse 1 ms 0.001s
666 + toHumanReadable > should parse multiple seconds 0.0s
667 + toHumanReadable > should not include units in the middle that are zero 0.001s
668 + toHumanReadable > should parse a combination of units 0.002s
669stryker4s.run.ResourcePoolTest:
670 + resource > should close the resources when closing the pool 0.014s
671 + run > should divide work on the resource pool 0.034s
672 + run > should divide work over other resources if one is slower 0.045s
673 + loan > should put the resource back in the pool after use 0.013s
674stryker4s.run.MutantRunnerTest:
675 + apply > should return a mutationScore of 66.67 when 2 of 3 mutants are killed 0.086s
676 + apply > should return a mutationScore of 66.67 when 2 of 3 mutants are killed and 1 doesn't compile. 0.126s
677 + apply > should use static temp dir if it was requested 0.05s
678 + apply > should not clean up tmp dir on errors 0.027s
679 + apply > should not clean up tmp dir if clean-tmp-dir is disabled 0.05s
680stryker4s.mutants.AddAllMutationsTest:
681 + failed to add mutations > #585 (if-statement in Term.Apply) 0.537s
682 + failed to add mutations > #586 (second function call with `case`) 0.141s
683 + failed to add mutations > #776 (if-else block statement) 0.121s
684 + failed to add mutations > #776 2 1.239s
685 + failed to add mutations > each case of pattern match 0.018s
686 + failed to add mutations > try-catch-finally 0.021s
687Starting build for ProjectRef(file:/build/repo/,commandRunner3) (stryker4s-command-runner)... [4/7]
688Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
689[info] compiling 5 Scala sources to /build/repo/modules/commandRunner/target/jvm-3/classes ...
690[info] done compiling
691[info] compiling 3 Scala sources to /build/repo/modules/commandRunner/target/jvm-3/test-classes ...
692[info] done compiling
693stryker4s.run.Stryker4sArgumentHandlerTest:
694 + parseArgs should set the default logLevel to INFO 0.017s
695 + parseArgs should parse trace to TRACE 0.001s
696 + parseArgs should parse info to INFO 0.001s
697 + parseArgs should parse warn to WARN 0.0s
698 + parseArgs should parse error to ERROR 0.0s
699 + parseArgs should parse regardless of casing 0.001s
700stryker4s.run.ProcessTestRunnerTest:
701 + runMutant > should return a Survived mutant on an exitcode 0 process 0.023s
702 + runMutant > should return a Killed mutant on an exitcode 1 process 0.001s
703 + runMutant > should return a TimedOut mutant on a TimedOut process 0.001s
704 + initialTestRun > should have isSuccessful false when the initial test run fails 0.003s
705Starting build for ProjectRef(file:/build/repo/,testRunnerApi3) (stryker4s-testrunner-api)... [5/7]
706Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
707Starting build for ProjectRef(file:/build/repo/,testkit3) (stryker4s-testkit)... [6/7]
708Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
709
710************************
711Build summary:
712[{
713 "module": "stryker4s-api",
714 "compile": {"status": "ok", "tookMs": 3508, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
715 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
716 "test-compile": {"status": "ok", "tookMs": 144, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
717 "test": {"status": "ok", "tookMs": 115, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
718 "publish": {"status": "skipped", "tookMs": 0},
719 "metadata": {
720 "crossScalaVersions": ["2.12.20", "3.7.3"]
721}
722},{
723 "module": "stryker4s-sbt-testrunner",
724 "compile": {"status": "ok", "tookMs": 10632, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
725 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
726 "test-compile": {"status": "ok", "tookMs": 188, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
727 "test": {"status": "ok", "tookMs": 159, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
728 "publish": {"status": "skipped", "tookMs": 0},
729 "metadata": {
730 "crossScalaVersions": ["2.12.20", "3.7.3"]
731}
732},{
733 "module": "stryker4s-testrunner-api",
734 "compile": {"status": "ok", "tookMs": 11156, "warnings": 0, "errors": 0},
735 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
736 "test-compile": {"status": "ok", "tookMs": 106, "warnings": 0, "errors": 0},
737 "test": {"status": "ok", "tookMs": 87, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
738 "publish": {"status": "skipped", "tookMs": 0},
739 "metadata": {
740 "crossScalaVersions": ["2.12.20", "3.7.3"]
741}
742},{
743 "module": "stryker4s-core",
744 "compile": {"status": "ok", "tookMs": 12403, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
745 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
746 "test-compile": {"status": "ok", "tookMs": 12110, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
747 "test": {"status": "ok", "tookMs": 3592, "passed": 441, "failed": 0, "ignored": 0, "skipped": 0, "total": 441, "byFramework": [{"framework": "munit", "stats": {"passed": 441, "failed": 0, "ignored": 0, "skipped": 0, "total": 441}}]},
748 "publish": {"status": "skipped", "tookMs": 0},
749 "metadata": {
750 "crossScalaVersions": ["2.12.20", "3.7.3"]
751}
752},{
753 "module": "stryker4s-command-runner",
754 "compile": {"status": "ok", "tookMs": 1133, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
755 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
756 "test-compile": {"status": "ok", "tookMs": 1174, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
757 "test": {"status": "ok", "tookMs": 762, "passed": 10, "failed": 0, "ignored": 0, "skipped": 0, "total": 10, "byFramework": [{"framework": "munit", "stats": {"passed": 10, "failed": 0, "ignored": 0, "skipped": 0, "total": 10}}]},
758 "publish": {"status": "skipped", "tookMs": 0},
759 "metadata": {
760 "crossScalaVersions": ["2.12.20", "3.7.3"]
761}
762},{
763 "module": "stryker4s-testrunner-api",
764 "compile": {"status": "ok", "tookMs": 64, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
765 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
766 "test-compile": {"status": "ok", "tookMs": 107, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
767 "test": {"status": "ok", "tookMs": 101, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
768 "publish": {"status": "skipped", "tookMs": 0},
769 "metadata": {
770 "crossScalaVersions": ["2.12.20", "3.7.3"]
771}
772},{
773 "module": "stryker4s-testkit",
774 "compile": {"status": "ok", "tookMs": 118, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
775 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
776 "test-compile": {"status": "ok", "tookMs": 165, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
777 "test": {"status": "ok", "tookMs": 160, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
778 "publish": {"status": "skipped", "tookMs": 0},
779 "metadata": {
780 "crossScalaVersions": ["2.12.20", "3.7.3"]
781}
782}]
783************************
784[success] Total time: 65 s (0:01:05.0), completed Dec 31, 2025, 8:59:44 PM
785[0JChecking patch project/plugins.sbt...
786Checking patch project/Dependencies.scala...
787Checking patch build.sbt...
788Applied patch project/plugins.sbt cleanly.
789Applied patch project/Dependencies.scala cleanly.
790Applied patch build.sbt cleanly.