Build Logs
stryker-mutator/stryker4s • 3.8.0-RC4:2025-12-22
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-RC4
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-RC4"
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-RC4
42Execute tests: true
43sbt project found:
44No prepare script found for project stryker-mutator/stryker4s
45##################################
46Scala version: 3.8.0-RC4
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-RC4
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-RC4"
68"++3.8.0-RC4 -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-RC4 """{"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.692s.
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 22, 2025, 5:33:32 PM
89Execute setCrossScalaVersions: 3.8.0-RC4
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-RC4 in testRunnerApi3/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in testRunnerApi3/crossScalaVersions
95OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in core/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in core3/crossScalaVersions
97OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in core3/crossScalaVersions
98OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in sbtTestRunner/crossScalaVersions
99OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in testkit3/crossScalaVersions
100OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in testkit3/crossScalaVersions
101OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC4 in sbtTestRunner3/crossScalaVersions
102OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in sbtTestRunner3/crossScalaVersions
103OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in testkit/crossScalaVersions
104OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in sbtPlugin3/crossScalaVersions
105OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in sbtPlugin3/crossScalaVersions
106OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in api3/crossScalaVersions
107OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in api3/crossScalaVersions
108OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in commandRunner3/crossScalaVersions
109OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in commandRunner3/crossScalaVersions
110[info] set current project to stryker4s (in build file:/build/repo/)
111[success] Total time: 0 s, completed Dec 22, 2025, 5:33:34 PM
112[info] Setting Scala version to 3.8.0-RC4 on 7 projects.
113[info] Switching Scala version on:
114[info] api3 (3.8.0-RC4)
115[info] testRunnerApi3 (3.8.0-RC4)
116[info] commandRunner3 (3.8.0-RC4)
117[info] core3 (3.8.0-RC4)
118[info] sbtTestRunner3 (3.8.0-RC4)
119[info] testkit3 (3.8.0-RC4)
120[info] sbtPlugin3 (3.8.0-RC4)
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 22, 2025, 5:33:35 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 22, 2025, 5:33:36 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 22, 2025, 5:33:39 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 22, 2025, 5:33:40 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 22, 2025, 5:33:42 PM
163[success] Total time: 0 s, completed Dec 22, 2025, 5:33:42 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/repo.scala-lang.org/artifactory/maven-nightlies/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.extension.DurationExtensionsTest:
202 + toHumanReadable > should parse 1 second 0.215s
203 + toHumanReadable > should parse 0 duration 0.001s
204 + toHumanReadable > should parse 1 nanosecond to 0 0.003s
205 + toHumanReadable > should parse 1 ms 0.003s
206 + toHumanReadable > should parse multiple seconds 0.007s
207 + toHumanReadable > should not include units in the middle that are zero 0.042s
208 + toHumanReadable > should parse a combination of units 0.001s
209stryker4s.extension.PartialFunctionOpsTest:
210 + Monoid > when combined still calls the first PF 0.403s
211 + Monoid > when combined still calls the second PF 0.001s
212 + Monoid > combines the result when both PFs match 0.001s
213 + Monoid > combines the result multiple times with combineN 0.004s
214 + Monoid > Empty Monoid is equal to empty PartialFunction 0.001s
215 + Monoid > Empty Monoid should not match on anything equal to empty PartialFunction 0.001s
216 + Monoid > should not be able to combine PF's that can't combine the result 0.025s
217stryker4s.config.ConfigTest:
218 + concurrency > should give concurrency 4 for 10 cpu cores 0.001s
219 + concurrency > should give concurrency 7 for 24 cpu cores 0.001s
220 + concurrency > should give concurrency 6 for 20 cpu cores 0.001s
221 + concurrency > should give concurrency 1 for 1 cpu cores 0.0s
222 + concurrency > should give concurrency 3 for 6 cpu cores 0.002s
223 + concurrency > should give concurrency 8 for 28 cpu cores 0.0s
224 + concurrency > should give concurrency 2 for 2 cpu cores 0.001s
225 + concurrency > should give concurrency 9 for 32 cpu cores 0.0s
226 + concurrency > should give concurrency 4 for 12 cpu cores 0.0s
227 + concurrency > should give concurrency 2 for 3 cpu cores 0.003s
228 + concurrency > should give concurrency 5 for 16 cpu cores 0.001s
229 + concurrency > should give concurrency 3 for 8 cpu cores 0.0s
230 + concurrency > should give concurrency 2 for 4 cpu cores 0.0s
231stryker4s.config.source.CliConfigSourceTest:
232 + should load a filled config 0.727s
233 + should parse short arguments 0.047s
234 + fails on unknown arguments 0.049s
235 + should handle multiple arguments 0.011s
236stryker4s.mutants.TreeTraverserTest:
237 + canPlace > can not place inside case guards 0.831s
238 + canPlace > can place in case body 0.017s
239 + canPlace > can not place inside annotations 0.139s
240 + canPlace > can not place inside deep term Term 0.08s
241 + canPlace > can place outside part of a Term 0.031s
242 + canPlace > can not place inside type literals 0.064s
243stryker4s.report.AggregateReporterTest:
244 + mutantTested > should do nothing if there are no reporters 0.357s
245 + mutantTested > should report to all reporters that a mutant is tested 0.432s
246 + mutantTested > should report to all reporters even if a first reporter fails 0.07s
247 + onRunFinished > should report to all reporters that a mutation run is completed 0.008s
248 + onRunFinished > should still call other reporters if a reporter throws an exception 0.002s
249 + onRunFinished > logging > should log and throw if a reporter throws an exception 0.001s
250 + onRunFinished > logging > should not log warnings if no exceptions occur 0.004s
251stryker4s.config.ConfigLoaderTest:
252 + combines a ConfigSource into Config 0.451s
253 + accumulates failures 0.025s
254stryker4s.run.process.ProcessRunnerTest:
255 + resolveRunner > should resolve the proper runner for the current OS 0.012s
256stryker4s.exception.Stryker4sExceptionTest:
257 + UnableToBuildPatternMatchException > should have the correct message 0.042s
258 + InitialTestRunFailedException > should have the correct message 0.002s
259 + TestSetupException > should have the correct message 0.002s
260 + MutationRunFailedException > should have the correct message 0.001s
261 + UnableToFixCompilerErrorsException > should have a nicely formatted message 0.003s
262stryker4s.report.HtmlReporterTest:
263 + indexHtml > should contain title 0.007s
264 + reportJs > should contain the report 0.285s
265 + mutation-test-elements > should write the resource 0.14s
266 + onRunFinished > should write the report files to the report directory 0.016s
267 + onRunFinished > should write the mutation-test-elements.js file to the report directory 0.008s
268 + onRunFinished > should info log a message 0.002s
269 + onRunFinished > should open the report when openReport is true 0.005s
270 + onRunFinished > should not open the report when openReport is false 0.008s
271stryker4s.config.source.FileConfigSourceTest:
272 + should load a filled config 0.134s
273 + should not be able to load an empty config 0.003s
274 + should fail on an unknown reporter 0.009s
275 + should load a config with unknown keys 0.009s
276 + should filter out duplicate keys 0.005s
277 + should return a failure on a misshapen excluded-mutations 0.004s
278 + should parse duration expressions 0.013s
279 + should handle missing files 0.012s
280 + fails on other errors 0.019s
281 + logs > should log where the config is read from 0.013s
282stryker4s.report.DashboardReporterTest:
283 + buildRequest > should compose the request 0.077s
284 + buildRequest > should make a score-only request when score-only is configured 0.018s
285 + buildRequest > should add the module if it is present 0.012s
286 + onRunFinished > should send the request 0.08s
287 + onRunFinished > log when not being able to resolve dashboard config 0.061s
288 + onRunFinished > should log when a response can't be parsed to a href 0.017s
289 + onRunFinished > should log when a 401 is returned by the API 0.016s
290 + onRunFinished > should log when a error code is returned by the API 0.014s
291stryker4s.config.TestFilterTest:
292 + filter > should work with default 0.002s
293 + filter > should work with custom 0.016s
294 + filter > should work with custom and negation 0.001s
295stryker4s.run.ResourcePoolTest:
296 + resource > should close the resources when closing the pool 0.071s
297 + run > should divide work on the resource pool 0.039s
298 + run > should divide work over other resources if one is slower 0.059s
299 + loan > should put the resource back in the pool after use 0.013s
300stryker4s.run.RollbackHandlerTest:
301 + rollbackFiles > should remove a non-compiling mutant 0.398s
302 + rollbackFiles > should return a Left if no mutants were removed 0.081s
303 + rollbackFiles > should filter out fixed files of the rollbackResult 0.094s
304stryker4s.mutants.findmutants.MutantFinderTest:
305 + parseFile > should parse an existing file 0.074s
306 + parseFile > should throw an exception on a non-parseable file 0.014s
307 + parseFile > should fail on a nonexistent file 0.001s
308 + parseFile > should parse a scala-3 file 0.105s
309 + logging > should error log an unfound file 0.003s
310stryker4s.config.circe.ConfigEncoderTest:
311 + configEncoder > should be able to encode a minimal config 0.012s
312 + configEncoder > should be able to encode a filled config 0.007s
313stryker4s.extension.ResourceExtensionsTest:
314 + selfRecreatingResource > should create a resource only once when not using the release F 0.023s
315 + selfRecreatingResource > should close first before creating a new Resource 0.004s
316stryker4s.model.MutantMetadataTest:
317 + locationShow > should show the location 0.01s
318 + locationShow > should be equal to showLocation 0.0s
319stryker4s.model.CompilerErrMsgTest:
320 + CompilerErrMsgTest > should have a nicely formatted show 0.001s
321stryker4s.report.JsonReporterTest:
322 + reportJson > should contain the report 0.004s
323 + onRunFinished > should write the report file to the report directory 0.011s
324 + onRunFinished > should info log a message 0.002s
325stryker4s.mutants.tree.MutantCollectorTest:
326 + onEnter > should only call 'isDefinedAt' on the PartialFunction once 0.028s
327 + apply > should return the mutated code 0.009s
328stryker4s.config.source.AggregateConfigSourceTest:
329 + combines multiple sources 0.017s
330 + aggregate combines given sources and defaults 0.011s
331stryker4s.model.MutantIdTest:
332 + MutantId > should have a toString that returns a number 0.006s
333stryker4s.files.GlobFileResolverTest:
334 + files > should not collect the baseDir 0.044s
335 + files > should find all scala files and not the non-scala files with a default glob 0.012s
336 + files > should find matching files with custom match pattern 0.006s
337 + files > should only add a glob once even when it matches twice 0.005s
338 + files > should exclude all files in the target folder 0.015s
339 + files > should match if basePath and glob are absolute 0.004s
340stryker4s.Stryker4sTest:
341 + should call mutate files and report the results 0.375s
342stryker4s.report.mapper.MutantRunResultMapperTest:
343 + mapper > should map 4 files to valid MutationTestResult 0.044s
344stryker4s.mutants.MutatorTest:
345 + run > should return a single Tree with changed pattern match 0.059s
346 + run > should run go 0.05s
347 + logs > should log the amount of mutants found 0.049s
348 + logs > should log the amount of excluded mutants 0.041s
349 + logs > should log a warning if no mutants are found 0.024s
350 + logs > should log if all mutations are excluded 0.035s
351stryker4s.mutation.MutationTypesTest:
352 + EqualityOperator > > to GreaterThan 0.001s
353 + EqualityOperator > >= to GreaterThanEqualTo 0.003s
354 + EqualityOperator > <= to LesserThanEqualTo 0.0s
355 + EqualityOperator > < to LesserThan 0.001s
356 + EqualityOperator > == to EqualTo 0.001s
357 + EqualityOperator > != to NotEqualTo 0.0s
358 + BooleanLiteral > false to False 0.004s
359 + BooleanLiteral > true to True 0.0s
360 + LogicalOperator > && to And 0.001s
361 + LogicalOperator > || to Or 0.001s
362 + StringLiteral > foo string to NonEmptyString 0.0s
363 + StringLiteral > empty string to EmptyString 0.007s
364 + StringLiteral > string interpolation to StringInterpolation 0.001s
365 + StringLiteral > q interpolation should not match StringInterpolation 0.001s
366 + StringLiteral > t interpolation should not match StringInterpolation 0.0s
367 + other cases > should return original tree on match 0.005s
368 + other cases > should convert GreaterThan to > 0.005s
369 + other cases > should convert to the proper type 0.0s
370stryker4s.config.ConfigOrderTest:
371 + should order ascending 0.0s
372stryker4s.extension.TreeExtensionsTest:
373 + isIn > should be false for annotations 0.009s
374 + find > should find statement in simple tree 0.004s
375 + find > should find statement in large tree 0.024s
376 + find > should return none if statement is not in tree 0.003s
377 + find > should still have parents when statement is found 0.001s
378 + transformOnce > should transform does not recursively transform new subtree 0.002s
379 + transformOnce > should transform both appearances in the tree only once 0.013s
380 + transformOnce > should return the same tree if no transformation is applied 0.004s
381 + transformOnce > should transform a parsed string and have changed syntax 0.006s
382 + collectWithContext > should collect all statements without context 0.002s
383 + collectWithContext > should collect and pass context 0.009s
384 + collectWithContext > should only evaluate functions once 0.003s
385 + collectWithContext > should not search upwards for context if one has already been found 0.007s
386 + collectWithContext > should not call context-building function if no collector is found 0.002s
387 + collectWithContext > should call with older context if not found on the currently-visiting tree 0.002s
388 + collectWithContext > should pass down each collector its own context 0.004s
389 + collectWithContext > should not pass context from separate trees 0.007s
390 + toLocation > should map a weaponregex.Location to a mutationtesting.Location 0.001s
391 + toLocation > uses correct offset for triple double-quote strings 0.0s
392stryker4s.mutation.MethodExpressionTest:
393 + ArgMethodExpression > should match with a filter call (one argument) 0.002s
394 + ArgMethodExpression > should match with an infix filter call (one argument) 0.002s
395 + ArgMethodExpression > should match with a filter call (block with one argument) 0.001s
396 + ArgMethodExpression > should match with an infix filter call (block with one argument) 0.002s
397 + ArgMethodExpression > should match with a filter call (partial function) 0.005s
398 + ArgMethodExpression > should match with an infix filter call (partial function) 0.002s
399 + ArgMethodExpression > should match with a filter call (aux function) 0.001s
400 + ArgMethodExpression > should match with an infix filter call (aux function) 0.001s
401 + ArgMethodExpression > should not match with an infix filter call (non arguments) 0.001s
402 + ArgMethodExpression > should not match with a filter call (more than one argument) 0.002s
403 + ArgMethodExpression > should not match with an infix filter call (more than one argument) 0.001s
404 + ArgMethodExpression > should not match with a filter call (more than one argument) 2 0.004s
405 + ArgMethodExpression > should not match with an infix filter call (more than one argument) 2 0.001s
406 + ArgMethodExpression > should not match with a filter call (block more than one argument) 0.002s
407 + ArgMethodExpression > should not match with a filter property 0.0s
408 + ArgMethodExpression > should not match with an infix filter property 0.013s
409 + ArgMethodExpression > should not match with a filter import 0.004s
410 + ArgMethodExpression > should not match with a filter variable 0.001s
411 + ArgMethodExpression > should match exists to Exists 0.001s
412 + ArgMethodExpression > should match forall to Forall 0.001s
413 + ArgMethodExpression > should match take to Take 0.007s
414 + ArgMethodExpression > should match drop to Drop 0.001s
415 + ArgMethodExpression > should match takeRight to TakeRight 0.001s
416 + ArgMethodExpression > should match dropRight to DropRight 0.002s
417 + ArgMethodExpression > should match takeWhile to TakeWhile 0.005s
418 + ArgMethodExpression > should match dropWhile to DropWhile 0.001s
419 + NoArgMethodExpression > should not match with an isEmpty call (one argument) 0.002s
420 + NoArgMethodExpression > should not match with an isEmpty call (block with one argument) 0.002s
421 + NoArgMethodExpression > should not match with an isEmpty call (partial function) 0.002s
422 + NoArgMethodExpression > should not match with an isEmpty call (aux function) 0.001s
423 + NoArgMethodExpression > should not match with an isEmpty call (non arguments) 0.001s
424 + NoArgMethodExpression > should not match with an isEmpty call (more than one argument) 0.004s
425 + NoArgMethodExpression > should not match with an isEmpty call (block more than one argument) 0.001s
426 + NoArgMethodExpression > should match with an isEmpty property 0.002s
427 + NoArgMethodExpression > should not match with an isEmpty import 0.001s
428 + NoArgMethodExpression > should not match with an isEmpty variable 0.001s
429stryker4s.mutants.tree.MutantInstrumenterTest:
430 + instrumentFile > should transform 2 mutations into a match statement with 2 mutated and 1 original 0.021s
431 + instrumentFile > should place mutants on the correct statement even if the name appears twice 0.025s
432 + instrumentFile > should apply the correct instrumenter options 0.014s
433 + instrumentFile > should log failures correctly 0.012s
434 + instrumentFile > should rethrow Stryker4sExceptions 0.003s
435stryker4s.config.source.DefaultsConfigSourceTest:
436 + loads all default values 0.011s
437stryker4s.extension.NumberExtensionsTest:
438 + roundDecimals > should round down to the given decimals 0.007s
439 + roundDecimals > should round up to the given decimals 0.001s
440 + roundDecimals > should round multiple decimals 0.0s
441 + roundDecimals > should leave NaN 0.0s
442stryker4s.mutants.findmutants.MutantMatcherTest:
443 + All Matchers > should match a conditional statement 0.434s
444 + All Matchers > should match a method 0.125s
445 + All Matchers > should match a boolean and a conditional 0.063s
446 + All Matchers > should match the default case of a constructor argument 0.064s
447 + All Matchers > should match on the default case of a function argument 0.033s
448 + matchEqualityOperator matcher > should match >= sign with >, <, and == 0.016s
449 + matchEqualityOperator matcher > should match > with >=, < and == 0.01s
450 + matchEqualityOperator matcher > should match <= to <, >= and == 0.015s
451 + matchEqualityOperator matcher > should match < to <=, > and == 0.011s
452 + matchEqualityOperator matcher > should match == to != 0.004s
453 + matchEqualityOperator matcher > should match != to == 0.008s
454 + matchEqualityOperator matcher > should match === to =!= 0.006s
455 + matchEqualityOperator matcher > should match =!= to === 0.005s
456 + matchLogicalOperator matcher > should match && to || 0.003s
457 + matchLogicalOperator matcher > should match || to && 0.002s
458 + matchMethodExpression matcher > should match filter to filterNot 0.021s
459 + matchMethodExpression matcher > should match filterNot to filter 0.011s
460 + matchMethodExpression matcher > should match exists to forall 0.005s
461 + matchMethodExpression matcher > should match forall to exists 0.017s
462 + matchMethodExpression matcher > should match take to drop 0.01s
463 + matchMethodExpression matcher > should match drop to take 0.017s
464 + matchMethodExpression matcher > should match takeRight to dropRight 0.011s
465 + matchMethodExpression matcher > should match dropRight to takeRight 0.007s
466 + matchMethodExpression matcher > should match takeWhile to dropWhile 0.018s
467 + matchMethodExpression matcher > should match dropWhile to takeWhile 0.007s
468 + matchMethodExpression matcher > should match isEmpty to nonEmpty 0.009s
469 + matchMethodExpression matcher > should match nonEmpty to isEmpty 0.009s
470 + matchMethodExpression matcher > should match indexOf to lastIndexOf 0.009s
471 + matchMethodExpression matcher > should match lastIndexOf to indexOf 0.004s
472 + matchMethodExpression matcher > should match max to min 0.002s
473 + matchMethodExpression matcher > should match min to max 0.005s
474 + matchMethodExpression matcher > should match maxBy to minBy 0.01s
475 + matchMethodExpression matcher > should match minBy to maxBy 0.006s
476 + matchBooleanLiteral matcher > should match false to true 0.006s
477 + matchBooleanLiteral matcher > should match true to false 0.005s
478 + matchStringLiteral matcher > should match foo to NonEmptyString 0.004s
479 + matchStringLiteral matcher > should match empty string to StrykerWasHere 0.003s
480 + matchStringLiteral matcher > should match on interpolated strings 0.014s
481 + matchStringLiteral matcher > should match once on interpolated strings with multiple parts 0.01s
482 + matchStringLiteral matcher > should not match non-string interpolation 0.012s
483 + matchStringLiteral matcher > should not match pattern interpolation 0.028s
484 + matchStringLiteral matcher > should match pattern in string 0.003s
485 + matchStringLiteral matcher > should not match xml literals 0.122s
486 + matchStringLiteral matcher > should not match empty strings on xml literals 0.011s
487 + matchStringLiteral matcher > should match inside xml literal args 0.004s
488 + matchStringLiteral matcher > should not match xml interpolation 0.004s
489 + regexMutator > should match Regex constructor 0.158s
490 + regexMutator > should match scala.util.matching.Regex constructor 0.018s
491 + regexMutator > should match a Regex constructor with named groups 0.006s
492 + regexMutator > should match Regex String ops 0.005s
493 + regexMutator > should match Pattern.compile Regex constructor 0.01s
494 + regexMutator > should match java.util.regex.Pattern.compile Regex constructor 0.009s
495 + regexMutator > should match Pattern.compile Regex constructor with flags 0.006s
496 + regexMutator > should not match e regular string 0.001s
497 + regexMutator > should handle regexes without any mutations 0.051s
498 + no function name matching > should not match a function with a mutator name 0.002s
499 + no function name matching > should not match on a case class with a mutator name 0.003s
500 + no function name matching > should not match on a variable with a mutator name 0.001s
501 + no function name matching > should not match on type arguments 0.001s
502 + no function name matching > should not match on infix type arguments 0.004s
503 + no function name matching > should not match on type apply 0.007s
504 + no function name matching > should not match on literal type declarations 0.001s
505 + no function name matching > should not match on literal type declarations for var 0.014s
506 + no function name matching > should not match on infix literal type declarations 0.003s
507 + no function name matching > should not match on def literal return types 0.004s
508 + no function name matching > should not match on literal function types 0.006s
509 + no function name matching > should not match on type aliases 0.01s
510 + no function name matching > should not match a function with a single expression 0.002s
511 + no function name matching > should mutate if statements with true and false as condition 0.01s
512 + no function name matching > should mutate while statements with false as condition 0.012s
513 + no function name matching > should mutate do while statements with false as condition 0.014s
514 + no function name matching > should mutate conditional statements that have a literal boolean as condition only once 0.01s
515 + filtering > should filter out config excluded mutants 0.018s
516 + filtering > should filter out string mutants inside annotations 0.018s
517 + filtering > should log partition unparsable regular expressions 0.023s
518stryker4s.config.codec.CirisConfigDecodersTest:
519 + Thresholds > should load high=85, low=65, break=10 to expected result 0.0s
520 + Thresholds > should load high=30, low=30 to expected result 0.0s
521 + Thresholds > should load low=30, break=29 to expected result 0.001s
522 + Thresholds > should load high=100 to expected result 0.0s
523 + Thresholds > should not load Thresholds(-1,60,0) 0.0s
524 + Thresholds > should not load Thresholds(80,-1,0) 0.0s
525 + Thresholds > should not load Thresholds(80,60,-1) 0.001s
526 + Thresholds > should not load Thresholds(101,60,0) 0.0s
527 + Thresholds > should not load Thresholds(80,101,0) 0.0s
528 + Thresholds > should not load Thresholds(80,60,101) 0.0s
529 + Thresholds > should not load Thresholds(50,51,0) 0.004s
530 + Thresholds > should not load Thresholds(80,50,51) 0.001s
531 + Thresholds > should not load Thresholds(80,50,50) 0.0s
532 + ScalaDialect > should parse scala30 to Scala30 0.001s
533 + ScalaDialect > should parse future to Scala3Future 0.0s
534 + ScalaDialect > should parse 33 to Scala33 0.0s
535 + ScalaDialect > should parse 37 to Scala37 0.001s
536 + ScalaDialect > should parse 3.0 to Scala30 0.0s
537 + ScalaDialect > should parse 3.5 to Scala35 0.0s
538 + ScalaDialect > should parse scala37 to Scala37 0.001s
539 + ScalaDialect > should parse 3.3 to Scala33 0.0s
540 + ScalaDialect > should parse 2.12 to Scala212 0.0s
541 + ScalaDialect > should parse scala36 to Scala36 0.001s
542 + ScalaDialect > should parse scala213source3 to Scala213Source3 0.0s
543 + ScalaDialect > should parse source3 to Scala213Source3 0.0s
544 + ScalaDialect > should parse scala212 to Scala212 0.001s
545 + ScalaDialect > should parse scala3.7 to Scala37 0.0s
546 + ScalaDialect > should parse 34 to Scala34 0.0s
547 + ScalaDialect > should parse scala3.4 to Scala34 0.0s
548 + ScalaDialect > should parse 3.7 to Scala37 0.0s
549 + ScalaDialect > should parse 3.1 to Scala32 0.0s
550 + ScalaDialect > should parse scala3.1 to Scala32 0.0s
551 + ScalaDialect > should parse 3.4 to Scala34 0.001s
552 + ScalaDialect > should parse 212 to Scala212 0.0s
553 + ScalaDialect > should parse scala34 to Scala34 0.0s
554 + ScalaDialect > should parse scala3.3 to Scala33 0.001s
555 + ScalaDialect > should parse 35 to Scala35 0.0s
556 + ScalaDialect > should parse scala3 to Scala37 0.0s
557 + ScalaDialect > should parse 2.13 to Scala213 0.001s
558 + ScalaDialect > should parse 213 to Scala213 0.0s
559 + ScalaDialect > should parse scala2.13 to Scala213 0.0s
560 + ScalaDialect > should parse 32 to Scala32 0.001s
561 + ScalaDialect > should parse 36 to Scala36 0.0s
562 + ScalaDialect > should parse scala3.2 to Scala32 0.0s
563 + ScalaDialect > should parse 31 to Scala32 0.001s
564 + ScalaDialect > should parse scala35 to Scala35 0.0s
565 + ScalaDialect > should parse scala31 to Scala32 0.0s
566 + ScalaDialect > should parse scala3future to Scala3Future 0.0s
567 + ScalaDialect > should parse dotty to Scala30 0.0s
568 + ScalaDialect > should parse 2 to Scala213 0.0s
569 + ScalaDialect > should parse scala3.6 to Scala36 0.0s
570 + ScalaDialect > should parse 3.2 to Scala32 0.001s
571 + ScalaDialect > should parse scala3.0 to Scala30 0.0s
572 + ScalaDialect > should parse scala213 to Scala213 0.0s
573 + ScalaDialect > should parse scala2.12 to Scala212 0.001s
574 + ScalaDialect > should parse scala3.5 to Scala35 0.0s
575 + ScalaDialect > should parse 3.6 to Scala36 0.0s
576 + ScalaDialect > should parse 30 to Scala30 0.0s
577 + ScalaDialect > should parse scala32 to Scala32 0.0s
578 + ScalaDialect > should parse scala33 to Scala33 0.0s
579 + ScalaDialect > should parse 3 to Scala37 0.0s
580 + ScalaDialect > should parse scala212source3 to Scala212Source3 0.001s
581 + ScalaDialect > should not parse invalid scala-dialects 0.005s
582 + ScalaDialect > should error deprecated scala-dialect scala211 0.001s
583 + ScalaDialect > should error deprecated scala-dialect scala2.11 0.001s
584 + ScalaDialect > should error deprecated scala-dialect 2.11 0.008s
585 + ScalaDialect > should error deprecated scala-dialect 211 0.001s
586 + ReporterType > should decode valid reporters 0.003s
587 + ReporterType > should not decode invalid reporters 0.001s
588 + DashboardReportType > should decode valid dashboard report types 0.001s
589 + DashboardReportType > should not decode invalid dashboard report types 0.0s
590 + Uri > should decode valid uris 0.008s
591 + Uri > should not decode invalid uris 0.004s
592 + Duration > should decode valid duration values 0.0s
593 + Duration > should fallback to milliseconds when no unit is provided 0.001s
594stryker4s.report.dashboard.DashboardConfigProviderTest:
595 + resolveConfig > should resolve a Travis environment 0.029s
596 + resolveConfig > should resolve a CircleCI environment 0.007s
597 + resolveConfig > should resolve a GitHub actions environment 0.01s
598 + resolveConfig > should resolve a GitHub actions PR environment 0.0s
599 + resolveConfig > should resolve a configured environment 0.001s
600 + resolveConfig > should resolve without a module 0.001s
601 + resolveConfig > should not resolve a GitHub actions with malformed ref 0.0s
602 + resolveConfig > should not resolve empty env variables 0.006s
603 + resolveConfig > should not resolve when there is no STRYKER_DASHBOARD_API_KEY environment 0.001s
604 + resolveConfig > should not resolve when there is no project 0.0s
605 + resolveConfig > should not resolve when there is no version 0.001s
606 + resolveConfig > should return all unresolved 0.0s
607stryker4s.extension.FileExtensionsTest:
608 + relativePath > should return the relative path on a file inside the base-dir 0.001s
609 + relativePath > should return just the file name when a file is in the base-dir 0.0s
610 + relativePath > should return the path if the given path is relative 0.001s
611 + relativePath > works if both are relative 0.0s
612 + relativePath > works if both are absolute 0.008s
613 + relativePath > works if baseDir is relative and path is absolute 0.001s
614 + relativePath > works if baseDir is absolute and path is relative 0.0s
615 + relativePath > multiple calls doesn't change the path 0.0s
616 + inSubDir > should calculate a path relative to the new subDir 0.001s
617stryker4s.run.TestRunnerTest:
618 + timeoutRunner > initialTestRun > should complete the timeout after the initial testrun 0.013s
619 + timeoutRunner > initialTestRun > should use the reported timeout if available 0.008s
620 + timeoutRunner > initialTestRun > should not log the timeout setting if timeout has already been completed 0.004s
621 + timeoutRunner > runMutant > should timeout slow mutant runs 0.017s
622 + timeoutRunner > runMutant > should recreate the inner resource after a timeout 0.014s
623 + timeoutRunner > runMutant > should not timeout fast mutant runs 0.008s
624 + retryRunner > should retry after a first attempt fails 0.027s
625 + retryRunner > should report a mutant as Error after 3 failures 0.009s
626 + retryRunner > should only report as Error after 3 failed attempts 0.01s
627 + maxReuseTestRunner > should not recreate if reuse is not reached yet 0.024s
628 + maxReuseTestRunner > should recreate when reuse is reached 0.014s
629stryker4s.run.threshold.ThresholdCheckerTest:
630 + thresholdchecker > should return a DangerStatus with default thresholds and score 0.0 0.001s
631 + thresholdchecker > should return a SuccessStatus when the score is above threshold 0.006s
632 + thresholdchecker > should return a DangerStatus when the score equals threshold 0.0s
633 + thresholdchecker > should return an ErrorStatus when the threshold is not met 0.001s
634 + thresholdchecker > should never return WarningStatus when 'high' is equal to 'low' 0.004s
635 + thresholdchecker > should return success status when score is equal to or greater than 'high' threshold 0.0s
636 + thresholdchecker > should return warning status when score is below 'high' and above or equal to 'low' threshold 0.001s
637 + thresholdchecker > should return danger status when score is below 'low' and above or equal to 'break' threshold 0.001s
638 + thresholdchecker > should return error status when score is below 'break' 0.0s
639 + thresholdchecker > should return success for NaN 0.0s
640stryker4s.files.GlobTest:
641 + include patterns > should match no files with empty glob 0.0s
642 + include patterns > should match files 0 levels deep 0.001s
643 + include patterns > should match on the second glob if the first doesn't match 0.0s
644 + include patterns > should match files 1 level deep 0.003s
645 + include patterns > should match files multiple levels deep 0.003s
646 + include patterns > should match on multiple patterns 0.001s
647 + include patterns > should match exact matches 0.0s
648 + ignore patterns > should exclude the file specified in the excluded pattern 0.001s
649 + ignore patterns > should exclude all files specified in the excluded pattern 0.004s
650 + ignore patterns > should exclude all files based on a wildcard 0.001s
651 + ignore patterns > should not exclude files if a non-matching ignore pattern is given 0.001s
652 + should escape \\ in a path 0.001s
653 + should escape { in a path 0.0s
654 + should escape } in a path 0.0s
655 + should escape [ in a path 0.0s
656 + should escape ] in a path 0.0s
657 + should escape * in a path 0.001s
658 + should escape ? in a path 0.0s
659stryker4s.report.ConsoleReporterTest:
660 + mutantTested > should log progress 0.038s
661 + mutantTested > should round decimal numbers 0.01s
662 + reportFinishedRun > should report killed mutants as debug 0.033s
663 + reportFinishedRun > should report a finished run with multiple mutants 0.029s
664 + reportFinishedRun > should log mutants sorted by id 0.035s
665 + reportFinishedRun > should report two line mutants properly 0.006s
666 + reportFinishedRun > should report multiline mutants properly 0.006s
667 + reportFinishedRun > should round decimal mutation scores 0.005s
668 + reportFinishedRun > should log NaN correctly as n/a 0.005s
669 + reportFinishedRun > should report the mutation score when it is info 0.002s
670 + reportFinishedRun > should report the mutation score when it is warning 0.004s
671 + reportFinishedRun > should report the mutation score when it is dangerously low 0.002s
672 + reportFinishedRun > should log when below threshold 0.004s
673 + reportFinishedRun > should log covered code if it is different to the total 0.006s
674stryker4s.run.MutantRunnerTest:
675 + apply > should return a mutationScore of 66.67 when 2 of 3 mutants are killed 0.076s
676 + apply > should return a mutationScore of 66.67 when 2 of 3 mutants are killed and 1 doesn't compile. 0.082s
677 + apply > should use static temp dir if it was requested 0.058s
678 + apply > should not clean up tmp dir on errors 0.037s
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.119s
682 + failed to add mutations > #586 (second function call with `case`) 0.123s
683 + failed to add mutations > #776 (if-else block statement) 0.081s
684 + failed to add mutations > #776 2 1.04s
685 + failed to add mutations > each case of pattern match 0.023s
686 + failed to add mutations > try-catch-finally 0.028s
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.02s
695 + parseArgs should parse trace to TRACE 0.001s
696 + parseArgs should parse info to INFO 0.0s
697 + parseArgs should parse warn to WARN 0.001s
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.026s
702 + runMutant > should return a Killed mutant on an exitcode 1 process 0.002s
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.002s
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": 6776, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
715 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
716 "test-compile": {"status": "ok", "tookMs": 140, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
717 "test": {"status": "ok", "tookMs": 118, "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": 14258, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
725 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
726 "test-compile": {"status": "ok", "tookMs": 163, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
727 "test": {"status": "ok", "tookMs": 168, "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": 12115, "warnings": 0, "errors": 0},
735 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
736 "test-compile": {"status": "ok", "tookMs": 143, "warnings": 0, "errors": 0},
737 "test": {"status": "ok", "tookMs": 94, "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": 12025, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
745 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
746 "test-compile": {"status": "ok", "tookMs": 12217, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
747 "test": {"status": "ok", "tookMs": 4553, "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": 1164, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
755 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
756 "test-compile": {"status": "ok", "tookMs": 894, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
757 "test": {"status": "ok", "tookMs": 812, "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": 72, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
765 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
766 "test-compile": {"status": "ok", "tookMs": 102, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
767 "test": {"status": "ok", "tookMs": 100, "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": 106, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
775 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
776 "test-compile": {"status": "ok", "tookMs": 156, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
777 "test": {"status": "ok", "tookMs": 132, "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: 120 s (0:02:00.0), completed Dec 22, 2025, 5:35:41 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.