Build Logs

stryker-mutator/weapon-regex • 3.8.0-RC6:2026-01-08

Errors

0

Warnings

0

Total Lines

610

1##################################
2Clonning https://github.com/stryker-mutator/weapon-regex.git into /build/repo using revision v1.3.6
3##################################
4Note: switching to '66c7dffbfcb6c754c14fa29e99f21c72fb9d99f7'.
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.3.6
22Using target Scala version for migration: 3.7.4
23Migrating project for -source:3.4 using Scala 3.7.4
24----
25Preparing build for 3.7.4
26Would try to apply common scalacOption (best-effort, sbt/mill only):
27Append: -rewrite,REQUIRE:-source:3.4-migration
28Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
29
30Try apply source patch:
31Path: build.sbt
32Pattern: val Scala3 = "3.3.6"
33Replacement: val Scala3 = "3.7.4"
34Starting compilation server
35Compiling project (Scala 3.7.3, JVM (21))
36Compiled project (Scala 3.7.3, JVM (21))
37Successfully applied pattern 'val Scala3 = "3.3.6"' in build.sbt
38----
39Starting build for 3.7.4
40Execute tests: false
41sbt project found:
42No prepare script found for project stryker-mutator/weapon-regex
43##################################
44Scala version: 3.7.4
45Targets: io.stryker-mutator%weapon-regex
46Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.6\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
47##################################
48Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
49Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
50[sbt_options] declare -a sbt_options=()
51[process_args] java_version = '21'
52[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
53# Executing command line:
54java
55-Dfile.encoding=UTF-8
56-Dcommunitybuild.scala=3.7.4
57-Dcommunitybuild.project.dependencies.add=
58-Xmx7G
59-Xms4G
60-Xss8M
61-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
62-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
63-jar
64/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
65"setCrossScalaVersions 3.7.4"
66"++3.7.4 -v"
67"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
68"set every credentials := Nil"
69"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
70"removeScalacOptionsStartingWith -P:wartremover"
71
72moduleMappings
73"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.6\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" io.stryker-mutator%weapon-regex"
74
75[info] [launcher] getting org.scala-sbt sbt 1.11.6 (this may take some time)...
76[info] welcome to sbt 1.11.6 (Eclipse Adoptium Java 21)
77[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
78[info] loading project definition from /build/repo/project
79[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
80[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
81[info] Compilation completed in 8.387s.
82[info] done compiling
83[info] loading settings for project repo from build.sbt, release.sbt...
84[info] set current project to repo (in build file:/build/repo/)
85Execute setCrossScalaVersions: 3.7.4
86OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in WeaponRegeXJS3/crossScalaVersions
87OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4) in WeaponRegeXJS3/crossScalaVersions
88OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeX/crossScalaVersions
89OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in WeaponRegeX3/crossScalaVersions
90OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4) in WeaponRegeX3/crossScalaVersions
91OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeXJS/crossScalaVersions
92OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in docs3/crossScalaVersions
93OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4) in docs3/crossScalaVersions
94[info] set current project to repo (in build file:/build/repo/)
95[info] Setting Scala version to 3.7.4 on 3 projects.
96[info] Switching Scala version on:
97[info] WeaponRegeX3 (3.7.4)
98[info] docs3 (3.7.4)
99[info] WeaponRegeXJS3 (3.7.4)
100[info] Excluding projects:
101[info] WeaponRegeX (2.13.16)
102[info] WeaponRegeXJS (2.13.16)
103[info] WeaponRegeX2_12 (2.12.20)
104[info] * repo (2.12.20)
105[info] WeaponRegeXJS2_12 (2.12.20)
106[info] Reapplying settings...
107[info] set current project to repo (in build file:/build/repo/)
108Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
109[info] Reapplying settings...
110[info] set current project to repo (in build file:/build/repo/)
111[info] Defining Global / credentials, WeaponRegeX / credentials and 6 others.
112[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 64 others.
113[info] Run `last` for details.
114[info] Reapplying settings...
115[info] set current project to repo (in build file:/build/repo/)
116Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
117[info] Reapplying settings...
118OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
119
120 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
121 Did you mean allExcludeDependencies ?
122 , retry without global scopes
123[info] Reapplying settings...
124[info] set current project to repo (in build file:/build/repo/)
125Execute removeScalacOptionsStartingWith: -P:wartremover
126[info] Reapplying settings...
127[info] set current project to repo (in build file:/build/repo/)
128[success] Total time: 0 s, completed Jan 8, 2026, 2:34:57 AM
129Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.6\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
130Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
131Starting build...
132Projects: Set(WeaponRegeX3)
133Starting build for ProjectRef(file:/build/repo/,WeaponRegeX3) (weapon-regex)... [0/1]
134OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
135OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
136OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
137OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
138OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
139Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -release, 8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
140[info] compiling 30 Scala sources to /build/repo/core/target/jvm-3/classes ...
141[info] [patched file /build/repo/core/src/main/scala/weaponregex/internal/parser/Parser.scala]
142[info] [patched file /build/repo/core/src/main/scala/weaponregex/internal/extension/StringExtension.scala]
143[info] done compiling
144[info] compiling 2 Scala sources to /build/repo/core/target/jvm-3/classes ...
145[info] done compiling
146[info] compiling 25 Scala sources to /build/repo/core/target/jvm-3/test-classes ...
147[info] done compiling
148
149************************
150Build summary:
151[{
152 "module": "weapon-regex",
153 "compile": {"status": "ok", "tookMs": 17569, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
154 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
155 "test-compile": {"status": "ok", "tookMs": 8396, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
156 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
157 "publish": {"status": "skipped", "tookMs": 0},
158 "metadata": {
159 "crossScalaVersions": ["2.12.20", "3.3.6"]
160}
161}]
162************************
163[success] Total time: 28 s, completed Jan 8, 2026, 2:35:25 AM
164[0JChecking patch project/plugins.sbt...
165Checking patch build.sbt...
166Applied patch project/plugins.sbt cleanly.
167Applied patch build.sbt cleanly.
168Commit migration rewrites
169Switched to a new branch 'opencb/migrate-source-3.4'
170[opencb/migrate-source-3.4 f821bdf] Apply Scala compiler rewrites using -source:3.4-migration using Scala 3.7.4
171 2 files changed, 3 insertions(+), 3 deletions(-)
172----
173Preparing build for 3.8.0-RC6
174Scala binary version found: 3.8
175Implicitly using source version 3.8
176Scala binary version found: 3.8
177Implicitly using source version 3.8
178Would try to apply common scalacOption (best-effort, sbt/mill only):
179Append: ,REQUIRE:-source:3.8
180Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
181
182Try apply source patch:
183Path: build.sbt
184Pattern: val Scala3 = "3.3.6"
185Replacement: val Scala3 = "3.8.0-RC6"
186Successfully applied pattern 'val Scala3 = "3.3.6"' in build.sbt
187----
188Starting build for 3.8.0-RC6
189Execute tests: true
190sbt project found:
191No prepare script found for project stryker-mutator/weapon-regex
192##################################
193Scala version: 3.8.0-RC6
194Targets: io.stryker-mutator%weapon-regex
195Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.6\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
196##################################
197Using extra scalacOptions: ,REQUIRE:-source:3.8
198Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
199[sbt_options] declare -a sbt_options=()
200[process_args] java_version = '21'
201[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
202# Executing command line:
203java
204-Dfile.encoding=UTF-8
205-Dcommunitybuild.scala=3.8.0-RC6
206-Dcommunitybuild.project.dependencies.add=
207-Xmx7G
208-Xms4G
209-Xss8M
210-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
211-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
212-jar
213/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
214"setCrossScalaVersions 3.8.0-RC6"
215"++3.8.0-RC6 -v"
216"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
217"set every credentials := Nil"
218"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
219"removeScalacOptionsStartingWith -P:wartremover"
220
221moduleMappings
222"runBuild 3.8.0-RC6 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.6\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" io.stryker-mutator%weapon-regex"
223
224[info] welcome to sbt 1.11.6 (Eclipse Adoptium Java 21)
225[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
226[info] loading project definition from /build/repo/project
227[info] loading settings for project repo from build.sbt, release.sbt...
228[info] set current project to repo (in build file:/build/repo/)
229Execute setCrossScalaVersions: 3.8.0-RC6
230OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in WeaponRegeX3/crossScalaVersions
231OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in WeaponRegeX3/crossScalaVersions
232OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeXJS/crossScalaVersions
233OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in docs3/crossScalaVersions
234OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in docs3/crossScalaVersions
235OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in WeaponRegeXJS3/crossScalaVersions
236OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in WeaponRegeXJS3/crossScalaVersions
237OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeX/crossScalaVersions
238[info] set current project to repo (in build file:/build/repo/)
239[info] Setting Scala version to 3.8.0-RC6 on 3 projects.
240[info] Switching Scala version on:
241[info] WeaponRegeX3 (3.8.0-RC6)
242[info] docs3 (3.8.0-RC6)
243[info] WeaponRegeXJS3 (3.8.0-RC6)
244[info] Excluding projects:
245[info] WeaponRegeX (2.13.16)
246[info] WeaponRegeXJS (2.13.16)
247[info] WeaponRegeX2_12 (2.12.20)
248[info] * repo (2.12.20)
249[info] WeaponRegeXJS2_12 (2.12.20)
250[info] Reapplying settings...
251[info] set current project to repo (in build file:/build/repo/)
252Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
253[info] Reapplying settings...
254[info] set current project to repo (in build file:/build/repo/)
255[info] Defining Global / credentials, WeaponRegeX / credentials and 6 others.
256[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 64 others.
257[info] Run `last` for details.
258[info] Reapplying settings...
259[info] set current project to repo (in build file:/build/repo/)
260Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
261[info] Reapplying settings...
262OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
263
264 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
265 Did you mean allExcludeDependencies ?
266 , retry without global scopes
267[info] Reapplying settings...
268[info] set current project to repo (in build file:/build/repo/)
269Execute removeScalacOptionsStartingWith: -P:wartremover
270[info] Reapplying settings...
271[info] set current project to repo (in build file:/build/repo/)
272[success] Total time: 0 s, completed Jan 8, 2026, 2:35:41 AM
273Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.6\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
274Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
275Starting build...
276Projects: Set(WeaponRegeX3)
277Starting build for ProjectRef(file:/build/repo/,WeaponRegeX3) (weapon-regex)... [0/1]
278OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
279OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
280OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
281OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
282Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -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
283[info] compiling 30 Scala sources to /build/repo/core/target/jvm-3/classes ...
284[info] done compiling
285[info] compiling 25 Scala sources to /build/repo/core/target/jvm-3/test-classes ...
286[info] done compiling
287weaponregex.internal.model.regextree.CharacterClassNodeTest:
288 + CharacterClass build 0.021s
289 + CharacterClassNaked build 0.001s
290 + CharClassIntersection build 0.002s
291 + Range build 0.001s
292weaponregex.mutator.BuiltinMutatorsTest:
293 + Convert to a map by mutator class name 0.023s
294 + Convert to a map by mutation levels 0.006s
295 + Get mutator in a single level 0.002s
296 + Get mutator in a single non-existed level 0.001s
297 + Get mutator in multiple levels 0.002s
298 + Get mutator in multiple levels with some non-existed levels 0.002s
299 + Get mutator in non-existed multiple levels 0.001s
300weaponregex.internal.mutator.CapturingMutatorTest:
301 + Changes capturing group to non-capturing group 0.155s
302 + Does not change escaped capturing groups 0.005s
303 + Negates lookaround constructs 0.109s
304weaponregex.internal.model.regextree.PredefinedCharClassNodeTest:
305 + PredefinedCharClass build 0.0s
306 + PredefinedCharClass build negated 0.001s
307 + UnicodeCharClass with lone property build 0.0s
308 + UnicodeCharClass with property and value build 0.001s
309 + UnicodeCharClass with lone property build negated 0.0s
310 + UnicodeCharClass with lone property build negated-1 0.002s
311weaponregex.internal.mutator.QuantifierMutatorTest:
312 + Removes greedy quantifier 0.034s
313 + Does not remove escaped greedy quantifiers 0.03s
314 + Removes reluctant quantifier 0.012s
315 + Does not remove escaped greedy quantifiers-1 0.032s
316 + Removes possessive quantifier 0.006s
317 + Does not remove escaped possessive quantifiers 0.023s
318 + Changes quantifier {n} 0.006s
319 + Modifies quantifier {n,} 0.005s
320 + QuantifierNOrMoreModification Does not mutate quantifier {n} and {n,m} 0.005s
321 + Changes quantifier {n,} 0.006s
322 + QuantifierNOrMoreChange Does not mutate quantifier {n} and {n,m} 0.007s
323 + Modifies quantifier {n,m} 0.009s
324 + QuantifierNMModification Does not mutate quantifier {n} and {n,} 0.007s
325 + Modifies short quantifier 0.009s
326 + Changes short quantifier 0.003s
327 + Adds reluctant to greedy quantifier 0.006s
328weaponregex.internal.model.regextree.BoundaryNodeTest:
329 + BOL build 0.001s
330 + EOL build 0.001s
331 + Boundary build 0.0s
332weaponregex.internal.model.regextree.QuotationNodeTest:
333 + QuoteChar build 0.0s
334 + QuoteChar build-1 0.001s
335 + Quote build with end 0.004s
336 + Quote build without end 0.001s
337weaponregex.internal.model.regextree.CapturingNodeTest:
338 + Group build 0.0s
339 + NamedGroup build 0.002s
340 + FlagNCGroup build 0.002s
341 + FlagGroup build 0.001s
342 + Lookaround build 0.002s
343 + AtomicGroup build 0.002s
344weaponregex.internal.model.regextree.CharacterNodeTest:
345 + Character build a 0.0s
346 + Character build b 0.001s
347 + Any dot build 0.0s
348 + MetaChar build a 0.004s
349 + MetaChar build 0123 0.0s
350weaponregex.internal.extension.TokenMutatorExtensionTest:
351 + Filter a single level 0.001s
352 + Filter a single non-existed level 0.0s
353 + Filter multiple levels 0.012s
354 + Filter multiple levels with some non-existed levels 0.002s
355 + Filter non-existed multiple levels 0.0s
356weaponregex.internal.model.regextree.QuantifierNodeTest:
357 + Quantifier build 0.003s
358 + ZeroOrOne build 0.001s
359 + ZeroOrMore build 0.0s
360 + OneOrMore build 0.012s
361weaponregex.mutator.MutatorTest:
362 + Mutator name is non-empty 0.001s
363 + Mutator description starts with a location 0.01s
364weaponregex.internal.model.regextree.ReferenceNodeTest:
365 + NameReference build 0.002s
366 + NumberReference build 0.004s
367weaponregex.WeaponRegeXTest:
368 + Can mutate without options 0.008s
369 + Can mutate with only mutators as option 0.003s
370 + Can mutate with empty sequence of mutators as option 0.012s
371 + Can mutate with only levels as option 0.001s
372 + Can mutate with unsupported levels as option 0.005s
373 + Can mutate with both mutators and levels as option 0.003s
374 + Returns an empty sequence if there are no mutants 0.001s
375 + Returns a Left with error message if the regex is invalid 0.012s
376weaponregex.internal.mutator.PredefCharClassMutatorTest:
377 + Negates Predefined Character Class 0.021s
378 + Does not mutate (negate) similar characters 0.009s
379 + Nullifies Predefined Character Class 0.003s
380 + Does not mutate (nullify) similar characters 0.008s
381 + Changes Predefined Character Class to Any Char 0.006s
382 + Does not mutate (change) similar characters 0.008s
383 + Negates Unicode Character Class with lone property 0.005s
384 + Negates Unicode Character Class with property and value 0.006s
385weaponregex.internal.mutator.RegexTreeMutatorTest:
386 + Filters mutators with level 1 0.022s
387 + Filters mutators with level 2 0.019s
388 + Filters mutators with level 3 0.03s
389 + Filters mutators with levels 1, 2 0.028s
390 + Filters mutators with levels 2, 3 0.017s
391 + Filters mutators with levels 1, 3 0.039s
392 + Filters mutators with levels 1, 2, 3 0.026s
393 + Filters mutators with unsupported levels 0.001s
394 + Mutates with all mutators by default 0.018s
395 + No filtering is done by default 0.014s
396 + Uses only the given mutators 0.005s
397 + Uses only the given mutators with mutation levels filtering 0.006s
398 + Used empty sequence of mutators 0.001s
399 + Adds correct replacement 0.025s
400 + replacement position is accurate 0.014s
401weaponregex.internal.model.regextree.RegexTreeTest:
402 + RegexTree build 0.007s
403weaponregex.internal.mutator.BoundaryMutatorTest:
404 + Removes BOL 0.005s
405 + Does not remove escaped BOL 0.007s
406 + Removes EOL 0.006s
407 + Does not remove escaped EOL 0.005s
408 + Changes BOL to BOI 0.007s
409 + Does not change escaped BOL 0.001s
410 + Changes EOL to EOI 0.008s
411 + Does not change escaped EOL 0.004s
412weaponregex.internal.model.regextree.LogicalNodeTest:
413 + Concat build 0.006s
414 + Or build 0.001s
415weaponregex.internal.mutator.CharClassMutatorTest:
416 + Negates Character Classes 0.024s
417 + Does not mutate escaped Character Classes 0.008s
418 + Removes children of Character Classes 0.031s
419 + Removes children of Naked Character Classes 0.022s
420 + Does not mutate (remove children) escaped Character Classes 0.007s
421 + Character Class to any char 0.019s
422 + Does not mutate (change to any char) escaped Character Classes 0.009s
423 + Character Class Modify Range [b-y][B-Y][1-8] 0.017s
424 + Character Class Modify Range [a-y][A-Y][0-8] 0.01s
425 + Character Class Modify Range [b-z][B-Z][1-9] 0.012s
426 + Character Class Modify Range [a-z][A-Z][0-9] 0.01s
427 + Character Class Modify Range [b-b][B-B][1-1] 0.011s
428 + Character Class Modify Range [a-a][A-A][0-0] 0.01s
429 + Character Class Modify Range [z-z][Z-Z][9-9] 0.007s
430 + Does not modify non alpha numeric ranges 0.011s
431 + Does not modify ranges with letters and digits mixed 0.004s
432 + Does not mutate (modify range) escaped Character Classes 0.005s
433weaponregex.internal.parser.ParserJSTest:
434 + Parse concat of characters 0.093s
435 + Parse `}` character next to long quantifier 0.014s
436 + Parse `]` character next to character class 0.009s
437 + Parse or of characters 0.011s
438 + Parse or of characters with null children 0.009s
439 + Parse BOL and EOL 0.008s
440 + Parse boundary metacharacters 0.002s
441 + Parse multiple lines with location 0.015s
442 + Parse positive character class with characters 0.01s
443 + Parse negative character class with characters 0.009s
444 + Parse character class with ranges 0.008s
445 + Parse character class with predefined character classes 0.011s
446 + Parse character class with quotes 0.006s
447 + Parse character class with metacharacters 0.007s
448 + Parse character class with special characters 0.016s
449 + Parse escape characters 0.002s
450 + Parse control characters 0.064s
451 + Parse hexadecimal characters 0.009s
452 + Parse octal characters 0.002s
453 + Parse predefined character class 0.005s
454 + Parse short greedy quantifiers 0.002s
455 + Parse short reluctant quantifiers 0.009s
456 + Parse short possessive quantifiers 0.006s
457 + Parse long greedy quantifiers 0.005s
458 + Parse long reluctant quantifiers 0.007s
459 + Parse long possessive quantifiers 0.002s
460 + Unparsable: long quantifier with min > max 0.004s
461 + Parse capturing group 0.013s
462 + Parse nested capturing group 0.105s
463 + Parse named capturing group 0.016s
464 + Parse nested named capturing group 0.102s
465 + Parse non-capturing group 0.009s
466 + Parse nested non-capturing group 0.062s
467 + Parse positive lookahead 0.014s
468 + Parse negative lookahead 0.01s
469 + Parse positive lookbehind 0.008s
470 + Parse negative lookbehind 0.012s
471 + Parse named reference 0.001s
472 + Parse character quote 0.001s
473 + Parser failure at start 0.002s
474 + Parser failure mid-regex 0.006s
475 + Parse complex regular expression 0.044s
476 + Not parse `\\A\\G\\z\\Z` as boundary metacharacters 0.006s
477 + Parse empty positive character class with characters 0.001s
478 + Parse negative character class with characters-1 0.002s
479 + Parse `[` as character inside a character class 0.001s
480 + Not parse `\\a\\e` as escape characters 0.005s
481 + Parse non-hexadecimal value `\\xGG` without the Unicode flag 0.003s
482 + Parse non-unicode value `\\uGGGG` without the Unicode flag 0.001s
483 + Parse `\\u20` as character quotation without the Unicode flag 0.001s
484 + Parse `\\u{20}` as quantifier without the Unicode flag 0.004s
485 + Parse `\\x{20}` as quantifier without the Unicode flag 0.001s
486 + Parse `\\u{FFFFFF}` as character quotation without the Unicode flag 0.004s
487 + Parse `\\u{20}` as Unicode character with the Unicode flag 0.002s
488 + Unparsable: `\\x{20}` with the Unicode flag 0.001s
489 + Unparsable: `\\u20` with the Unicode flag 0.004s
490 + Unparsable: out-of-range code point hexadecimal values with the Unicode flag 0.002s
491 + Parse character class with Unicode character classes with lone properties, with the Unicode flag 0.009s
492 + Parse character class with Unicode character classes with properties and values, with the Unicode flag 0.007s
493 + Parse Unicode character classes with lone properties, with the Unicode flag 0.002s
494 + Parse Unicode character classes with properties and values, with the Unicode flag 0.005s
495 + Parse `\\p{Alpha}` as a character quotation in a character class without the Unicode flag 0.002s
496 + Parse `\\p{Script_Extensions=Latin}` as a character quotation in a character class without the Unicode flag 0.004s
497 + Parse `\\p{Alpha}` as a character quotation without the Unicode flag 0.001s
498 + Parse `\\p{Script_Extensions=Latin}` as a character quotation without the Unicode flag 0.002s
499 + Not parse `\\h\\H\\V` as predefined character class 0.001s
500 + Parse named capturing group with underscores in name 0.006s
501 + Parse nested named capturing group with underscores in name 0.047s
502 + Parse named reference with underscores in name 0.002s
503 + Unparsable: flag toggle group i-i 0.001s
504 + Unparsable: flag toggle group i- 0.002s
505 + Unparsable: flag toggle group -i 0.003s
506 + Unparsable: flag toggle group - 0.002s
507 + Unparsable: flag toggle group i 0.004s
508 + Unparsable: non-capturing group with flags i-i 0.002s
509 + Unparsable: non-capturing group with flags i- 0.003s
510 + Unparsable: non-capturing group with flags -i 0.003s
511 + Unparsable: non-capturing group with flags - 0.002s
512 + Unparsable: non-capturing group with flags i 0.002s
513 + Unparsable: independent non-capturing group 0.002s
514 + Parse `\\Q\\E` as character quotes 0.002s
515 + Parse `\\Q` as a character quote 0.003s
516 + Parse syntax characters escape with the Unicode flag 0.012s
517 + Unparsable: non-syntax character escape with the Unicode flag 0.001s
518 + Unparsable: long-quantifier-like with nothing preceding 0.002s
519 + Parse `{` 0.0s
520weaponregex.internal.parser.ParserJVMTest:
521 + Parse concat of characters 0.002s
522 + Parse `}` character next to long quantifier 0.001s
523 + Parse `]` character next to character class 0.006s
524 + Parse or of characters 0.007s
525 + Parse or of characters with null children 0.006s
526 + Parse BOL and EOL 0.005s
527 + Parse boundary metacharacters 0.005s
528 + Parse multiple lines with location 0.011s
529 + Parse positive character class with characters 0.008s
530 + Parse negative character class with characters 0.012s
531 + Parse character class with ranges 0.021s
532 + Parse character class with predefined character classes 0.008s
533 + Parse character class with quotes 0.006s
534 + Parse character class with metacharacters 0.011s
535 + Parse character class with special characters 0.027s
536 + Parse escape characters 0.003s
537 + Parse control characters 0.041s
538 + Parse hexadecimal characters 0.008s
539 + Parse octal characters 0.002s
540 + Parse predefined character class 0.008s
541 + Parse short greedy quantifiers 0.001s
542 + Parse short reluctant quantifiers 0.006s
543 + Parse short possessive quantifiers 0.002s
544 + Parse long greedy quantifiers 0.007s
545 + Parse long reluctant quantifiers 0.001s
546 + Parse long possessive quantifiers 0.002s
547 + Unparsable: long quantifier with min > max 0.001s
548 + Parse capturing group 0.029s
549 + Parse nested capturing group 0.079s
550 + Parse named capturing group 0.009s
551 + Parse nested named capturing group 0.072s
552 + Parse non-capturing group 0.009s
553 + Parse nested non-capturing group 0.045s
554 + Parse positive lookahead 0.008s
555 + Parse negative lookahead 0.011s
556 + Parse positive lookbehind 0.007s
557 + Parse negative lookbehind 0.016s
558 + Parse named reference 0.001s
559 + Parse character quote 0.001s
560 + Parser failure at start 0.001s
561 + Parser failure mid-regex 0.002s
562 + Parse complex regular expression 0.018s
563 + Unparsable: empty positive character class `[]` 0.001s
564 + Unparsable: empty negative character class `[^]` 0.001s
565 + Parse character class with nested character classes 0.007s
566 + Parse character class with simple intersection 0.003s
567 + Parse character class with complex intersection 0.002s
568 + Unparsable: more than 2 consecutive `&` inside character class 0.004s
569 + Unparsable: non-hexadecimal values 0.0s
570 + Unparsable: out-of-range code point hexadecimal values 0.001s
571 + Parse character class with Unicode character classes with lone properties 0.003s
572 + Parse character class with Unicode character classes with properties and values 0.004s
573 + Parse Unicode character classes with lone properties 0.001s
574 + Parse Unicode character classes with properties and values 0.001s
575 + Parse flag toggle group i-i 0.004s
576 + Parse flag toggle group i- 0.003s
577 + Parse flag toggle group -i 0.003s
578 + Parse flag toggle group - 0.003s
579 + Parse flag toggle group i 0.003s
580 + Parse non-capturing group with flags i-i 0.008s
581 + Parse non-capturing group with flags i- 0.008s
582 + Parse non-capturing group with flags -i 0.007s
583 + Parse non-capturing group with flags - 0.003s
584 + Parse non-capturing group with flags i 0.006s
585 + Parse independent non-capturing group 0.003s
586 + Parse numbered reference 0.001s
587 + Parse long quote with end 0.001s
588 + Parse long quote without end 0.001s
589 + Unparsable: single `{` 0.0s
590 + Unparsable: JVM flavor with String flags 0.001s
591
592************************
593Build summary:
594[{
595 "module": "weapon-regex",
596 "compile": {"status": "ok", "tookMs": 17607, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
597 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
598 "test-compile": {"status": "ok", "tookMs": 5485, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
599 "test": {"status": "ok", "tookMs": 1494, "passed": 282, "failed": 0, "ignored": 0, "skipped": 0, "total": 282, "byFramework": [{"framework": "munit", "stats": {"passed": 282, "failed": 0, "ignored": 0, "skipped": 0, "total": 282}}]},
600 "publish": {"status": "skipped", "tookMs": 0},
601 "metadata": {
602 "crossScalaVersions": ["2.12.20", "3.3.6"]
603}
604}]
605************************
606[success] Total time: 27 s, completed Jan 8, 2026, 2:36:08 AM
607[0JChecking patch project/plugins.sbt...
608Checking patch build.sbt...
609Applied patch project/plugins.sbt cleanly.
610Applied patch build.sbt cleanly.