Build Logs

stryker-mutator/stryker4s • 3.8.1-RC1:2026-01-13

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.1-RC1
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.1-RC1"
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.1-RC1
42Execute tests: true
43sbt project found:
44No prepare script found for project stryker-mutator/stryker4s
45##################################
46Scala version: 3.8.1-RC1
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.1-RC1
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.1-RC1"
68"++3.8.1-RC1 -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.1-RC1 """{"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.62s.
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 Jan 13, 2026, 7:18:40 PM
89Execute setCrossScalaVersions: 3.8.1-RC1
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.1-RC1 in testRunnerApi3/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.1-RC1) in testRunnerApi3/crossScalaVersions
95OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in core/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in core3/crossScalaVersions
97OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.1-RC1) in core3/crossScalaVersions
98OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in sbtTestRunner/crossScalaVersions
99OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in testkit3/crossScalaVersions
100OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.1-RC1) in testkit3/crossScalaVersions
101OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in sbtPlugin3/crossScalaVersions
102OpenCB::Changing crossVersion 3.3.6 -> 3.8.1-RC1 in sbtTestRunner3/crossScalaVersions
103OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.1-RC1) in sbtPlugin3/crossScalaVersions
104OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.1-RC1) in sbtTestRunner3/crossScalaVersions
105OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in api3/crossScalaVersions
106OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.1-RC1) in api3/crossScalaVersions
107OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in testkit/crossScalaVersions
108OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in commandRunner3/crossScalaVersions
109OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.1-RC1) in commandRunner3/crossScalaVersions
110[info] set current project to stryker4s (in build file:/build/repo/)
111[success] Total time: 0 s, completed Jan 13, 2026, 7:18:42 PM
112[info] Setting Scala version to 3.8.1-RC1 on 7 projects.
113[info] Switching Scala version on:
114[info] api3 (3.8.1-RC1)
115[info] testRunnerApi3 (3.8.1-RC1)
116[info] commandRunner3 (3.8.1-RC1)
117[info] core3 (3.8.1-RC1)
118[info] sbtTestRunner3 (3.8.1-RC1)
119[info] testkit3 (3.8.1-RC1)
120[info] sbtPlugin3 (3.8.1-RC1)
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 Jan 13, 2026, 7:18:43 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 Jan 13, 2026, 7:18:45 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 Jan 13, 2026, 7:18:47 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 Jan 13, 2026, 7:18:49 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 Jan 13, 2026, 7:18:50 PM
163[success] Total time: 0 s, completed Jan 13, 2026, 7:18:50 PM
164Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.7.3\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
165Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
166Starting build...
167Projects: Set(testRunnerApi, api3, testRunnerApi3, commandRunner3, core3, sbtTestRunner3, testkit3)
168Starting build for ProjectRef(file:/build/repo/,api3) (stryker4s-api)... [0/7]
169OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
170OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
171OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
172OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
173Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
174[info] compiling 2 Scala sources to /build/repo/modules/api/target/jvm-3/classes ...
175[info] done compiling
176Starting build for ProjectRef(file:/build/repo/,sbtTestRunner3) (stryker4s-sbt-testrunner)... [1/7]
177Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
178[info] Compiling 1 protobuf files to /build/repo/modules/testRunnerApi/target/jvm-3/src_managed/main/scalapb
179[info] compiling 18 Scala sources to /build/repo/modules/testRunnerApi/target/jvm-3/classes ...
180[info] done compiling
181[info] compiling 7 Scala sources to /build/repo/modules/sbtTestRunner/target/jvm-3/classes ...
182[info] done compiling
183Starting build for ProjectRef(file:/build/repo/,testRunnerApi) (stryker4s-testrunner-api)... [2/7]
184OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Zero, Zero, Zero)
185OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(compile)), Zero, Zero)
186Compile scalacOptions: -encoding, utf8, -unchecked, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xlint:adapted-args, -Xlint:constant, -Xlint:delayedinit-select, -Xlint:deprecation, -Xlint:doc-detached, -Xlint:implicit-recursion, -Xlint:implicit-not-found, -Xlint:inaccessible, -Xlint:infer-any, -Xlint:missing-interpolator, -Xlint:nullary-unit, -Xlint:option-implicit, -Xlint:package-object-classes, -Xlint:poly-implicit-overload, -Xlint:private-shadow, -Xlint:stars-align, -Xlint:strict-unsealed-patmat, -Xlint:type-parameter-shadow, -Xlint:-byname-implicit, -Wdead-code, -Wextra-implicit, -Wnumeric-widen, -Wnonunit-statement, -Wunused:nowarn, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:patvars, -Wunused:privates, -Xsource:3, -release, 11, -Xplugin:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/kind-projector_2.13.16/0.13.3/kind-projector_2.13.16-0.13.3.jar, -Wconf:msg=can be rewritten automatically under:s
187OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(compile)), Select(compile), Zero)
188[info] Compiling 1 protobuf files to /build/repo/modules/testRunnerApi/target/jvm-2.13/src_managed/main/scalapb
189[info] compiling 18 Scala sources to /build/repo/modules/testRunnerApi/target/jvm-2.13/classes ...
190[info] done compiling
191OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(test)), Zero, Zero)
192OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.16 module Scope(Select(ProjectRef(file:/build/repo/,testRunnerApi)), Select(ConfigKey(test)), Select(compile), Zero)
193Starting build for ProjectRef(file:/build/repo/,core3) (stryker4s-core)... [3/7]
194Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
195[info] compiling 85 Scala sources to /build/repo/modules/core/target/jvm-3/classes ...
196[info] done compiling
197[info] compiling 4 Scala sources to /build/repo/modules/testkit/target/jvm-3/classes ...
198[info] done compiling
199[info] compiling 57 Scala sources to /build/repo/modules/core/target/jvm-3/test-classes ...
200[info] done compiling
201stryker4s.run.threshold.ThresholdCheckerTest:
202 + thresholdchecker > should return a DangerStatus with default thresholds and score 0.0 0.543s
203 + thresholdchecker > should return a SuccessStatus when the score is above threshold 0.001s
204 + thresholdchecker > should return a DangerStatus when the score equals threshold 0.001s
205 + thresholdchecker > should return an ErrorStatus when the threshold is not met 0.001s
206 + thresholdchecker > should never return WarningStatus when 'high' is equal to 'low' 0.001s
207 + thresholdchecker > should return success status when score is equal to or greater than 'high' threshold 0.001s
208 + thresholdchecker > should return warning status when score is below 'high' and above or equal to 'low' threshold 0.001s
209 + thresholdchecker > should return danger status when score is below 'low' and above or equal to 'break' threshold 0.004s
210 + thresholdchecker > should return error status when score is below 'break' 0.001s
211 + thresholdchecker > should return success for NaN 0.0s
212stryker4s.config.source.AggregateConfigSourceTest:
213 + combines multiple sources 0.536s
214 + aggregate combines given sources and defaults 0.212s
215stryker4s.config.circe.ConfigEncoderTest:
216 + configEncoder > should be able to encode a minimal config 0.114s
217 + configEncoder > should be able to encode a filled config 0.007s
218stryker4s.model.MutantIdTest:
219 + MutantId > should have a toString that returns a number 0.028s
220stryker4s.mutants.tree.MutantCollectorTest:
221 + onEnter > should only call 'isDefinedAt' on the PartialFunction once 0.389s
222 + apply > should return the mutated code 0.251s
223stryker4s.report.ConsoleReporterTest:
224 + mutantTested > should log progress 0.333s
225 + mutantTested > should round decimal numbers 0.029s
226 + reportFinishedRun > should report killed mutants as debug 0.056s
227 + reportFinishedRun > should report a finished run with multiple mutants 0.028s
228 + reportFinishedRun > should log mutants sorted by id 0.058s
229 + reportFinishedRun > should report two line mutants properly 0.014s
230 + reportFinishedRun > should report multiline mutants properly 0.006s
231 + reportFinishedRun > should round decimal mutation scores 0.015s
232 + reportFinishedRun > should log NaN correctly as n/a 0.004s
233 + reportFinishedRun > should report the mutation score when it is info 0.008s
234 + reportFinishedRun > should report the mutation score when it is warning 0.008s
235 + reportFinishedRun > should report the mutation score when it is dangerously low 0.003s
236 + reportFinishedRun > should log when below threshold 0.006s
237 + reportFinishedRun > should log covered code if it is different to the total 0.027s
238stryker4s.report.mapper.MutantRunResultMapperTest:
239 + mapper > should map 4 files to valid MutationTestResult 1.328s
240stryker4s.run.ResourcePoolTest:
241 + resource > should close the resources when closing the pool 0.109s
242 + run > should divide work on the resource pool 0.051s
243 + run > should divide work over other resources if one is slower 0.054s
244 + loan > should put the resource back in the pool after use 0.03s
245stryker4s.report.AggregateReporterTest:
246 + mutantTested > should do nothing if there are no reporters 0.014s
247 + mutantTested > should report to all reporters that a mutant is tested 0.309s
248 + mutantTested > should report to all reporters even if a first reporter fails 0.062s
249 + onRunFinished > should report to all reporters that a mutation run is completed 0.007s
250 + onRunFinished > should still call other reporters if a reporter throws an exception 0.007s
251 + onRunFinished > logging > should log and throw if a reporter throws an exception 0.001s
252 + onRunFinished > logging > should not log warnings if no exceptions occur 0.012s
253stryker4s.config.ConfigLoaderTest:
254 + combines a ConfigSource into Config 0.048s
255 + accumulates failures 0.038s
256stryker4s.files.GlobFileResolverTest:
257 + files > should not collect the baseDir 0.006s
258 + files > should find all scala files and not the non-scala files with a default glob 0.006s
259 + files > should find matching files with custom match pattern 0.006s
260 + files > should only add a glob once even when it matches twice 0.012s
261 + files > should exclude all files in the target folder 0.006s
262 + files > should match if basePath and glob are absolute 0.007s
263stryker4s.Stryker4sTest:
264 + should call mutate files and report the results 0.369s
265stryker4s.extension.FileExtensionsTest:
266 + relativePath > should return the relative path on a file inside the base-dir 0.002s
267 + relativePath > should return just the file name when a file is in the base-dir 0.001s
268 + relativePath > should return the path if the given path is relative 0.0s
269 + relativePath > works if both are relative 0.001s
270 + relativePath > works if both are absolute 0.0s
271 + relativePath > works if baseDir is relative and path is absolute 0.0s
272 + relativePath > works if baseDir is absolute and path is relative 0.0s
273 + relativePath > multiple calls doesn't change the path 0.0s
274 + inSubDir > should calculate a path relative to the new subDir 0.0s
275stryker4s.extension.TreeExtensionsTest:
276 + isIn > should be false for annotations 0.09s
277 + find > should find statement in simple tree 0.037s
278 + find > should find statement in large tree 0.111s
279 + find > should return none if statement is not in tree 0.007s
280 + find > should still have parents when statement is found 0.003s
281 + transformOnce > should transform does not recursively transform new subtree 0.01s
282 + transformOnce > should transform both appearances in the tree only once 0.01s
283 + transformOnce > should return the same tree if no transformation is applied 0.001s
284 + transformOnce > should transform a parsed string and have changed syntax 0.016s
285 + collectWithContext > should collect all statements without context 0.003s
286 + collectWithContext > should collect and pass context 0.003s
287 + collectWithContext > should only evaluate functions once 0.004s
288 + collectWithContext > should not search upwards for context if one has already been found 0.003s
289 + collectWithContext > should not call context-building function if no collector is found 0.001s
290 + collectWithContext > should call with older context if not found on the currently-visiting tree 0.002s
291 + collectWithContext > should pass down each collector its own context 0.006s
292 + collectWithContext > should not pass context from separate trees 0.005s
293 + toLocation > should map a weaponregex.Location to a mutationtesting.Location 0.001s
294 + toLocation > uses correct offset for triple double-quote strings 0.001s
295stryker4s.mutation.MutationTypesTest:
296 + EqualityOperator > > to GreaterThan 0.001s
297 + EqualityOperator > >= to GreaterThanEqualTo 0.004s
298 + EqualityOperator > <= to LesserThanEqualTo 0.001s
299 + EqualityOperator > < to LesserThan 0.0s
300 + EqualityOperator > == to EqualTo 0.001s
301 + EqualityOperator > != to NotEqualTo 0.004s
302 + BooleanLiteral > false to False 0.001s
303 + BooleanLiteral > true to True 0.0s
304 + LogicalOperator > && to And 0.001s
305 + LogicalOperator > || to Or 0.004s
306 + StringLiteral > foo string to NonEmptyString 0.001s
307 + StringLiteral > empty string to EmptyString 0.002s
308 + StringLiteral > string interpolation to StringInterpolation 0.004s
309 + StringLiteral > q interpolation should not match StringInterpolation 0.001s
310 + StringLiteral > t interpolation should not match StringInterpolation 0.001s
311 + other cases > should return original tree on match 0.001s
312 + other cases > should convert GreaterThan to > 0.004s
313 + other cases > should convert to the proper type 0.003s
314stryker4s.mutants.findmutants.MutantFinderTest:
315 + parseFile > should parse an existing file 0.037s
316 + parseFile > should throw an exception on a non-parseable file 0.01s
317 + parseFile > should fail on a nonexistent file 0.001s
318 + parseFile > should parse a scala-3 file 0.085s
319 + logging > should error log an unfound file 0.004s
320stryker4s.run.MutantRunnerTest:
321 + apply > should return a mutationScore of 66.67 when 2 of 3 mutants are killed 0.301s
322 + apply > should return a mutationScore of 66.67 when 2 of 3 mutants are killed and 1 doesn't compile. 0.16s
323 + apply > should use static temp dir if it was requested 0.083s
324 + apply > should not clean up tmp dir on errors 0.045s
325 + apply > should not clean up tmp dir if clean-tmp-dir is disabled 0.063s
326stryker4s.mutants.TreeTraverserTest:
327 + canPlace > can not place inside case guards 0.034s
328 + canPlace > can place in case body 0.002s
329 + canPlace > can not place inside annotations 0.003s
330 + canPlace > can not place inside deep term Term 0.003s
331 + canPlace > can place outside part of a Term 0.006s
332 + canPlace > can not place inside type literals 0.019s
333stryker4s.extension.DurationExtensionsTest:
334 + toHumanReadable > should parse 1 second 0.0s
335 + toHumanReadable > should parse 0 duration 0.002s
336 + toHumanReadable > should parse 1 nanosecond to 0 0.007s
337 + toHumanReadable > should parse 1 ms 0.0s
338 + toHumanReadable > should parse multiple seconds 0.001s
339 + toHumanReadable > should not include units in the middle that are zero 0.011s
340 + toHumanReadable > should parse a combination of units 0.0s
341stryker4s.exception.Stryker4sExceptionTest:
342 + UnableToBuildPatternMatchException > should have the correct message 0.001s
343 + InitialTestRunFailedException > should have the correct message 0.0s
344 + TestSetupException > should have the correct message 0.002s
345 + MutationRunFailedException > should have the correct message 0.001s
346 + UnableToFixCompilerErrorsException > should have a nicely formatted message 0.007s
347stryker4s.extension.NumberExtensionsTest:
348 + roundDecimals > should round down to the given decimals 0.0s
349 + roundDecimals > should round up to the given decimals 0.004s
350 + roundDecimals > should round multiple decimals 0.0s
351 + roundDecimals > should leave NaN 0.001s
352stryker4s.mutation.MethodExpressionTest:
353 + ArgMethodExpression > should match with a filter call (one argument) 0.009s
354 + ArgMethodExpression > should match with an infix filter call (one argument) 0.012s
355 + ArgMethodExpression > should match with a filter call (block with one argument) 0.008s
356 + ArgMethodExpression > should match with an infix filter call (block with one argument) 0.004s
357 + ArgMethodExpression > should match with a filter call (partial function) 0.011s
358 + ArgMethodExpression > should match with an infix filter call (partial function) 0.009s
359 + ArgMethodExpression > should match with a filter call (aux function) 0.004s
360 + ArgMethodExpression > should match with an infix filter call (aux function) 0.003s
361 + ArgMethodExpression > should not match with an infix filter call (non arguments) 0.005s
362 + ArgMethodExpression > should not match with a filter call (more than one argument) 0.003s
363 + ArgMethodExpression > should not match with an infix filter call (more than one argument) 0.006s
364 + ArgMethodExpression > should not match with a filter call (more than one argument) 2 0.006s
365 + ArgMethodExpression > should not match with an infix filter call (more than one argument) 2 0.001s
366 + ArgMethodExpression > should not match with a filter call (block more than one argument) 0.006s
367 + ArgMethodExpression > should not match with a filter property 0.007s
368 + ArgMethodExpression > should not match with an infix filter property 0.005s
369 + ArgMethodExpression > should not match with a filter import 0.022s
370 + ArgMethodExpression > should not match with a filter variable 0.004s
371 + ArgMethodExpression > should match exists to Exists 0.002s
372 + ArgMethodExpression > should match forall to Forall 0.004s
373 + ArgMethodExpression > should match take to Take 0.001s
374 + ArgMethodExpression > should match drop to Drop 0.002s
375 + ArgMethodExpression > should match takeRight to TakeRight 0.001s
376 + ArgMethodExpression > should match dropRight to DropRight 0.001s
377 + ArgMethodExpression > should match takeWhile to TakeWhile 0.005s
378 + ArgMethodExpression > should match dropWhile to DropWhile 0.005s
379 + NoArgMethodExpression > should not match with an isEmpty call (one argument) 0.001s
380 + NoArgMethodExpression > should not match with an isEmpty call (block with one argument) 0.005s
381 + NoArgMethodExpression > should not match with an isEmpty call (partial function) 0.004s
382 + NoArgMethodExpression > should not match with an isEmpty call (aux function) 0.001s
383 + NoArgMethodExpression > should not match with an isEmpty call (non arguments) 0.004s
384 + NoArgMethodExpression > should not match with an isEmpty call (more than one argument) 0.002s
385 + NoArgMethodExpression > should not match with an isEmpty call (block more than one argument) 0.007s
386 + NoArgMethodExpression > should match with an isEmpty property 0.003s
387 + NoArgMethodExpression > should not match with an isEmpty import 0.002s
388 + NoArgMethodExpression > should not match with an isEmpty variable 0.003s
389stryker4s.model.CompilerErrMsgTest:
390 + CompilerErrMsgTest > should have a nicely formatted show 0.001s
391stryker4s.report.JsonReporterTest:
392 + reportJson > should contain the report 0.005s
393 + onRunFinished > should write the report file to the report directory 0.002s
394 + onRunFinished > should info log a message 0.009s
395stryker4s.report.HtmlReporterTest:
396 + indexHtml > should contain title 0.012s
397 + reportJs > should contain the report 0.17s
398 + mutation-test-elements > should write the resource 0.088s
399 + onRunFinished > should write the report files to the report directory 0.011s
400 + onRunFinished > should write the mutation-test-elements.js file to the report directory 0.005s
401 + onRunFinished > should info log a message 0.001s
402 + onRunFinished > should open the report when openReport is true 0.007s
403 + onRunFinished > should not open the report when openReport is false 0.007s
404stryker4s.config.ConfigOrderTest:
405 + should order ascending 0.0s
406stryker4s.config.source.CliConfigSourceTest:
407 + should load a filled config 0.103s
408 + should parse short arguments 0.014s
409 + fails on unknown arguments 0.006s
410 + should handle multiple arguments 0.007s
411stryker4s.run.RollbackHandlerTest:
412 + rollbackFiles > should remove a non-compiling mutant 0.143s
413 + rollbackFiles > should return a Left if no mutants were removed 0.046s
414 + rollbackFiles > should filter out fixed files of the rollbackResult 0.05s
415stryker4s.config.ConfigTest:
416 + concurrency > should give concurrency 4 for 10 cpu cores 0.0s
417 + concurrency > should give concurrency 7 for 24 cpu cores 0.0s
418 + concurrency > should give concurrency 6 for 20 cpu cores 0.001s
419 + concurrency > should give concurrency 1 for 1 cpu cores 0.0s
420 + concurrency > should give concurrency 3 for 6 cpu cores 0.0s
421 + concurrency > should give concurrency 8 for 28 cpu cores 0.0s
422 + concurrency > should give concurrency 2 for 2 cpu cores 0.001s
423 + concurrency > should give concurrency 9 for 32 cpu cores 0.0s
424 + concurrency > should give concurrency 4 for 12 cpu cores 0.0s
425 + concurrency > should give concurrency 2 for 3 cpu cores 0.0s
426 + concurrency > should give concurrency 5 for 16 cpu cores 0.007s
427 + concurrency > should give concurrency 3 for 8 cpu cores 0.0s
428 + concurrency > should give concurrency 2 for 4 cpu cores 0.0s
429stryker4s.config.source.DefaultsConfigSourceTest:
430 + loads all default values 0.02s
431stryker4s.files.GlobTest:
432 + include patterns > should match no files with empty glob 0.002s
433 + include patterns > should match files 0 levels deep 0.001s
434 + include patterns > should match on the second glob if the first doesn't match 0.0s
435 + include patterns > should match files 1 level deep 0.001s
436 + include patterns > should match files multiple levels deep 0.007s
437 + include patterns > should match on multiple patterns 0.001s
438 + include patterns > should match exact matches 0.0s
439 + ignore patterns > should exclude the file specified in the excluded pattern 0.001s
440 + ignore patterns > should exclude all files specified in the excluded pattern 0.004s
441 + ignore patterns > should exclude all files based on a wildcard 0.005s
442 + ignore patterns > should not exclude files if a non-matching ignore pattern is given 0.001s
443 + should escape \\ in a path 0.006s
444 + should escape { in a path 0.0s
445 + should escape } in a path 0.0s
446 + should escape [ in a path 0.001s
447 + should escape ] in a path 0.0s
448 + should escape * in a path 0.0s
449 + should escape ? in a path 0.001s
450stryker4s.run.process.ProcessRunnerTest:
451 + resolveRunner > should resolve the proper runner for the current OS 0.008s
452stryker4s.extension.ResourceExtensionsTest:
453 + selfRecreatingResource > should create a resource only once when not using the release F 0.023s
454 + selfRecreatingResource > should close first before creating a new Resource 0.002s
455stryker4s.mutants.MutatorTest:
456 + run > should return a single Tree with changed pattern match 0.074s
457 + run > should run go 0.098s
458 + logs > should log the amount of mutants found 0.04s
459 + logs > should log the amount of excluded mutants 0.044s
460 + logs > should log a warning if no mutants are found 0.03s
461 + logs > should log if all mutations are excluded 0.035s
462stryker4s.config.TestFilterTest:
463 + filter > should work with default 0.006s
464 + filter > should work with custom 0.015s
465 + filter > should work with custom and negation 0.006s
466stryker4s.extension.PartialFunctionOpsTest:
467 + Monoid > when combined still calls the first PF 0.011s
468 + Monoid > when combined still calls the second PF 0.005s
469 + Monoid > combines the result when both PFs match 0.003s
470 + Monoid > combines the result multiple times with combineN 0.006s
471 + Monoid > Empty Monoid is equal to empty PartialFunction 0.0s
472 + Monoid > Empty Monoid should not match on anything equal to empty PartialFunction 0.001s
473 + Monoid > should not be able to combine PF's that can't combine the result 0.013s
474stryker4s.report.dashboard.DashboardConfigProviderTest:
475 + resolveConfig > should resolve a Travis environment 0.056s
476 + resolveConfig > should resolve a CircleCI environment 0.002s
477 + resolveConfig > should resolve a GitHub actions environment 0.005s
478 + resolveConfig > should resolve a GitHub actions PR environment 0.001s
479 + resolveConfig > should resolve a configured environment 0.001s
480 + resolveConfig > should resolve without a module 0.0s
481 + resolveConfig > should not resolve a GitHub actions with malformed ref 0.015s
482 + resolveConfig > should not resolve empty env variables 0.0s
483 + resolveConfig > should not resolve when there is no STRYKER_DASHBOARD_API_KEY environment 0.001s
484 + resolveConfig > should not resolve when there is no project 0.0s
485 + resolveConfig > should not resolve when there is no version 0.001s
486 + resolveConfig > should return all unresolved 0.004s
487stryker4s.report.DashboardReporterTest:
488 + buildRequest > should compose the request 0.09s
489 + buildRequest > should make a score-only request when score-only is configured 0.01s
490 + buildRequest > should add the module if it is present 0.011s
491 + onRunFinished > should send the request 0.084s
492 + onRunFinished > log when not being able to resolve dashboard config 0.044s
493 + onRunFinished > should log when a response can't be parsed to a href 0.015s
494 + onRunFinished > should log when a 401 is returned by the API 0.012s
495 + onRunFinished > should log when a error code is returned by the API 0.016s
496stryker4s.mutants.tree.MutantInstrumenterTest:
497 + instrumentFile > should transform 2 mutations into a match statement with 2 mutated and 1 original 0.036s
498 + instrumentFile > should place mutants on the correct statement even if the name appears twice 0.02s
499 + instrumentFile > should apply the correct instrumenter options 0.013s
500 + instrumentFile > should log failures correctly 0.012s
501 + instrumentFile > should rethrow Stryker4sExceptions 0.005s
502stryker4s.config.codec.CirisConfigDecodersTest:
503 + Thresholds > should load high=85, low=65, break=10 to expected result 0.0s
504 + Thresholds > should load high=30, low=30 to expected result 0.0s
505 + Thresholds > should load low=30, break=29 to expected result 0.0s
506 + Thresholds > should load high=100 to expected result 0.0s
507 + Thresholds > should not load Thresholds(-1,60,0) 0.004s
508 + Thresholds > should not load Thresholds(80,-1,0) 0.001s
509 + Thresholds > should not load Thresholds(80,60,-1) 0.0s
510 + Thresholds > should not load Thresholds(101,60,0) 0.0s
511 + Thresholds > should not load Thresholds(80,101,0) 0.0s
512 + Thresholds > should not load Thresholds(80,60,101) 0.0s
513 + Thresholds > should not load Thresholds(50,51,0) 0.001s
514 + Thresholds > should not load Thresholds(80,50,51) 0.003s
515 + Thresholds > should not load Thresholds(80,50,50) 0.0s
516 + ScalaDialect > should parse scala30 to Scala30 0.0s
517 + ScalaDialect > should parse future to Scala3Future 0.001s
518 + ScalaDialect > should parse 33 to Scala33 0.0s
519 + ScalaDialect > should parse 37 to Scala37 0.0s
520 + ScalaDialect > should parse 3.0 to Scala30 0.001s
521 + ScalaDialect > should parse 3.5 to Scala35 0.0s
522 + ScalaDialect > should parse scala37 to Scala37 0.002s
523 + ScalaDialect > should parse 3.3 to Scala33 0.001s
524 + ScalaDialect > should parse 2.12 to Scala212 0.0s
525 + ScalaDialect > should parse scala36 to Scala36 0.003s
526 + ScalaDialect > should parse scala213source3 to Scala213Source3 0.0s
527 + ScalaDialect > should parse source3 to Scala213Source3 0.0s
528 + ScalaDialect > should parse scala212 to Scala212 0.001s
529 + ScalaDialect > should parse scala3.7 to Scala37 0.0s
530 + ScalaDialect > should parse 34 to Scala34 0.0s
531 + ScalaDialect > should parse scala3.4 to Scala34 0.001s
532 + ScalaDialect > should parse 3.7 to Scala37 0.0s
533 + ScalaDialect > should parse 3.1 to Scala32 0.0s
534 + ScalaDialect > should parse scala3.1 to Scala32 0.001s
535 + ScalaDialect > should parse 3.4 to Scala34 0.0s
536 + ScalaDialect > should parse 212 to Scala212 0.0s
537 + ScalaDialect > should parse scala34 to Scala34 0.0s
538 + ScalaDialect > should parse scala3.3 to Scala33 0.0s
539 + ScalaDialect > should parse 35 to Scala35 0.001s
540 + ScalaDialect > should parse scala3 to Scala37 0.0s
541 + ScalaDialect > should parse 2.13 to Scala213 0.0s
542 + ScalaDialect > should parse 213 to Scala213 0.001s
543 + ScalaDialect > should parse scala2.13 to Scala213 0.0s
544 + ScalaDialect > should parse 32 to Scala32 0.0s
545 + ScalaDialect > should parse 36 to Scala36 0.0s
546 + ScalaDialect > should parse scala3.2 to Scala32 0.0s
547 + ScalaDialect > should parse 31 to Scala32 0.003s
548 + ScalaDialect > should parse scala35 to Scala35 0.0s
549 + ScalaDialect > should parse scala31 to Scala32 0.0s
550 + ScalaDialect > should parse scala3future to Scala3Future 0.001s
551 + ScalaDialect > should parse dotty to Scala30 0.0s
552 + ScalaDialect > should parse 2 to Scala213 0.0s
553 + ScalaDialect > should parse scala3.6 to Scala36 0.001s
554 + ScalaDialect > should parse 3.2 to Scala32 0.0s
555 + ScalaDialect > should parse scala3.0 to Scala30 0.001s
556 + ScalaDialect > should parse scala213 to Scala213 0.0s
557 + ScalaDialect > should parse scala2.12 to Scala212 0.0s
558 + ScalaDialect > should parse scala3.5 to Scala35 0.001s
559 + ScalaDialect > should parse 3.6 to Scala36 0.0s
560 + ScalaDialect > should parse 30 to Scala30 0.003s
561 + ScalaDialect > should parse scala32 to Scala32 0.0s
562 + ScalaDialect > should parse scala33 to Scala33 0.0s
563 + ScalaDialect > should parse 3 to Scala37 0.001s
564 + ScalaDialect > should parse scala212source3 to Scala212Source3 0.0s
565 + ScalaDialect > should not parse invalid scala-dialects 0.005s
566 + ScalaDialect > should error deprecated scala-dialect scala211 0.002s
567 + ScalaDialect > should error deprecated scala-dialect scala2.11 0.001s
568 + ScalaDialect > should error deprecated scala-dialect 2.11 0.004s
569 + ScalaDialect > should error deprecated scala-dialect 211 0.002s
570 + ReporterType > should decode valid reporters 0.004s
571 + ReporterType > should not decode invalid reporters 0.0s
572 + DashboardReportType > should decode valid dashboard report types 0.001s
573 + DashboardReportType > should not decode invalid dashboard report types 0.0s
574 + Uri > should decode valid uris 0.002s
575 + Uri > should not decode invalid uris 0.001s
576 + Duration > should decode valid duration values 0.002s
577 + Duration > should fallback to milliseconds when no unit is provided 0.0s
578stryker4s.config.source.FileConfigSourceTest:
579 + should load a filled config 0.031s
580 + should not be able to load an empty config 0.007s
581 + should fail on an unknown reporter 0.005s
582 + should load a config with unknown keys 0.009s
583 + should filter out duplicate keys 0.001s
584 + should return a failure on a misshapen excluded-mutations 0.008s
585 + should parse duration expressions 0.001s
586 + should handle missing files 0.014s
587 + fails on other errors 0.022s
588 + logs > should log where the config is read from 0.011s
589stryker4s.model.MutantMetadataTest:
590 + locationShow > should show the location 0.009s
591 + locationShow > should be equal to showLocation 0.003s
592stryker4s.run.TestRunnerTest:
593 + timeoutRunner > initialTestRun > should complete the timeout after the initial testrun 0.021s
594 + timeoutRunner > initialTestRun > should use the reported timeout if available 0.007s
595 + timeoutRunner > initialTestRun > should not log the timeout setting if timeout has already been completed 0.003s
596 + timeoutRunner > runMutant > should timeout slow mutant runs 0.012s
597 + timeoutRunner > runMutant > should recreate the inner resource after a timeout 0.011s
598 + timeoutRunner > runMutant > should not timeout fast mutant runs 0.005s
599 + retryRunner > should retry after a first attempt fails 0.029s
600 + retryRunner > should report a mutant as Error after 3 failures 0.008s
601 + retryRunner > should only report as Error after 3 failed attempts 0.008s
602 + maxReuseTestRunner > should not recreate if reuse is not reached yet 0.01s
603 + maxReuseTestRunner > should recreate when reuse is reached 0.008s
604stryker4s.mutants.findmutants.MutantMatcherTest:
605 + All Matchers > should match a conditional statement 0.053s
606 + All Matchers > should match a method 0.024s
607 + All Matchers > should match a boolean and a conditional 0.02s
608 + All Matchers > should match the default case of a constructor argument 0.02s
609 + All Matchers > should match on the default case of a function argument 0.017s
610 + matchEqualityOperator matcher > should match >= sign with >, <, and == 0.011s
611 + matchEqualityOperator matcher > should match > with >=, < and == 0.01s
612 + matchEqualityOperator matcher > should match <= to <, >= and == 0.012s
613 + matchEqualityOperator matcher > should match < to <=, > and == 0.01s
614 + matchEqualityOperator matcher > should match == to != 0.009s
615 + matchEqualityOperator matcher > should match != to == 0.004s
616 + matchEqualityOperator matcher > should match === to =!= 0.007s
617 + matchEqualityOperator matcher > should match =!= to === 0.005s
618 + matchLogicalOperator matcher > should match && to || 0.002s
619 + matchLogicalOperator matcher > should match || to && 0.006s
620 + matchMethodExpression matcher > should match filter to filterNot 0.028s
621 + matchMethodExpression matcher > should match filterNot to filter 0.009s
622 + matchMethodExpression matcher > should match exists to forall 0.01s
623 + matchMethodExpression matcher > should match forall to exists 0.007s
624 + matchMethodExpression matcher > should match take to drop 0.004s
625 + matchMethodExpression matcher > should match drop to take 0.005s
626 + matchMethodExpression matcher > should match takeRight to dropRight 0.004s
627 + matchMethodExpression matcher > should match dropRight to takeRight 0.006s
628 + matchMethodExpression matcher > should match takeWhile to dropWhile 0.004s
629 + matchMethodExpression matcher > should match dropWhile to takeWhile 0.005s
630 + matchMethodExpression matcher > should match isEmpty to nonEmpty 0.005s
631 + matchMethodExpression matcher > should match nonEmpty to isEmpty 0.004s
632 + matchMethodExpression matcher > should match indexOf to lastIndexOf 0.002s
633 + matchMethodExpression matcher > should match lastIndexOf to indexOf 0.006s
634 + matchMethodExpression matcher > should match max to min 0.013s
635 + matchMethodExpression matcher > should match min to max 0.004s
636 + matchMethodExpression matcher > should match maxBy to minBy 0.007s
637 + matchMethodExpression matcher > should match minBy to maxBy 0.003s
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.002s
642 + matchStringLiteral matcher > should match on interpolated strings 0.003s
643 + matchStringLiteral matcher > should match once on interpolated strings with multiple parts 0.005s
644 + matchStringLiteral matcher > should not match non-string interpolation 0.003s
645 + matchStringLiteral matcher > should not match pattern interpolation 0.008s
646 + matchStringLiteral matcher > should match pattern in string 0.001s
647 + matchStringLiteral matcher > should not match xml literals 0.057s
648 + matchStringLiteral matcher > should not match empty strings on xml literals 0.004s
649 + matchStringLiteral matcher > should match inside xml literal args 0.004s
650 + matchStringLiteral matcher > should not match xml interpolation 0.003s
651 + regexMutator > should match Regex constructor 0.089s
652 + regexMutator > should match scala.util.matching.Regex constructor 0.01s
653 + regexMutator > should match a Regex constructor with named groups 0.005s
654 + regexMutator > should match Regex String ops 0.003s
655 + regexMutator > should match Pattern.compile Regex constructor 0.004s
656 + regexMutator > should match java.util.regex.Pattern.compile Regex constructor 0.005s
657 + regexMutator > should match Pattern.compile Regex constructor with flags 0.007s
658 + regexMutator > should not match e regular string 0.0s
659 + regexMutator > should handle regexes without any mutations 0.034s
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.005s
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.004s
666 + no function name matching > should not match on literal type declarations 0.001s
667 + no function name matching > should not match on literal type declarations for var 0.007s
668 + no function name matching > should not match on infix literal type declarations 0.001s
669 + no function name matching > should not match on def literal return types 0.001s
670 + no function name matching > should not match on literal function types 0.004s
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.004s
674 + no function name matching > should mutate while statements with false as condition 0.006s
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.006s
677 + filtering > should filter out config excluded mutants 0.009s
678 + filtering > should filter out string mutants inside annotations 0.006s
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.234s
682 + failed to add mutations > #586 (second function call with `case`) 0.172s
683 + failed to add mutations > #776 (if-else block statement) 0.087s
684 + failed to add mutations > #776 2 1.138s
685 + failed to add mutations > each case of pattern match 0.015s
686 + failed to add mutations > try-catch-finally 0.026s
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.025s
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": 3667, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
715 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
716 "test-compile": {"status": "ok", "tookMs": 152, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
717 "test": {"status": "ok", "tookMs": 124, "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": 11137, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
725 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
726 "test-compile": {"status": "ok", "tookMs": 178, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
727 "test": {"status": "ok", "tookMs": 172, "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": 11477, "warnings": 0, "errors": 0},
735 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
736 "test-compile": {"status": "ok", "tookMs": 106, "warnings": 0, "errors": 0},
737 "test": {"status": "ok", "tookMs": 99, "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": 12613, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
745 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
746 "test-compile": {"status": "ok", "tookMs": 12230, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
747 "test": {"status": "ok", "tookMs": 4135, "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": 1203, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
755 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
756 "test-compile": {"status": "ok", "tookMs": 1058, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
757 "test": {"status": "ok", "tookMs": 817, "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": 62, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
765 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
766 "test-compile": {"status": "ok", "tookMs": 95, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
767 "test": {"status": "ok", "tookMs": 101, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
768 "publish": {"status": "skipped", "tookMs": 0},
769 "metadata": {
770 "crossScalaVersions": ["2.12.20", "3.7.3"]
771}
772},{
773 "module": "stryker4s-testkit",
774 "compile": {"status": "ok", "tookMs": 128, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
775 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
776 "test-compile": {"status": "ok", "tookMs": 173, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
777 "test": {"status": "ok", "tookMs": 148, "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: 68 s (0:01:08.0), completed Jan 13, 2026, 7:19:58 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.