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