Build Logs

stryker-mutator/weapon-regex • 3.8.0-RC4:2025-12-22

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.226s.
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::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 22, 2025, 5:35:27 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": 17655, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
154 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
155 "test-compile": {"status": "ok", "tookMs": 8041, "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: 40 s, completed Dec 22, 2025, 5:36:07 PM
164[0JChecking patch project/plugins.sbt...
165Checking patch build.sbt...
166Applied patch project/plugins.sbt cleanly.
167Applied patch build.sbt cleanly.
168Commit migration rewrites
169Switched to a new branch 'opencb/migrate-source-3.4'
170[opencb/migrate-source-3.4 46c4606] 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-RC4
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-RC4"
186Successfully applied pattern 'val Scala3 = "3.3.6"' in build.sbt
187----
188Starting build for 3.8.0-RC4
189Execute tests: true
190sbt project found:
191No prepare script found for project stryker-mutator/weapon-regex
192##################################
193Scala version: 3.8.0-RC4
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-RC4
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-RC4"
215"++3.8.0-RC4 -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-RC4 """{"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-RC4
230OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in WeaponRegeXJS3/crossScalaVersions
231OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in WeaponRegeXJS3/crossScalaVersions
232OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeX/crossScalaVersions
233OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.16) in WeaponRegeXJS/crossScalaVersions
234OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in WeaponRegeX3/crossScalaVersions
235OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in WeaponRegeX3/crossScalaVersions
236OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in docs3/crossScalaVersions
237OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in docs3/crossScalaVersions
238[info] set current project to repo (in build file:/build/repo/)
239[info] Setting Scala version to 3.8.0-RC4 on 3 projects.
240[info] Switching Scala version on:
241[info] WeaponRegeX3 (3.8.0-RC4)
242[info] docs3 (3.8.0-RC4)
243[info] WeaponRegeXJS3 (3.8.0-RC4)
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 22, 2025, 5:36:23 PM
273Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.6\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
274Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
275Starting build...
276Projects: Set(WeaponRegeX3)
277Starting build for ProjectRef(file:/build/repo/,WeaponRegeX3) (weapon-regex)... [0/1]
278OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
279OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
280OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
281OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
282Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
283[info] compiling 30 Scala sources to /build/repo/core/target/jvm-3/classes ...
284[info] done compiling
285[info] compiling 25 Scala sources to /build/repo/core/target/jvm-3/test-classes ...
286[info] done compiling
287weaponregex.internal.model.regextree.BoundaryNodeTest:
288 + BOL build 0.017s
289 + EOL build 0.003s
290 + Boundary build 0.001s
291weaponregex.internal.model.regextree.RegexTreeTest:
292 + RegexTree build 0.022s
293weaponregex.internal.model.regextree.CapturingNodeTest:
294 + Group build 0.018s
295 + NamedGroup build 0.001s
296 + FlagNCGroup build 0.009s
297 + FlagGroup build 0.002s
298 + Lookaround build 0.002s
299 + AtomicGroup build 0.001s
300weaponregex.internal.mutator.PredefCharClassMutatorTest:
301 + Negates Predefined Character Class 0.093s
302 + Does not mutate (negate) similar characters 0.006s
303 + Nullifies Predefined Character Class 0.009s
304 + Does not mutate (nullify) similar characters 0.012s
305 + Changes Predefined Character Class to Any Char 0.006s
306 + Does not mutate (change) similar characters 0.008s
307 + Negates Unicode Character Class with lone property 0.01s
308 + Negates Unicode Character Class with property and value 0.011s
309weaponregex.internal.model.regextree.LogicalNodeTest:
310 + Concat build 0.001s
311 + Or build 0.0s
312weaponregex.mutator.MutatorTest:
313 + Mutator name is non-empty 0.017s
314 + Mutator description starts with a location 0.004s
315weaponregex.internal.model.regextree.CharacterNodeTest:
316 + Character build a 0.011s
317 + Character build b 0.001s
318 + Any dot build 0.001s
319 + MetaChar build a 0.004s
320 + MetaChar build 0123 0.0s
321weaponregex.internal.mutator.QuantifierMutatorTest:
322 + Removes greedy quantifier 0.03s
323 + Does not remove escaped greedy quantifiers 0.031s
324 + Removes reluctant quantifier 0.009s
325 + Does not remove escaped greedy quantifiers-1 0.029s
326 + Removes possessive quantifier 0.004s
327 + Does not remove escaped possessive quantifiers 0.012s
328 + Changes quantifier {n} 0.006s
329 + Modifies quantifier {n,} 0.003s
330 + QuantifierNOrMoreModification Does not mutate quantifier {n} and {n,m} 0.005s
331 + Changes quantifier {n,} 0.007s
332 + QuantifierNOrMoreChange Does not mutate quantifier {n} and {n,m} 0.001s
333 + Modifies quantifier {n,m} 0.009s
334 + QuantifierNMModification Does not mutate quantifier {n} and {n,} 0.011s
335 + Modifies short quantifier 0.006s
336 + Changes short quantifier 0.007s
337 + Adds reluctant to greedy quantifier 0.009s
338weaponregex.internal.mutator.CapturingMutatorTest:
339 + Changes capturing group to non-capturing group 0.091s
340 + Does not change escaped capturing groups 0.008s
341 + Negates lookaround constructs 0.088s
342weaponregex.mutator.BuiltinMutatorsTest:
343 + Convert to a map by mutator class name 0.004s
344 + Convert to a map by mutation levels 0.003s
345 + Get mutator in a single level 0.001s
346 + Get mutator in a single non-existed level 0.0s
347 + Get mutator in multiple levels 0.002s
348 + Get mutator in multiple levels with some non-existed levels 0.004s
349 + Get mutator in non-existed multiple levels 0.004s
350weaponregex.internal.model.regextree.QuantifierNodeTest:
351 + Quantifier build 0.007s
352 + ZeroOrOne build 0.001s
353 + ZeroOrMore build 0.002s
354 + OneOrMore build 0.004s
355weaponregex.WeaponRegeXTest:
356 + Can mutate without options 0.006s
357 + Can mutate with only mutators as option 0.002s
358 + Can mutate with empty sequence of mutators as option 0.003s
359 + Can mutate with only levels as option 0.009s
360 + Can mutate with unsupported levels as option 0.001s
361 + Can mutate with both mutators and levels as option 0.006s
362 + Returns an empty sequence if there are no mutants 0.002s
363 + Returns a Left with error message if the regex is invalid 0.006s
364weaponregex.internal.model.regextree.QuotationNodeTest:
365 + QuoteChar build 0.0s
366 + QuoteChar build-1 0.001s
367 + Quote build with end 0.001s
368 + Quote build without end 0.003s
369weaponregex.internal.model.regextree.PredefinedCharClassNodeTest:
370 + PredefinedCharClass build 0.001s
371 + PredefinedCharClass build negated 0.0s
372 + UnicodeCharClass with lone property build 0.001s
373 + UnicodeCharClass with property and value build 0.0s
374 + UnicodeCharClass with lone property build negated 0.001s
375 + UnicodeCharClass with lone property build negated-1 0.0s
376weaponregex.internal.mutator.BoundaryMutatorTest:
377 + Removes BOL 0.015s
378 + Does not remove escaped BOL 0.003s
379 + Removes EOL 0.01s
380 + Does not remove escaped EOL 0.008s
381 + Changes BOL to BOI 0.016s
382 + Does not change escaped BOL 0.006s
383 + Changes EOL to EOI 0.015s
384 + Does not change escaped EOL 0.006s
385weaponregex.internal.model.regextree.ReferenceNodeTest:
386 + NameReference build 0.002s
387 + NumberReference build 0.004s
388weaponregex.internal.model.regextree.CharacterClassNodeTest:
389 + CharacterClass build 0.006s
390 + CharacterClassNaked build 0.0s
391 + CharClassIntersection build 0.001s
392 + Range build 0.0s
393weaponregex.internal.mutator.RegexTreeMutatorTest:
394 + Filters mutators with level 1 0.03s
395 + Filters mutators with level 2 0.03s
396 + Filters mutators with level 3 0.031s
397 + Filters mutators with levels 1, 2 0.013s
398 + Filters mutators with levels 2, 3 0.022s
399 + Filters mutators with levels 1, 3 0.02s
400 + Filters mutators with levels 1, 2, 3 0.018s
401 + Filters mutators with unsupported levels 0.001s
402 + Mutates with all mutators by default 0.014s
403 + No filtering is done by default 0.013s
404 + Uses only the given mutators 0.006s
405 + Uses only the given mutators with mutation levels filtering 0.009s
406 + Used empty sequence of mutators 0.001s
407 + Adds correct replacement 0.043s
408 + replacement position is accurate 0.016s
409weaponregex.internal.extension.TokenMutatorExtensionTest:
410 + Filter a single level 0.002s
411 + Filter a single non-existed level 0.0s
412 + Filter multiple levels 0.002s
413 + Filter multiple levels with some non-existed levels 0.002s
414 + Filter non-existed multiple levels 0.0s
415weaponregex.internal.mutator.CharClassMutatorTest:
416 + Negates Character Classes 0.021s
417 + Does not mutate escaped Character Classes 0.003s
418 + Removes children of Character Classes 0.021s
419 + Removes children of Naked Character Classes 0.018s
420 + Does not mutate (remove children) escaped Character Classes 0.005s
421 + Character Class to any char 0.007s
422 + Does not mutate (change to any char) escaped Character Classes 0.004s
423 + Character Class Modify Range [b-y][B-Y][1-8] 0.004s
424 + Character Class Modify Range [a-y][A-Y][0-8] 0.005s
425 + Character Class Modify Range [b-z][B-Z][1-9] 0.005s
426 + Character Class Modify Range [a-z][A-Z][0-9] 0.01s
427 + Character Class Modify Range [b-b][B-B][1-1] 0.007s
428 + Character Class Modify Range [a-a][A-A][0-0] 0.01s
429 + Character Class Modify Range [z-z][Z-Z][9-9] 0.008s
430 + Does not modify non alpha numeric ranges 0.01s
431 + Does not modify ranges with letters and digits mixed 0.011s
432 + Does not mutate (modify range) escaped Character Classes 0.002s
433weaponregex.internal.parser.ParserJSTest:
434 + Parse concat of characters 0.029s
435 + Parse `}` character next to long quantifier 0.002s
436 + Parse `]` character next to character class 0.003s
437 + Parse or of characters 0.006s
438 + Parse or of characters with null children 0.007s
439 + Parse BOL and EOL 0.005s
440 + Parse boundary metacharacters 0.006s
441 + Parse multiple lines with location 0.012s
442 + Parse positive character class with characters 0.007s
443 + Parse negative character class with characters 0.006s
444 + Parse character class with ranges 0.01s
445 + Parse character class with predefined character classes 0.007s
446 + Parse character class with quotes 0.005s
447 + Parse character class with metacharacters 0.01s
448 + Parse character class with special characters 0.011s
449 + Parse escape characters 0.005s
450 + Parse control characters 0.062s
451 + Parse hexadecimal characters 0.004s
452 + Parse octal characters 0.002s
453 + Parse predefined character class 0.002s
454 + Parse short greedy quantifiers 0.006s
455 + Parse short reluctant quantifiers 0.005s
456 + Parse short possessive quantifiers 0.005s
457 + Parse long greedy quantifiers 0.001s
458 + Parse long reluctant quantifiers 0.006s
459 + Parse long possessive quantifiers 0.008s
460 + Unparsable: long quantifier with min > max 0.001s
461 + Parse capturing group 0.03s
462 + Parse nested capturing group 0.095s
463 + Parse named capturing group 0.01s
464 + Parse nested named capturing group 0.079s
465 + Parse non-capturing group 0.009s
466 + Parse nested non-capturing group 0.04s
467 + Parse positive lookahead 0.011s
468 + Parse negative lookahead 0.007s
469 + Parse positive lookbehind 0.007s
470 + Parse negative lookbehind 0.006s
471 + Parse named reference 0.001s
472 + Parse character quote 0.001s
473 + Parser failure at start 0.01s
474 + Parser failure mid-regex 0.002s
475 + Parse complex regular expression 0.036s
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.002s
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.0s
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.001s
487 + Parse `\\u{20}` as Unicode character with the Unicode flag 0.003s
488 + Unparsable: `\\x{20}` with the Unicode flag 0.001s
489 + Unparsable: `\\u20` with the Unicode flag 0.0s
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.003s
492 + Parse character class with Unicode character classes with properties and values, with the Unicode flag 0.003s
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.002s
495 + Parse `\\p{Alpha}` as a character quotation in a character class without the Unicode flag 0.005s
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.002s
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.004s
500 + Parse named capturing group with underscores in name 0.013s
501 + Parse nested named capturing group with underscores in name 0.03s
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.002s
505 + Unparsable: flag toggle group -i 0.001s
506 + Unparsable: flag toggle group - 0.003s
507 + Unparsable: flag toggle group i 0.001s
508 + Unparsable: non-capturing group with flags i-i 0.002s
509 + Unparsable: non-capturing group with flags i- 0.002s
510 + Unparsable: non-capturing group with flags -i 0.001s
511 + Unparsable: non-capturing group with flags - 0.002s
512 + Unparsable: non-capturing group with flags i 0.005s
513 + Unparsable: independent non-capturing group 0.001s
514 + Parse `\\Q\\E` as character quotes 0.003s
515 + Parse `\\Q` as a character quote 0.001s
516 + Parse syntax characters escape with the Unicode flag 0.006s
517 + Unparsable: non-syntax character escape with the Unicode flag 0.001s
518 + Unparsable: long-quantifier-like with nothing preceding 0.001s
519 + Parse `{` 0.003s
520weaponregex.internal.parser.ParserJVMTest:
521 + Parse concat of characters 0.022s
522 + Parse `}` character next to long quantifier 0.012s
523 + Parse `]` character next to character class 0.007s
524 + Parse or of characters 0.004s
525 + Parse or of characters with null children 0.008s
526 + Parse BOL and EOL 0.005s
527 + Parse boundary metacharacters 0.005s
528 + Parse multiple lines with location 0.014s
529 + Parse positive character class with characters 0.008s
530 + Parse negative character class with characters 0.008s
531 + Parse character class with ranges 0.016s
532 + Parse character class with predefined character classes 0.006s
533 + Parse character class with quotes 0.003s
534 + Parse character class with metacharacters 0.008s
535 + Parse character class with special characters 0.03s
536 + Parse escape characters 0.006s
537 + Parse control characters 0.042s
538 + Parse hexadecimal characters 0.007s
539 + Parse octal characters 0.002s
540 + Parse predefined character class 0.001s
541 + Parse short greedy quantifiers 0.004s
542 + Parse short reluctant quantifiers 0.004s
543 + Parse short possessive quantifiers 0.004s
544 + Parse long greedy quantifiers 0.002s
545 + Parse long reluctant quantifiers 0.006s
546 + Parse long possessive quantifiers 0.005s
547 + Unparsable: long quantifier with min > max 0.002s
548 + Parse capturing group 0.031s
549 + Parse nested capturing group 0.057s
550 + Parse named capturing group 0.02s
551 + Parse nested named capturing group 0.099s
552 + Parse non-capturing group 0.009s
553 + Parse nested non-capturing group 0.05s
554 + Parse positive lookahead 0.008s
555 + Parse negative lookahead 0.012s
556 + Parse positive lookbehind 0.012s
557 + Parse negative lookbehind 0.018s
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.003s
562 + Parse complex regular expression 0.049s
563 + Unparsable: empty positive character class `[]` 0.0s
564 + Unparsable: empty negative character class `[^]` 0.001s
565 + Parse character class with nested character classes 0.006s
566 + Parse character class with simple intersection 0.007s
567 + Parse character class with complex intersection 0.002s
568 + Unparsable: more than 2 consecutive `&` inside character class 0.011s
569 + Unparsable: non-hexadecimal values 0.0s
570 + Unparsable: out-of-range code point hexadecimal values 0.001s
571 + Parse character class with Unicode character classes with lone properties 0.006s
572 + Parse character class with Unicode character classes with properties and values 0.004s
573 + Parse Unicode character classes with lone properties 0.001s
574 + Parse Unicode character classes with properties and values 0.002s
575 + Parse flag toggle group i-i 0.009s
576 + Parse flag toggle group i- 0.006s
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.006s
581 + Parse non-capturing group with flags i- 0.006s
582 + Parse non-capturing group with flags -i 0.006s
583 + Parse non-capturing group with flags - 0.006s
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.0s
591
592************************
593Build summary:
594[{
595 "module": "weapon-regex",
596 "compile": {"status": "ok", "tookMs": 19480, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
597 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
598 "test-compile": {"status": "ok", "tookMs": 5053, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
599 "test": {"status": "ok", "tookMs": 1515, "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: 35 s, completed Dec 22, 2025, 5:36:58 PM
607[0JChecking patch project/plugins.sbt...
608Checking patch build.sbt...
609Applied patch project/plugins.sbt cleanly.
610Applied patch build.sbt cleanly.