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