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