Build Logs
stryker-mutator/weapon-regex • 3.8.0:2026-01-13
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.258s.
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 13, 2026, 3:36:38 PM
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": 17823, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
154 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
155 "test-compile": {"status": "ok", "tookMs": 8913, "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 13, 2026, 3:37:07 PM
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 6fe685c] 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
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"
186Successfully applied pattern 'val Scala3 = "3.3.6"' in build.sbt
187----
188Starting build for 3.8.0
189Execute tests: true
190sbt project found:
191No prepare script found for project stryker-mutator/weapon-regex
192##################################
193Scala version: 3.8.0
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
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"
215"++3.8.0 -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 """{"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
230OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in WeaponRegeXJS3/crossScalaVersions
231OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0) in WeaponRegeXJS3/crossScalaVersions
232OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeX/crossScalaVersions
233OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in WeaponRegeX3/crossScalaVersions
234OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0) in WeaponRegeX3/crossScalaVersions
235OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeXJS/crossScalaVersions
236OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in docs3/crossScalaVersions
237OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0) in docs3/crossScalaVersions
238[info] set current project to repo (in build file:/build/repo/)
239[info] Setting Scala version to 3.8.0 on 3 projects.
240[info] Switching Scala version on:
241[info] WeaponRegeX3 (3.8.0)
242[info] docs3 (3.8.0)
243[info] WeaponRegeXJS3 (3.8.0)
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 13, 2026, 3:37:23 PM
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.ReferenceNodeTest:
288 + NameReference build 0.016s
289 + NumberReference build 0.002s
290weaponregex.internal.model.regextree.QuantifierNodeTest:
291 + Quantifier build 0.014s
292 + ZeroOrOne build 0.001s
293 + ZeroOrMore build 0.002s
294 + OneOrMore build 0.002s
295weaponregex.mutator.MutatorTest:
296 + Mutator name is non-empty 0.016s
297 + Mutator description starts with a location 0.009s
298weaponregex.internal.model.regextree.CharacterNodeTest:
299 + Character build a 0.001s
300 + Character build b 0.001s
301 + Any dot build 0.001s
302 + MetaChar build a 0.001s
303 + MetaChar build 0123 0.001s
304weaponregex.internal.model.regextree.PredefinedCharClassNodeTest:
305 + PredefinedCharClass build 0.003s
306 + PredefinedCharClass build negated 0.001s
307 + UnicodeCharClass with lone property build 0.003s
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.001s
311weaponregex.internal.model.regextree.RegexTreeTest:
312 + RegexTree build 0.005s
313weaponregex.mutator.BuiltinMutatorsTest:
314 + Convert to a map by mutator class name 0.007s
315 + Convert to a map by mutation levels 0.015s
316 + Get mutator in a single level 0.005s
317 + Get mutator in a single non-existed level 0.0s
318 + Get mutator in multiple levels 0.004s
319 + Get mutator in multiple levels with some non-existed levels 0.006s
320 + Get mutator in non-existed multiple levels 0.001s
321weaponregex.internal.mutator.PredefCharClassMutatorTest:
322 + Negates Predefined Character Class 0.094s
323 + Does not mutate (negate) similar characters 0.017s
324 + Nullifies Predefined Character Class 0.013s
325 + Does not mutate (nullify) similar characters 0.014s
326 + Changes Predefined Character Class to Any Char 0.013s
327 + Does not mutate (change) similar characters 0.011s
328 + Negates Unicode Character Class with lone property 0.007s
329 + Negates Unicode Character Class with property and value 0.007s
330weaponregex.internal.model.regextree.LogicalNodeTest:
331 + Concat build 0.001s
332 + Or build 0.001s
333weaponregex.internal.model.regextree.QuotationNodeTest:
334 + QuoteChar build 0.001s
335 + QuoteChar build-1 0.0s
336 + Quote build with end 0.007s
337 + Quote build without end 0.001s
338weaponregex.internal.mutator.BoundaryMutatorTest:
339 + Removes BOL 0.016s
340 + Does not remove escaped BOL 0.007s
341 + Removes EOL 0.018s
342 + Does not remove escaped EOL 0.003s
343 + Changes BOL to BOI 0.018s
344 + Does not change escaped BOL 0.008s
345 + Changes EOL to EOI 0.01s
346 + Does not change escaped EOL 0.007s
347weaponregex.internal.mutator.QuantifierMutatorTest:
348 + Removes greedy quantifier 0.024s
349 + Does not remove escaped greedy quantifiers 0.043s
350 + Removes reluctant quantifier 0.014s
351 + Does not remove escaped greedy quantifiers-1 0.041s
352 + Removes possessive quantifier 0.01s
353 + Does not remove escaped possessive quantifiers 0.028s
354 + Changes quantifier {n} 0.002s
355 + Modifies quantifier {n,} 0.006s
356 + QuantifierNOrMoreModification Does not mutate quantifier {n} and {n,m} 0.007s
357 + Changes quantifier {n,} 0.006s
358 + QuantifierNOrMoreChange Does not mutate quantifier {n} and {n,m} 0.002s
359 + Modifies quantifier {n,m} 0.003s
360 + QuantifierNMModification Does not mutate quantifier {n} and {n,} 0.002s
361 + Modifies short quantifier 0.004s
362 + Changes short quantifier 0.008s
363 + Adds reluctant to greedy quantifier 0.013s
364weaponregex.internal.mutator.CharClassMutatorTest:
365 + Negates Character Classes 0.117s
366 + Does not mutate escaped Character Classes 0.008s
367 + Removes children of Character Classes 0.024s
368 + Removes children of Naked Character Classes 0.012s
369 + Does not mutate (remove children) escaped Character Classes 0.005s
370 + Character Class to any char 0.013s
371 + Does not mutate (change to any char) escaped Character Classes 0.007s
372 + Character Class Modify Range [b-y][B-Y][1-8] 0.015s
373 + Character Class Modify Range [a-y][A-Y][0-8] 0.011s
374 + Character Class Modify Range [b-z][B-Z][1-9] 0.011s
375 + Character Class Modify Range [a-z][A-Z][0-9] 0.015s
376 + Character Class Modify Range [b-b][B-B][1-1] 0.008s
377 + Character Class Modify Range [a-a][A-A][0-0] 0.014s
378 + Character Class Modify Range [z-z][Z-Z][9-9] 0.007s
379 + Does not modify non alpha numeric ranges 0.012s
380 + Does not modify ranges with letters and digits mixed 0.007s
381 + Does not mutate (modify range) escaped Character Classes 0.004s
382weaponregex.WeaponRegeXTest:
383 + Can mutate without options 0.006s
384 + Can mutate with only mutators as option 0.005s
385 + Can mutate with empty sequence of mutators as option 0.002s
386 + Can mutate with only levels as option 0.006s
387 + Can mutate with unsupported levels as option 0.005s
388 + Can mutate with both mutators and levels as option 0.002s
389 + Returns an empty sequence if there are no mutants 0.005s
390 + Returns a Left with error message if the regex is invalid 0.009s
391weaponregex.internal.model.regextree.CharacterClassNodeTest:
392 + CharacterClass build 0.004s
393 + CharacterClassNaked build 0.001s
394 + CharClassIntersection build 0.0s
395 + Range build 0.001s
396weaponregex.internal.model.regextree.BoundaryNodeTest:
397 + BOL build 0.0s
398 + EOL build 0.006s
399 + Boundary build 0.0s
400weaponregex.internal.extension.TokenMutatorExtensionTest:
401 + Filter a single level 0.004s
402 + Filter a single non-existed level 0.001s
403 + Filter multiple levels 0.001s
404 + Filter multiple levels with some non-existed levels 0.001s
405 + Filter non-existed multiple levels 0.001s
406weaponregex.internal.model.regextree.CapturingNodeTest:
407 + Group build 0.001s
408 + NamedGroup build 0.001s
409 + FlagNCGroup build 0.002s
410 + FlagGroup build 0.001s
411 + Lookaround build 0.001s
412 + AtomicGroup build 0.001s
413weaponregex.internal.mutator.CapturingMutatorTest:
414 + Changes capturing group to non-capturing group 0.063s
415 + Does not change escaped capturing groups 0.007s
416 + Negates lookaround constructs 0.101s
417weaponregex.internal.mutator.RegexTreeMutatorTest:
418 + Filters mutators with level 1 0.007s
419 + Filters mutators with level 2 0.02s
420 + Filters mutators with level 3 0.017s
421 + Filters mutators with levels 1, 2 0.021s
422 + Filters mutators with levels 2, 3 0.019s
423 + Filters mutators with levels 1, 3 0.018s
424 + Filters mutators with levels 1, 2, 3 0.018s
425 + Filters mutators with unsupported levels 0.001s
426 + Mutates with all mutators by default 0.01s
427 + No filtering is done by default 0.006s
428 + Uses only the given mutators 0.011s
429 + Uses only the given mutators with mutation levels filtering 0.007s
430 + Used empty sequence of mutators 0.0s
431 + Adds correct replacement 0.039s
432 + replacement position is accurate 0.013s
433weaponregex.internal.parser.ParserJVMTest:
434 + Parse concat of characters 0.029s
435 + Parse `}` character next to long quantifier 0.002s
436 + Parse `]` character next to character class 0.017s
437 + Parse or of characters 0.006s
438 + Parse or of characters with null children 0.014s
439 + Parse BOL and EOL 0.003s
440 + Parse boundary metacharacters 0.004s
441 + Parse multiple lines with location 0.015s
442 + Parse positive character class with characters 0.011s
443 + Parse negative character class with characters 0.013s
444 + Parse character class with ranges 0.019s
445 + Parse character class with predefined character classes 0.027s
446 + Parse character class with quotes 0.009s
447 + Parse character class with metacharacters 0.014s
448 + Parse character class with special characters 0.031s
449 + Parse escape characters 0.009s
450 + Parse control characters 0.051s
451 + Parse hexadecimal characters 0.005s
452 + Parse octal characters 0.005s
453 + Parse predefined character class 0.006s
454 + Parse short greedy quantifiers 0.006s
455 + Parse short reluctant quantifiers 0.005s
456 + Parse short possessive quantifiers 0.009s
457 + Parse long greedy quantifiers 0.002s
458 + Parse long reluctant quantifiers 0.006s
459 + Parse long possessive quantifiers 0.005s
460 + Unparsable: long quantifier with min > max 0.005s
461 + Parse capturing group 0.034s
462 + Parse nested capturing group 0.061s
463 + Parse named capturing group 0.009s
464 + Parse nested named capturing group 0.054s
465 + Parse non-capturing group 0.016s
466 + Parse nested non-capturing group 0.062s
467 + Parse positive lookahead 0.007s
468 + Parse negative lookahead 0.01s
469 + Parse positive lookbehind 0.01s
470 + Parse negative lookbehind 0.009s
471 + Parse named reference 0.001s
472 + Parse character quote 0.001s
473 + Parser failure at start 0.001s
474 + Parser failure mid-regex 0.002s
475 + Parse complex regular expression 0.026s
476 + Unparsable: empty positive character class `[]` 0.001s
477 + Unparsable: empty negative character class `[^]` 0.001s
478 + Parse character class with nested character classes 0.01s
479 + Parse character class with simple intersection 0.005s
480 + Parse character class with complex intersection 0.006s
481 + Unparsable: more than 2 consecutive `&` inside character class 0.007s
482 + Unparsable: non-hexadecimal values 0.001s
483 + Unparsable: out-of-range code point hexadecimal values 0.0s
484 + Parse character class with Unicode character classes with lone properties 0.004s
485 + Parse character class with Unicode character classes with properties and values 0.006s
486 + Parse Unicode character classes with lone properties 0.003s
487 + Parse Unicode character classes with properties and values 0.001s
488 + Parse flag toggle group i-i 0.007s
489 + Parse flag toggle group i- 0.003s
490 + Parse flag toggle group -i 0.003s
491 + Parse flag toggle group - 0.002s
492 + Parse flag toggle group i 0.002s
493 + Parse non-capturing group with flags i-i 0.006s
494 + Parse non-capturing group with flags i- 0.005s
495 + Parse non-capturing group with flags -i 0.005s
496 + Parse non-capturing group with flags - 0.008s
497 + Parse non-capturing group with flags i 0.012s
498 + Parse independent non-capturing group 0.007s
499 + Parse numbered reference 0.001s
500 + Parse long quote with end 0.002s
501 + Parse long quote without end 0.004s
502 + Unparsable: single `{` 0.001s
503 + Unparsable: JVM flavor with String flags 0.0s
504weaponregex.internal.parser.ParserJSTest:
505 + Parse concat of characters 0.038s
506 + Parse `}` character next to long quantifier 0.007s
507 + Parse `]` character next to character class 0.007s
508 + Parse or of characters 0.007s
509 + Parse or of characters with null children 0.007s
510 + Parse BOL and EOL 0.006s
511 + Parse boundary metacharacters 0.001s
512 + Parse multiple lines with location 0.006s
513 + Parse positive character class with characters 0.003s
514 + Parse negative character class with characters 0.007s
515 + Parse character class with ranges 0.004s
516 + Parse character class with predefined character classes 0.005s
517 + Parse character class with quotes 0.002s
518 + Parse character class with metacharacters 0.005s
519 + Parse character class with special characters 0.005s
520 + Parse escape characters 0.001s
521 + Parse control characters 0.013s
522 + Parse hexadecimal characters 0.001s
523 + Parse octal characters 0.001s
524 + Parse predefined character class 0.001s
525 + Parse short greedy quantifiers 0.001s
526 + Parse short reluctant quantifiers 0.001s
527 + Parse short possessive quantifiers 0.001s
528 + Parse long greedy quantifiers 0.001s
529 + Parse long reluctant quantifiers 0.001s
530 + Parse long possessive quantifiers 0.001s
531 + Unparsable: long quantifier with min > max 0.001s
532 + Parse capturing group 0.014s
533 + Parse nested capturing group 0.101s
534 + Parse named capturing group 0.011s
535 + Parse nested named capturing group 0.064s
536 + Parse non-capturing group 0.006s
537 + Parse nested non-capturing group 0.029s
538 + Parse positive lookahead 0.007s
539 + Parse negative lookahead 0.008s
540 + Parse positive lookbehind 0.003s
541 + Parse negative lookbehind 0.005s
542 + Parse named reference 0.001s
543 + Parse character quote 0.0s
544 + Parser failure at start 0.005s
545 + Parser failure mid-regex 0.001s
546 + Parse complex regular expression 0.019s
547 + Not parse `\\A\\G\\z\\Z` as boundary metacharacters 0.005s
548 + Parse empty positive character class with characters 0.001s
549 + Parse negative character class with characters-1 0.001s
550 + Parse `[` as character inside a character class 0.001s
551 + Not parse `\\a\\e` as escape characters 0.002s
552 + Parse non-hexadecimal value `\\xGG` without the Unicode flag 0.001s
553 + Parse non-unicode value `\\uGGGG` without the Unicode flag 0.001s
554 + Parse `\\u20` as character quotation without the Unicode flag 0.001s
555 + Parse `\\u{20}` as quantifier without the Unicode flag 0.006s
556 + Parse `\\x{20}` as quantifier without the Unicode flag 0.001s
557 + Parse `\\u{FFFFFF}` as character quotation without the Unicode flag 0.001s
558 + Parse `\\u{20}` as Unicode character with the Unicode flag 0.002s
559 + Unparsable: `\\x{20}` with the Unicode flag 0.004s
560 + Unparsable: `\\u20` with the Unicode flag 0.001s
561 + Unparsable: out-of-range code point hexadecimal values with the Unicode flag 0.001s
562 + Parse character class with Unicode character classes with lone properties, with the Unicode flag 0.009s
563 + Parse character class with Unicode character classes with properties and values, with the Unicode flag 0.006s
564 + Parse Unicode character classes with lone properties, with the Unicode flag 0.005s
565 + Parse Unicode character classes with properties and values, with the Unicode flag 0.002s
566 + Parse `\\p{Alpha}` as a character quotation in a character class without the Unicode flag 0.003s
567 + Parse `\\p{Script_Extensions=Latin}` as a character quotation in a character class without the Unicode flag 0.006s
568 + Parse `\\p{Alpha}` as a character quotation without the Unicode flag 0.001s
569 + Parse `\\p{Script_Extensions=Latin}` as a character quotation without the Unicode flag 0.004s
570 + Not parse `\\h\\H\\V` as predefined character class 0.001s
571 + Parse named capturing group with underscores in name 0.008s
572 + Parse nested named capturing group with underscores in name 0.03s
573 + Parse named reference with underscores in name 0.001s
574 + Unparsable: flag toggle group i-i 0.001s
575 + Unparsable: flag toggle group i- 0.001s
576 + Unparsable: flag toggle group -i 0.002s
577 + Unparsable: flag toggle group - 0.004s
578 + Unparsable: flag toggle group i 0.001s
579 + Unparsable: non-capturing group with flags i-i 0.001s
580 + Unparsable: non-capturing group with flags i- 0.005s
581 + Unparsable: non-capturing group with flags -i 0.001s
582 + Unparsable: non-capturing group with flags - 0.004s
583 + Unparsable: non-capturing group with flags i 0.001s
584 + Unparsable: independent non-capturing group 0.001s
585 + Parse `\\Q\\E` as character quotes 0.006s
586 + Parse `\\Q` as a character quote 0.001s
587 + Parse syntax characters escape with the Unicode flag 0.004s
588 + Unparsable: non-syntax character escape with the Unicode flag 0.0s
589 + Unparsable: long-quantifier-like with nothing preceding 0.002s
590 + Parse `{` 0.0s
591
592************************
593Build summary:
594[{
595 "module": "weapon-regex",
596 "compile": {"status": "ok", "tookMs": 17770, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
597 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
598 "test-compile": {"status": "ok", "tookMs": 5112, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
599 "test": {"status": "ok", "tookMs": 1633, "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 13, 2026, 3:37:50 PM
607[0JChecking patch project/plugins.sbt...
608Checking patch build.sbt...
609Applied patch project/plugins.sbt cleanly.
610Applied patch build.sbt cleanly.