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