Build Logs
plokhotnyuk/jsoniter-scala • 3.8.1-RC1:2026-01-13
Errors
183
Warnings
100
Total Lines
1177
1##################################
2Clonning https://github.com/plokhotnyuk/jsoniter-scala.git into /build/repo using revision v2.38.8
3##################################
4Note: switching to '204280e15e5c43b352d9ee9fae245dbfcab04192'.
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
21----
22Preparing build for 3.8.1-RC1
23Scala binary version found: 3.8
24Implicitly using source version 3.8
25Scala binary version found: 3.8
26Implicitly using source version 3.8
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.8
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30----
31Starting build for 3.8.1-RC1
32Execute tests: true
33sbt project found:
34No prepare script found for project plokhotnyuk/jsoniter-scala
35##################################
36Scala version: 3.8.1-RC1
37Targets: com.github.plokhotnyuk.jsoniter-scala%jsoniter-scala-circe com.github.plokhotnyuk.jsoniter-scala%jsoniter-scala-core com.github.plokhotnyuk.jsoniter-scala%jsoniter-scala-macros
38Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":["set every Test/unmanagedSources/excludeFilter := HiddenFileFilter "],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
39##################################
40Using extra scalacOptions: ,REQUIRE:-source:3.8
41Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
42[sbt_options] declare -a sbt_options=()
43[process_args] java_version = '17'
44[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
45# Executing command line:
46java
47-Xmx6g
48-Xss2m
49-XX:+UseG1GC
50-XX:InitialCodeCacheSize=512m
51-XX:ReservedCodeCacheSize=512m
52-Dfile.encoding=UTF8
53-Dcommunitybuild.scala=3.8.1-RC1
54-Dcommunitybuild.project.dependencies.add=
55-Xmx7G
56-Xms4G
57-Xss8M
58-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
59-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
60-jar
61/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
62"setCrossScalaVersions 3.8.1-RC1"
63"++3.8.1-RC1 -v"
64"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
65"set every credentials := Nil"
66"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
67"removeScalacOptionsStartingWith -P:wartremover"
68"set every Test/unmanagedSources/excludeFilter := HiddenFileFilter "
69moduleMappings
70"runBuild 3.8.1-RC1 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":["set every Test/unmanagedSources/excludeFilter := HiddenFileFilter "],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" com.github.plokhotnyuk.jsoniter-scala%jsoniter-scala-circe com.github.plokhotnyuk.jsoniter-scala%jsoniter-scala-core com.github.plokhotnyuk.jsoniter-scala%jsoniter-scala-macros"
71
72[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
73[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
74[info] loading settings for project repo-build-build from sbt-updates.sbt...
75[info] loading project definition from /build/repo/project/project
76[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
77[info] loading project definition from /build/repo/project
78[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
79[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
80[info] Compilation completed in 7.968s.
81[info] done compiling
82[info] loading settings for project jsoniter-scala from build.sbt, release.sbt, version.sbt...
83[info] resolving key references (15839 settings) ...
84[info] set current project to jsoniter-scala (in build file:/build/repo/)
85Execute setCrossScalaVersions: 3.8.1-RC1
86OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-macrosJVM/crossScalaVersions
87OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-circeJS/crossScalaVersions
88OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-macrosNative/crossScalaVersions
89OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-macrosJS/crossScalaVersions
90OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-circeNative/crossScalaVersions
91OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-coreJVM/crossScalaVersions
92OpenCB::Changing crossVersion 3.7.4 -> 3.8.1-RC1 in jsoniter-scala-benchmarkJVM/crossScalaVersions
93OpenCB::Changing crossVersion 3.7.4 -> 3.8.1-RC1 in jsoniter-scala-benchmarkJS/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(3.7.4) -> List(2.13.18) in jsoniter-scala-next-testsNative/crossScalaVersions
95OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-coreNative/crossScalaVersions
96OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-coreJS/crossScalaVersions
97OpenCB::Changing crossVersion 3.3.7 -> 3.8.1-RC1 in jsoniter-scala-circeJVM/crossScalaVersions
98OpenCB::Limitting incorrect crossVersions List(3.7.4) -> List(2.13.18) in jsoniter-scala-next-testsJVM/crossScalaVersions
99OpenCB::Limitting incorrect crossVersions List(3.7.4) -> List(2.13.18) in jsoniter-scala-next-testsJS/crossScalaVersions
100OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.18) in jsoniter-scala/crossScalaVersions
101[info] set current project to jsoniter-scala (in build file:/build/repo/)
102[info] Setting Scala version to 3.8.1-RC1 on 11 projects.
103[info] Switching Scala version on:
104[info] jsoniter-scala-circeJS (3.8.1-RC1, 2.13.18, 2.12.21)
105[info] jsoniter-scala-benchmarkJVM (3.8.1-RC1, 2.13.18)
106[info] jsoniter-scala-circeJVM (3.8.1-RC1, 2.13.18, 2.12.21)
107[info] jsoniter-scala-macrosNative (3.8.1-RC1, 2.13.18, 2.12.21)
108[info] jsoniter-scala-coreJVM (3.8.1-RC1, 2.13.18, 2.12.21)
109[info] jsoniter-scala-circeNative (3.8.1-RC1, 2.13.18, 2.12.21)
110[info] jsoniter-scala-coreNative (3.8.1-RC1, 2.13.18, 2.12.21)
111[info] jsoniter-scala-coreJS (3.8.1-RC1, 2.13.18, 2.12.21)
112[info] jsoniter-scala-benchmarkJS (3.8.1-RC1, 2.13.18)
113[info] jsoniter-scala-macrosJS (3.8.1-RC1, 2.13.18, 2.12.21)
114[info] jsoniter-scala-macrosJVM (3.8.1-RC1, 2.13.18, 2.12.21)
115[info] Excluding projects:
116[info] jsoniter-scala-next-testsJVM (2.13.18)
117[info] jsoniter-scala-next-testsJS (2.13.18)
118[info] * jsoniter-scala (2.13.18)
119[info] jsoniter-scala-next-testsNative (2.13.18)
120[info] Reapplying settings...
121[info] set current project to jsoniter-scala (in build file:/build/repo/)
122Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
123[info] Reapplying settings...
124[info] set current project to jsoniter-scala (in build file:/build/repo/)
125[info] Defining Global / credentials, credentials and 13 others.
126[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 89 others.
127[info] Run `last` for details.
128[info] Reapplying settings...
129[info] set current project to jsoniter-scala (in build file:/build/repo/)
130Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
131[info] Reapplying settings...
132OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
133
134 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
135 Did you mean jsoniter-scala-next-testsJVM / allExcludeDependencies ?
136 , retry without global scopes
137[info] Reapplying settings...
138[info] set current project to jsoniter-scala (in build file:/build/repo/)
139Execute removeScalacOptionsStartingWith: -P:wartremover
140[info] Reapplying settings...
141[info] set current project to jsoniter-scala (in build file:/build/repo/)
142[info] Defining Global / excludeFilter
143[info] The new value will be used by Compile / unmanagedJars, Compile / unmanagedResources / fileInputs and 105 others.
144[info] Run `last` for details.
145[info] Reapplying settings...
146[info] set current project to jsoniter-scala (in build file:/build/repo/)
147[success] Total time: 0 s, completed Jan 13, 2026, 7:50:11 PM
148Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":["set every Test/unmanagedSources/excludeFilter := HiddenFileFilter "],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
149Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
150Starting build...
151Projects: Set(jsoniter-scala-circeJVM, jsoniter-scala-coreJVM, jsoniter-scala-macrosJVM)
152Starting build for ProjectRef(file:/build/repo/,jsoniter-scala-circeJVM) (jsoniter-scala-circe)... [0/3]
153OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
154OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
155OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
156OpenCB::Filter out '-source:3.3', matches setting pattern '^-?-source(:.*)?'
157Compile scalacOptions: -encoding, UTF-8, -unchecked, -Xmacro-settings:none, -Xcheck-macros, -explain, -Wconf:msg=Ignoring [this] qualifier.:s, -Wconf:msg=Implicit parameters should be provided with a `using` clause:s, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
158[info] compiling 8 Scala sources and 1 Java source to /build/repo/jsoniter-scala-core/jvm/target/scala-3.8.1-RC1/classes ...
159[warn] there were 7 deprecation warnings; re-run with -deprecation for details
160[warn] one warning found
161[info] done compiling
162[info] compiling 4 Scala sources to /build/repo/jsoniter-scala-circe/jvm/target/scala-3.8.1-RC1/classes ...
163[warn] there was 1 deprecation warning; re-run with -deprecation for details
164[warn] one warning found
165[info] done compiling
166[info] compiling 2 Scala sources to /build/repo/jsoniter-scala-circe/jvm/target/scala-3.8.1-RC1/test-classes ...
167[info] done compiling
168[info] JsoniterScalaCodecSpec:
169[info] JsoniterScalaCodec.jsonCodec
170[info] - should deserialize json (130 milliseconds)
171[info] - should not deserialize invalid json (4 milliseconds)
172[info] - should not deserialize deeply nested json (2 milliseconds)
173[info] - should allow customization for number parsing (1 millisecond)
174[info] - should serialize json (4 milliseconds)
175[info] - should allow customization for number serialization (1 millisecond)
176[info] - should not serialize invalid json (1 millisecond)
177[info] - should not serialize deeply nested json (4 milliseconds)
178[info] - should allow filtering for key-value serialization (1 millisecond)
179[info] - should deserialize a single big number (1 millisecond)
180[info] - should deserialize big numbers (1 millisecond)
181[info] - should serialize numbers (0 milliseconds)
182[info] CirceCodecsSpec:
183[info] CirceCodecsSpec codecs
184[info] - should decode and encode Byte (537 milliseconds)
185[info] - should decode and encode Short (220 milliseconds)
186[info] - should decode and encode Int (122 milliseconds)
187[info] - should decode and encode Long (95 milliseconds)
188[info] - should decode and encode Float (160 milliseconds)
189[info] - should decode and encode Double (116 milliseconds)
190[info] - should decode and encode BigInt (191 milliseconds)
191[info] - should decode and encode BigDecimal (191 milliseconds)
192[info] - should decode and encode Duration (3 milliseconds)
193[info] - should decode and encode Instant (0 milliseconds)
194[info] - should decode and encode LocalDate (0 milliseconds)
195[info] - should decode and encode LocalDateTime (0 milliseconds)
196[info] - should decode and encode LocalTime (0 milliseconds)
197[info] - should decode and encode MonthDay (1 millisecond)
198[info] - should decode and encode OffsetDateTime (0 milliseconds)
199[info] - should decode and encode OffsetTime (1 millisecond)
200[info] - should decode and encode Period (1 millisecond)
201[info] - should decode and encode YearMonth (1 millisecond)
202[info] - should decode and encode Year (1 millisecond)
203[info] - should decode and encode ZonedDateTime (1 millisecond)
204Starting build for ProjectRef(file:/build/repo/,jsoniter-scala-coreJVM) (jsoniter-scala-core)... [1/3]
205Compile scalacOptions: -encoding, UTF-8, -unchecked, -Xmacro-settings:none, -Xcheck-macros, -explain, -Wconf:msg=Ignoring [this] qualifier.:s, -Wconf:msg=Implicit parameters should be provided with a `using` clause:s, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
206[info] compiling 7 Scala sources to /build/repo/jsoniter-scala-core/jvm/target/scala-3.8.1-RC1/test-classes ...
207[info] done compiling
208[info] SerializationSpec:
209[info] JsonValueCodec
210[info] - should be serializable (80 milliseconds)
211[info] JsonKeyCodec
212[info] - should be serializable (33 milliseconds)
213[info] ReaderConfig
214[info] - should be serializable (4 milliseconds)
215[info] WriterConfig
216[info] - should be serializable (9 milliseconds)
217[info] PackageSpec:
218[info] readFromStream and readFromStreamReentrant
219[info] - should parse JSON from the provided input stream (34 milliseconds)
220[info] - should throw JsonParseException if cannot parse input with message containing input offset & hex dump of affected part (1 millisecond)
221[info] - should optionally throw JsonParseException if there are remaining non-whitespace characters (1 millisecond)
222[info] - should throw NullPointerException in case of the provided params are null (1 millisecond)
223[info] readFromArray and readFromArrayReentrant
224[info] - should parse JSON from the byte array (1 millisecond)
225[info] - should throw JsonParseException if cannot parse input with message containing input offset & hex dump of affected part (1 millisecond)
226[info] - should optionally throw JsonParseException if there are remaining non-whitespace characters (1 millisecond)
227[info] - should throw NullPointerException in case of the provided params are null (1 millisecond)
228[info] readFromSubArray and readFromSubArrayReentrant
229[info] - should parse JSON from the byte array within specified positions (1 millisecond)
230[info] - should throw JsonReaderException if cannot parse input with message containing input offset & hex dump of affected part (0 milliseconds)
231[info] - should optionally throw JsonReaderException if there are remaining non-whitespace characters (37 milliseconds)
232[info] - should throw ArrayIndexOutOfBoundsException or NullPointerException in case of the provided params are invalid or null (5 milliseconds)
233[info] readFromByteBuffer and readFromByteBufferReentrant
234[info] - should parse JSON from the current position of the provided direct byte buffer (2 milliseconds)
235[info] - should parse JSON from the current position of the provided array based byte buffer (1 millisecond)
236[info] - should throw JsonReaderException if cannot parse input with message containing input offset & hex dump of affected part of the direct byte buffer (5 milliseconds)
237[info] - should throw JsonReaderException if cannot parse input with message containing input offset & hex dump of affected part the array based byte buffer (1 millisecond)
238[info] - should optionally throw JsonReaderException if there are remaining non-whitespace characters (1 millisecond)
239[info] - should throw NullPointerException in case of the provided params are null (1 millisecond)
240[info] scanValueStream and scanValueStreamReentrant
241[info] - should scan JSON values from the provided input stream (4 milliseconds)
242[info] - should scanning of JSON values can be interrupted by returning `false` from the consumer (4 milliseconds)
243[info] - should throw NullPointerException in case of the provided params are null (1 millisecond)
244[info] scanArray and scanArrayReentrant
245[info] - should scan values of JSON array from the provided input stream (6 milliseconds)
246[info] - should scanning of JSON array values can be interrupted by returning `false` from the consumer (1 millisecond)
247[info] - should scan null value from the provided input stream (0 milliseconds)
248[info] - should optionally throw JsonReaderException if there are remaining non-whitespace characters (4 milliseconds)
249[info] - should throw a parse exception in case of JSON array is not closed properly (10 milliseconds)
250[info] - should throw a parse exception in case of input isn't JSON array or null (1 millisecond)
251[info] - should throw NullPointerException in case of the provided params are null (7 milliseconds)
252[info] readFromString and readFromStringReentrant
253[info] - should parse JSON from the byte array (0 milliseconds)
254[info] - should throw JsonReaderException if cannot parse input with message containing input offset & hex dump of affected part (1 millisecond)
255[info] - should size of the hex dump can be altered to have more lines (2 milliseconds)
256[info] - should optionally throw JsonReaderException if there are remaining non-whitespace characters (13 milliseconds)
257[info] - should throw NullPointerException in case of the provided params are null (1 millisecond)
258[info] writeToStream and writeToStreamReentrant
259[info] - should serialize an object to the provided output stream (14 milliseconds)
260[info] - should correctly write large data sets with BigDecimals to the provided output stream (28 milliseconds)
261[info] - should throw NullPointerException in case of the provided params are null (2 milliseconds)
262[info] writeToArray and writeToArrayReentrant
263[info] - should serialize an object to a new instance of byte array (0 milliseconds)
264[info] - should throw NullPointerException in case of the provided params are null (1 millisecond)
265[info] writeToSubArray and writeToSubArrayReentrant
266[info] - should serialize an object to the provided byte array from specified position (1 millisecond)
267[info] - should throw ArrayIndexOutOfBoundsException in case of the provided byte array is overflown during serialization (1 millisecond)
268[info] - should throw ArrayIndexOutOfBoundsException or NullPointerException in case of the provided params are invalid or null (5 milliseconds)
269[info] writeToByteBuffer and writeToByteBufferReentrant
270[info] - should serialize an object to the provided direct byte buffer from the current position (20 milliseconds)
271[info] - should serialize an object to the provided array-based byte buffer from the current position (6 milliseconds)
272[info] - should throw BufferOverflowException in case of the provided byte buffer is overflown during serialization (5 milliseconds)
273[info] - should throw ReadOnlyBufferException in case of the provided byte buffer is read-only (14 milliseconds)
274[info] - should throw NullPointerException in case of the provided params are null (3 milliseconds)
275[info] writeToString and writeToStringReentrant
276[info] - should serialize an object to a string (0 milliseconds)
277[info] - should throw NullPointerException in case of the provided params are null (1 millisecond)
278[info] JsonWriterSpec:
279[info] WriterConfig.<init>
280[info] - should have handy defaults (12 milliseconds)
281[info] - should throw exception in case for unsupported values of params (8 milliseconds)
282[info] JsonWriter.isNonEscapedAscii
283[info] - should return false for all escaped ASCII or non-ASCII chars (393 milliseconds)
284[info] JsonWriter.writeVal and JsonWriter.writeValAsString and and JsonWriter.writeKey for boolean
285[info] - should write valid true and false values (3 milliseconds)
286[info] JsonWriter.writeNonEscapedAsciiVal and JsonWriter.writeNonEscapedAsciiKey
287[info] - should don't write null value (1 millisecond)
288[info] - should write string of Ascii chars which should not be escaped (410 milliseconds)
289[info] JsonWriter.writeVal and JsonWriter.writeKey for UUID
290[info] - should don't write null value (1 millisecond)
291[info] - should write UUID as a string representation according to format that defined in IETF RFC4122 (section 3) (110 milliseconds)
292[info] JsonWriter.writeVal and JsonWriter.writeKey for Duration
293[info] - should don't write null value (1 millisecond)
294[info] - should write Duration as a string representation according to ISO-8601 format (83 milliseconds)
295[info] JsonWriter.writeVal and JsonWriter.writeKey for Instant
296[info] - should don't write null value (1 millisecond)
297[info] - should write Instant as a string representation according to ISO-8601 format (159 milliseconds)
298[info] JsonWriter.writeVal and JsonWriter.writeKey for LocalDate
299[info] - should don't write null value (1 millisecond)
300[info] - should write LocalDate as a string representation according to ISO-8601 format (99 milliseconds)
301[info] JsonWriter.writeVal and JsonWriter.writeKey for LocalDateTime
302[info] - should don't write null value (1 millisecond)
303[info] - should write LocalDateTime as a string representation according to ISO-8601 format (137 milliseconds)
304[info] JsonWriter.writeVal and JsonWriter.writeKey for LocalTime
305[info] - should don't write null value (1 millisecond)
306[info] - should write LocalTime as a string representation according to ISO-8601 format (82 milliseconds)
307[info] JsonWriter.writeVal and JsonWriter.writeKey for MonthDay
308[info] - should don't write null value (1 millisecond)
309[info] - should write MonthDay as a string representation according to ISO-8601 format (49 milliseconds)
310[info] JsonWriter.writeVal and JsonWriter.writeKey for OffsetDateTime
311[info] - should don't write null value (1 millisecond)
312[info] - should write OffsetDateTime as a string representation according to ISO-8601 format (176 milliseconds)
313[info] JsonWriter.writeVal and JsonWriter.writeKey for OffsetTime
314[info] - should don't write null value (2 milliseconds)
315[info] - should write OffsetTime as a string representation according to ISO-8601 format (156 milliseconds)
316[info] JsonWriter.writeVal and JsonWriter.writeKey for Period
317[info] - should don't write null value (1 millisecond)
318[info] - should write Period as a string representation according to ISO-8601 format (75 milliseconds)
319[info] JsonWriter.writeVal and JsonWriter.writeKey for Year
320[info] - should don't write null value (1 millisecond)
321[info] - should write Year as a string representation according to ISO-8601 format (36 milliseconds)
322[info] JsonWriter.writeVal and JsonWriter.writeKey for YearMonth
323[info] - should don't write null value (2 milliseconds)
324[info] - should write YearMonth as a string representation according to ISO-8601 format (46 milliseconds)
325[info] JsonWriter.writeVal and JsonWriter.writeKey for ZonedDateTime
326[info] - should don't write null value (1 millisecond)
327[info] - should write ZonedDateTime as a string representation according to ISO-8601 format with optional IANA timezone identifier in JDK format (202 milliseconds)
328[info] JsonWriter.writeVal and JsonWriter.writeKey for ZoneOffset
329[info] - should don't write null value (1 millisecond)
330[info] - should write ZoneOffset as a string representation according to ISO-8601 format (45 milliseconds)
331[info] JsonWriter.writeVal and JsonWriter.writeKey for ZoneId
332[info] - should don't write null value (2 milliseconds)
333[info] - should write ZoneId as a string representation according to ISO-8601 format for timezone offset or JDK format for IANA timezone identifier (42 milliseconds)
334[info] JsonWriter.writeVal and JsonWriter.writeKey for string
335[info] - should don't write null value (2 milliseconds)
336[info] - should write string of Unicode chars which are non-surrogate and should not be escaped (170 milliseconds)
337[info] - should write strings with chars that should be escaped (289 milliseconds)
338[info] - should write strings with escaped Unicode chars when it is specified by provided writer config (220 milliseconds)
339[info] - should write strings with valid character surrogate pair (130 milliseconds)
340[info] - should write string with mixed Latin-1 characters when escaping of Unicode chars is turned on (0 milliseconds)
341[info] - should write string with mixed UTF-8 characters when escaping of Unicode chars is turned off (0 milliseconds)
342[info] - should throw i/o exception in case of illegal character surrogate pair (16 milliseconds)
343[info] JsonWriter.writeVal and JsonWriter.writeKey for char
344[info] - should write string with Unicode chars which are non-surrogate or should not be escaped (53 milliseconds)
345[info] - should write string with chars that should be escaped (95 milliseconds)
346[info] - should write string with escaped Unicode chars when it is specified by provided writer config (53 milliseconds)
347[info] - should throw i/o exception in case of surrogate pair character (2 milliseconds)
348[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for byte
349[info] - should write any short values (11 milliseconds)
350[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for short
351[info] - should write any short values (53 milliseconds)
352[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for int
353[info] - should write any int values (65 milliseconds)
354[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for long
355[info] - should write any long values (151 milliseconds)
356[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for float
357[info] - should write finite float values (446 milliseconds)
358[info] - should write float values exactly as expected (1 millisecond)
359[info] - should write round-even float values (1 millisecond)
360[info] - should throw i/o exception on non-finite numbers (3 milliseconds)
361[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for double
362[info] - should write finite double values (569 milliseconds)
363[info] - should write double values exactly as expected (1 millisecond)
364[info] - should write round-even double values (1 millisecond)
365[info] - should throw i/o exception on non-finite numbers (3 milliseconds)
366[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for BigInt
367[info] - should don't write null value (1 millisecond)
368[info] - should write number values (573 milliseconds)
369[info] JsonWriter.writeVal for a timestamp
370[info] - should write timestamp values (70 milliseconds)
371[info] - should throw i/o exception for illegal nanos (4 milliseconds)
372[info] JsonWriter.writeVal and JsonWriter.writeValAsString and JsonWriter.writeKey for BigDecimal
373[info] - should don't write null value (1 millisecond)
374[info] - should write number values (654 milliseconds)
375[info] JsonWriter.writeBase16Val
376[info] - should don't write null value (1 millisecond)
377[info] - should write bytes as Base16 string according to format that defined in RFC4648 (118 milliseconds)
378[info] JsonWriter.writeBase64Val and JsonWriter.writeBase64UrlVal
379[info] - should don't write null value (2 milliseconds)
380[info] - should write bytes as Base64 string according to format that defined in RFC4648 (167 milliseconds)
381[info] JsonWriter.writeRawVal
382[info] - should don't write null value (1 millisecond)
383[info] - should write raw bytes as is (65 milliseconds)
384[info] JsonWriter.writeNull
385[info] - should write null value (1 millisecond)
386[info] JsonWriter.writeArrayStart and JsonWriter.writeArrayEnd
387[info] - should allow to write an empty JSON array (0 milliseconds)
388[info] - should allow to write a compact JSON array with values separated by comma (1 millisecond)
389[info] - should allow to write a prettified JSON array with values separated by comma (2 milliseconds)
390[info] JsonWriter.writeObjectStart and JsonWriter.writeObjectEnd
391[info] - should allow to write an empty JSON object (0 milliseconds)
392[info] - should allow to write a compact JSON array with key/value pairs separated by comma (0 milliseconds)
393[info] - should allow to write a prettified JSON array with key/value pairs separated by comma (1 millisecond)
394[info] JsonReaderSpec:
395[info] ReaderConfig.<init>
396[info] - should have safe and handy defaults (0 milliseconds)
397[info] - should throw exception in case for unsupported values of params (7 milliseconds)
398[info] JsonReader.toHashCode
399[info] - should produce the same hash value for strings as JDK by default (534 milliseconds)
400[info] - should produce 0 hash value when the provided 'len' isn't greater than 0 (348 milliseconds)
401[info] - should throw exception in case null value for the char array is provided (0 milliseconds)
402[info] - should throw exception in case the char array length is less than the provided 'len' (1 millisecond)
403[info] JsonReader.skip
404[info] - should skip string values (10 milliseconds)
405[info] - should throw parsing exception when skipping string that is not closed by parentheses (1 millisecond)
406[info] - should skip string values with escaped characters (3 milliseconds)
407[info] - should skip number values (4 milliseconds)
408[info] - should skip boolean values (2 milliseconds)
409[info] - should throw parsing exception when skipping truncated boolean value (0 milliseconds)
410[info] - should skip null values (1 millisecond)
411[info] - should skip object values (3 milliseconds)
412[info] - should throw parsing exception when skipping not closed object (0 milliseconds)
413[info] - should skip array values (2 milliseconds)
414[info] - should throw parsing exception when skipping not closed array (0 milliseconds)
415[info] - should skip mixed values (2 milliseconds)
416[info] - should throw parsing exception when skipping not from start of JSON value (1 millisecond)
417[info] JsonReader.skipWhitespaces
418[info] - should be visible in the jsoniter_scala package (2 milliseconds)
419[info] JsonReader.endOfInputOrError
420[info] - should be visible in the jsoniter_scala package (3 milliseconds)
421[info] JsonReader.readRawValueAsBytes
422[info] - should read raw values (1 millisecond)
423[info] - should throw parsing exception when reading string that is not closed by parentheses (1 millisecond)
424[info] - should read raw string values with escaped characters (1 millisecond)
425[info] - should read raw number values (1 millisecond)
426[info] - should read raw boolean values (1 millisecond)
427[info] - should throw parsing exception when reading truncated boolean value (0 milliseconds)
428[info] - should read raw null values (0 milliseconds)
429[info] - should read raw object values (1 millisecond)
430[info] - should throw parsing exception when reading not closed object (1 millisecond)
431[info] - should read raw array values (1 millisecond)
432[info] - should throw parsing exception when reading not closed array (0 milliseconds)
433[info] - should read raw mixed values (0 milliseconds)
434[info] - should throw parsing exception when reading not from start of JSON value (1 millisecond)
435[info] JsonReader.nextByte
436[info] - should return next byte of input (1 millisecond)
437[info] - should throw parse exception in case of end of input (0 milliseconds)
438[info] JsonReader.nextToken
439[info] - should find next non-whitespace byte of input (1 millisecond)
440[info] - should throw parse exception in case of end of input (0 milliseconds)
441[info] JsonReader.isNextToken
442[info] - should return true in case of the next parsed token matches with provided one (0 milliseconds)
443[info] - should throw parse exception in case of end of input (0 milliseconds)
444[info] JsonReader.isCurrentToken
445[info] - should return true in case of the recently parsed token matches with provided one (0 milliseconds)
446[info] - should throw exception in case of isCurrentToken was called before nextToken or isNextToken (0 milliseconds)
447[info] JsonReader.hasRemaining
448[info] - should return true in case of at least one byte can be read from the input (0 milliseconds)
449[info] JsonReader.readANullOrError
450[info] - should parse null value (0 milliseconds)
451[info] - should throw parse exception in case of invalid null value (14 milliseconds)
452[info] - should throw array index out-of-bounds exception in case of call without preceding call of 'nextToken()' or 'isNextToken()' (1 millisecond)
453[info] JsonReader.readNullOrTokenError
454[info] - should parse null value (0 milliseconds)
455[info] - should throw parse exception in case of invalid null value (11 milliseconds)
456[info] - should throw array index out-of-bounds exception in case of call without preceding call of 'nextToken()' or 'isNextToken()' (1 millisecond)
457[info] JsonReader.rollbackToken
458[info] - should rollback of reading last byte of input (0 milliseconds)
459[info] - should throw array index out-of-bounds exception in case of missing preceding call of 'nextToken()' or 'isNextToken()' (1 millisecond)
460[info] JsonReader.readBoolean, JsonReader.readStringAsBoolean and JsonReader.readKeyAsBoolean
461[info] - should parse valid true and false values (1 millisecond)
462[info] - should throw parsing exception for empty input and illegal or broken value (69 milliseconds)
463[info] JsonReader.readKeyAsUUID
464[info] - should throw parsing exception for missing ':' in the end (1 millisecond)
465[info] JsonReader.readUUID and JsonReader.readKeyAsUUID
466[info] - should don't parse null value (1 millisecond)
467[info] - should return supplied default value instead of null value (0 milliseconds)
468[info] - should parse UUID from a string representation according to format that defined in IETF RFC4122 (section 3) (229 milliseconds)
469[info] - should throw parsing exception for empty input and illegal or broken UUID string (176 milliseconds)
470[info] JsonReader.readBase16AsBytes
471[info] - should don't parse null value (1 millisecond)
472[info] - should return supplied default value instead of null value (2 milliseconds)
473[info] - should parse Base16 representation according to format that defined in RFC4648 (326 milliseconds)
474[info] - should throw parsing exception for empty input and illegal or too long Base16 string (147 milliseconds)
475[info] JsonReader.readBase64AsBytes and JsonReader.readBase64UrlAsBytes
476[info] - should don't parse null value (1 millisecond)
477[info] - should return supplied default value instead of null value (0 milliseconds)
478[info] - should parse Base64 representation according to format that defined in RFC4648 (245 milliseconds)
479[info] - should throw parsing exception for empty input and illegal or too long base64 string (181 milliseconds)
480[info] JsonReader.readDuration and JsonReader.readKeyAsDuration
481[info] - should don't parse null value (1 millisecond)
482[info] - should return supplied default value instead of null value (0 milliseconds)
483[info] - should parse Duration from a string representation according to JDK format that is based on ISO-8601 format (77 milliseconds)
484[info] - should throw parsing exception for empty input and illegal or broken Duration string (3 milliseconds)
485[info] JsonReader.readInstant and JsonReader.readKeyAsInstant
486[info] - should don't parse null value (0 milliseconds)
487[info] - should return supplied default value instead of null value (0 milliseconds)
488[info] - should parse Instant from a string representation according to ISO-8601 format (257 milliseconds)
489[info] - should throw parsing exception for empty input and illegal or broken Instant string (126 milliseconds)
490[info] JsonReader.readLocalDate and JsonReader.readKeyAsLocalDate
491[info] - should don't parse null value (1 millisecond)
492[info] - should return supplied default value instead of null value (1 millisecond)
493[info] - should parse LocalDate from a string representation according to ISO-8601 format (68 milliseconds)
494[info] - should throw parsing exception for empty input and illegal or broken LocalDate string (79 milliseconds)
495[info] JsonReader.readLocalDateTime and JsonReader.readKeyAsLocalDateTime
496[info] - should don't parse null value (1 millisecond)
497[info] - should return supplied default value instead of null value (1 millisecond)
498[info] - should parse LocalDateTime from a string representation according to ISO-8601 format (200 milliseconds)
499[info] - should throw parsing exception for empty input and illegal or broken LocalDateTime string (160 milliseconds)
500[info] JsonReader.readLocalTime and JsonReader.readKeyAsLocalTime
501[info] - should don't parse null value (1 millisecond)
502[info] - should return supplied default value instead of null value (0 milliseconds)
503[info] - should parse LocalTime from a string representation according to ISO-8601 format (140 milliseconds)
504[info] - should throw parsing exception for empty input and illegal or broken LocalTime string (43 milliseconds)
505[info] JsonReader.readMonthDay and JsonReader.readKeyAsMonthDay
506[info] - should don't parse null value (1 millisecond)
507[info] - should return supplied default value instead of null value (1 millisecond)
508[info] - should parse MonthDay from a string representation according to ISO-8601 format (48 milliseconds)
509[info] - should throw parsing exception for empty input and illegal or broken LocalDateTime string (30 milliseconds)
510[info] JsonReader.readOffsetDateTime and JsonReader.readKeyAsOffsetDateTime
511[info] - should don't parse null value (0 milliseconds)
512[info] - should return supplied default value instead of null value (0 milliseconds)
513[info] - should parse OffsetDateTime from a string representation according to ISO-8601 format (180 milliseconds)
514[info] - should throw parsing exception for empty input and illegal or broken OffsetDateTime string (178 milliseconds)
515[info] JsonReader.readOffsetTime and JsonReader.readKeyAsOffsetTime
516[info] - should don't parse null value (1 millisecond)
517[info] - should return supplied default value instead of null value (0 milliseconds)
518[info] - should parse OffsetTime from a string representation according to ISO-8601 format (146 milliseconds)
519[info] - should throw parsing exception for empty input and illegal or broken OffsetTime string (130 milliseconds)
520[info] JsonReader.readPeriod and JsonReader.readKeyAsPeriod
521[info] - should don't parse null value (1 millisecond)
522[info] - should return supplied default value instead of null value (0 milliseconds)
523[info] - should parse Period from a string representation according to JDK format that is based on ISO-8601 format (803 milliseconds)
524[info] - should throw parsing exception for empty input and illegal or broken Period string (3 milliseconds)
525[info] JsonReader.readYear and JsonReader.readKeyAsYear
526[info] - should don't parse null value (0 milliseconds)
527[info] - should return supplied default value instead of null value (0 milliseconds)
528[info] - should parse Year from a string representation according to ISO-8601 format (30 milliseconds)
529[info] - should throw parsing exception for empty input and illegal or broken Year string (32 milliseconds)
530[info] JsonReader.readYearMonth and JsonReader.readKeyAsYearMonth
531[info] - should don't parse null value (1 millisecond)
532[info] - should return supplied default value instead of null value (0 milliseconds)
533[info] - should parse YearMonth from a string representation according to ISO-8601 format (46 milliseconds)
534[info] - should throw parsing exception for empty input and illegal or broken YearMonth string (45 milliseconds)
535[info] JsonReader.readZonedDateTime and JsonReader.readKeyAsZonedDateTime
536[info] - should don't parse null value (0 milliseconds)
537[info] - should return supplied default value instead of null value (2 milliseconds)
538[info] - should parse ZonedDateTime from a string representation according to ISO-8601 format with optional IANA timezone identifier in JDK format (20 milliseconds)
539[info] - should throw parsing exception for empty input and illegal or broken ZonedDateTime string (79 milliseconds)
540[info] JsonReader.readZoneId and JsonReader.readKeyAsZoneId
541[info] - should don't parse null value (1 millisecond)
542[info] - should return supplied default value instead of null value (0 milliseconds)
543[info] - should parse ZoneId from a string representation according to ISO-8601 format for timezone offset or JDK format for IANA timezone identifier (8 milliseconds)
544[info] - should throw parsing exception for empty input and illegal or broken ZoneId string (7 milliseconds)
545[info] JsonReader.readZoneOffset and JsonReader.readKeyAsZoneOffset
546[info] - should don't parse null value (0 milliseconds)
547[info] - should return supplied default value instead of null value (1 millisecond)
548[info] - should parse ZoneOffset from a string representation according to ISO-8601 format (42 milliseconds)
549[info] - should throw parsing exception for empty input and illegal or broken ZoneOffset string (35 milliseconds)
550[info] JsonReader.isCharBufEqualsTo
551[info] - should return true when content of internal char buffer for the specified length is equal to the provided string (240 milliseconds)
552[info] - should throw exception for null value of string to compare (1 millisecond)
553[info] JsonReader.readKeyAsString
554[info] - should throw parsing exception for missing ':' in the end (0 milliseconds)
555[info] JsonReader.readString, JsonReader.readStringAsCharBuf and JsonReader.readKeyAsString
556[info] - should don't parse null value (1 millisecond)
557[info] - should return supplied default value instead of null value (0 milliseconds)
558[info] - should parse string with Unicode chars which are not escaped and are non-surrogate (95 milliseconds)
559[info] - should parse string with valid surrogate pairs (60 milliseconds)
560[info] - should parse escaped chars of string value (1 millisecond)
561[info] - should parse string with hexadecimal escaped chars which are non-surrogate (142 milliseconds)
562[info] - should parse string with hexadecimal escaped chars which are valid surrogate pairs (68 milliseconds)
563[info] - should throw parsing exception for control chars that must be escaped (4 milliseconds)
564[info] - should throw parsing exception for empty input and illegal or broken string (1 millisecond)
565[info] - should throw parsing exception for boolean values & numbers (1 millisecond)
566[info] - should throw parsing exception in case of illegal escape sequence (2 milliseconds)
567[info] - should throw parsing exception in case of illegal byte sequence (1 millisecond)
568[info] - should throw parsing exception for too long strings (113 milliseconds)
569[info] JsonReader.readKeyAsChar
570[info] - should throw parsing exception for missing ':' in the end (1 millisecond)
571[info] JsonReader.readChar and JsonReader.readKeyAsChar
572[info] - should parse Unicode char that is not escaped and is non-surrogate from string with length == 1 (60 milliseconds)
573[info] - should parse escaped chars of string value (1 millisecond)
574[info] - should parse hexadecimal escaped chars which are non-surrogate (59 milliseconds)
575[info] - should throw parsing exception for string with length > 1 (3 milliseconds)
576[info] - should throw parsing exception for control chars that must be escaped (2 milliseconds)
577[info] - should throw parsing exception for empty input and illegal or broken string (1 millisecond)
578[info] - should throw parsing exception for null, boolean values & numbers (0 milliseconds)
579[info] - should throw parsing exception in case of illegal escape sequence (1 millisecond)
580[info] - should throw parsing exception in case of illegal byte sequence (1 millisecond)
581[info] JsonReader.readByte, JsonReader.readKeyAsByte and JsonReader.readStringAsByte
582[info] - should parse valid byte values (37 milliseconds)
583[info] - should parse keys and strigified values with leading zeros (38 milliseconds)
584[info] - should throw parsing exception on valid number values with '.', 'e', 'E' chars (1 millisecond)
585[info] - should throw parsing exception on illegal or empty input (1 millisecond)
586[info] - should throw parsing exception on byte overflow (0 milliseconds)
587[info] - should throw parsing exception on leading zero (0 milliseconds)
588[info] JsonReader.readShort, JsonReader.readKeyAsShort and JsonReader.readStringAsShort
589[info] - should parse valid short values (38 milliseconds)
590[info] - should parse keys and strigified values with leading zeros (14 milliseconds)
591[info] - should throw parsing exception on valid number values with '.', 'e', 'E' chars (1 millisecond)
592[info] - should throw parsing exception on illegal or empty input (0 milliseconds)
593[info] - should throw parsing exception on short overflow (1 millisecond)
594[info] - should throw parsing exception on leading zero (0 milliseconds)
595[info] JsonReader.readInt, JsonReader.readKeyAsInt and JsonReader.readStringAsInt
596[info] - should parse valid int values (38 milliseconds)
597[info] - should parse keys and strigified values with leading zeros (21 milliseconds)
598[info] - should throw parsing exception on valid number values with '.', 'e', 'E' chars (1 millisecond)
599[info] - should throw parsing exception on illegal or empty input (0 milliseconds)
600[info] - should throw parsing exception on int overflow (1 millisecond)
601[info] - should throw parsing exception on leading zero (0 milliseconds)
602[info] JsonReader.readLong, JsonReader.readKeyAsLong and JsonReader.readStringAsLong
603[info] - should parse valid long values (55 milliseconds)
604[info] - should parse keys and strigified values with leading zeros (18 milliseconds)
605[info] - should throw parsing exception on valid number values with '.', 'e', 'E' chars (1 millisecond)
606[info] - should throw parsing exception on illegal or empty input (0 milliseconds)
607[info] - should throw parsing exception on long overflow (1 millisecond)
608[info] - should throw parsing exception on leading zero (0 milliseconds)
609[info] JsonReader.readFloat, JsonReader.readKeyAsFloat and JsonReader.readStringAsFloat
610[info] - should parse valid float values (669 milliseconds)
611[info] - should parse infinities on float overflow (1 millisecond)
612[info] - should parse zeroes on float underflow (1 millisecond)
613[info] - should parse keys and strigified values with leading zeros in mantissas and exponents (11 milliseconds)
614[info] - should parse positive and negative zeroes (7 milliseconds)
615[info] - should parse denormalized numbers with long mantissa and compensating exponent (183 milliseconds)
616[info] - should throw parsing exception on illegal or empty input (2 milliseconds)
617[info] - should throw parsing exception on leading zero (0 milliseconds)
618[info] - should throw parsing exception on too long input (235 milliseconds)
619[info] JsonReader.readDouble, JsonReader.readKeyAsDouble and JsonReader.readStringAsDouble
620[info] - should parse valid double values (694 milliseconds)
621[info] - should parse infinities on double overflow (1 millisecond)
622[info] - should parse zeroes on double underflow (1 millisecond)
623[info] - should parse keys and strigified values with leading zeros in mantissas and exponents (11 milliseconds)
624[info] - should parse positive and negative zeroes (1 millisecond)
625[info] - should parse denormalized numbers with long mantissa and compensating exponent (236 milliseconds)
626[info] - should throw parsing exception on illegal or empty input (2 milliseconds)
627[info] - should throw parsing exception on leading zero (0 milliseconds)
628[info] - should throw parsing exception on too long input (305 milliseconds)
629[info] JsonReader.readBigInt and JsonReader.readStringAsBigInt
630[info] - should don't parse null value (0 milliseconds)
631[info] - should return supplied default value instead of null value (0 milliseconds)
632[info] JsonReader.readBigInt, JsonReader.readStringAsBigInt and JsonReader.readKeyAsBigInt
633[info] - should parse valid number values (307 milliseconds)
634[info] - should parse keys and strigified values with leading zeros (42 milliseconds)
635[info] - should parse big number values without overflow up to limits (10 milliseconds)
636[info] - should throw parsing exception for values with more than max allowed digits (1 millisecond)
637[info] - should throw parsing exception on valid number values with '.', 'e', 'E' chars (1 millisecond)
638[info] - should throw parsing exception on illegal or empty input (1 millisecond)
639[info] - should throw parsing exception on leading zero (0 milliseconds)
640[info] - should throw parsing exception on too long input (551 milliseconds)
641[info] JsonReader.readBigDecimal and JsonReader.readStringAsBigDecimal
642[info] - should don't parse null value (1 millisecond)
643[info] - should return supplied default value instead of null value (0 milliseconds)
644[info] JsonReader.readBigDecimal, JsonReader.readKeyAsBigDecimal and JsonReader.readStringAsBigDecimal
645[info] - should parse valid number values with scale less than specified maximum (234 milliseconds)
646[info] - should parse big number values without overflow up to limits (1 millisecond)
647[info] - should parse small number values without underflow up to limits (0 milliseconds)
648[info] - should parse keys and strigified values with leading zeros in mantissas and exponents (29 milliseconds)
649[info] - should throw number format exception for too big mantissa (2 milliseconds)
650[info] - should throw number format exception for too big scale (1 millisecond)
651[info] - should throw parsing exception on illegal or empty input (1 millisecond)
652[info] - should throw parsing exception on leading zero (0 milliseconds)
653[info] - should throw parsing exception on too long input (333 milliseconds)
654[info] JsonReader.setMark, JsonReader.rollbackToMark and JsonReader.resetMark
655[info] - should store current position of parsing and return back to it (23 milliseconds)
656[info] - should throw exception in case of rollbackToMark was called before setMark (1 millisecond)
657[info] - should throw exception in case of resetMark was called before setMark (0 milliseconds)
658[info] JsonReader.skipToKey
659[info] - should return true in case of key is found and set current position of parsing to its value (1 millisecond)
660[info] - should return false in case of key cannot be found and set current positing to the closing of object (0 milliseconds)
661[info] JsonReader.requiredFieldError
662[info] - should throw parsing exception with missing required field (0 milliseconds)
663[info] JsonReader.duplicatedKeyError
664[info] - should throw parsing exception with name of duplicated key (0 milliseconds)
665[info] JsonReader.unexpectedKeyError
666[info] - should throw parsing exception with name of unexpected key (0 milliseconds)
667[info] JsonReader.discriminatorError
668[info] - should throw parsing exception with unexpected discriminator (1 millisecond)
669[info] JsonReader.discriminatorValueError
670[info] - should throw parsing exception with unexpected discriminator value (0 milliseconds)
671[info] JsonReader.enumValueError
672[info] - should throw parsing exception with unexpected enum value as string (0 milliseconds)
673[info] - should throw parsing exception with unexpected enum value as length of character buffer (0 milliseconds)
674[info] JsonReader.commaError
675[info] - should throw parsing exception with expected token(s) (0 milliseconds)
676[info] JsonReader.arrayStartOrNullError
677[info] - should throw parsing exception with expected token(s) (0 milliseconds)
678[info] JsonReader.arrayEndError
679[info] - should throw parsing exception with expected token(s) (0 milliseconds)
680[info] JsonReader.arrayEndOrCommaError
681[info] - should throw parsing exception with expected token(s) (0 milliseconds)
682[info] JsonReader.objectStartOrNullError
683[info] - should throw parsing exception with expected token(s) (0 milliseconds)
684[info] JsonReader.objectEndOrCommaError
685[info] - should throw parsing exception with expected token(s) (1 millisecond)
686[info] JsonReader
687[info] - should support hex dumps with offsets that greater than 4Gb (0 milliseconds)
688Starting build for ProjectRef(file:/build/repo/,jsoniter-scala-macrosJVM) (jsoniter-scala-macros)... [2/3]
689Compile scalacOptions: -encoding, UTF-8, -unchecked, -Xmacro-settings:none, -Xcheck-macros, -explain, -Wconf:msg=Ignoring [this] qualifier.:s, -Wconf:msg=Implicit parameters should be provided with a `using` clause:s, -Ydebug, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
690[info] compiling 3 Scala sources to /build/repo/jsoniter-scala-macros/jvm/target/scala-3.8.1-RC1/classes ...
691[info] done compiling
692[info] compiling 12 Scala sources and 2 Java sources to /build/repo/jsoniter-scala-macros/jvm/target/scala-3.8.1-RC1/test-classes ...
693[warn] -- [E121] Pattern Match Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerSpec.scala:612:15
694[warn] 612 | case _ => out.encodeError("illegal enum value: null")
695[warn] | ^
696[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
697[warn] -- [E121] Pattern Match Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerSpec.scala:651:15
698[warn] 651 | case _ => out.encodeError("illegal enum value: null")
699[warn] | ^
700[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
701[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala-3/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerNewTypeSpec.scala:317:15
702[warn] 317 | case arr: mutable.Buffer[Json] =>
703[warn] | ^
704[warn] |the type test for scala.collection.mutable.Buffer[
705[warn] | com.github.plokhotnyuk.jsoniter_scala.macros.Json] cannot be checked at runtime because its type arguments can't be determined from com.github.plokhotnyuk.jsoniter_scala.macros.Json
706[warn] |---------------------------------------------------------------------------
707[warn] | Explanation (enabled by `-explain`)
708[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
709[warn] | Type arguments and type refinements are erased during compile time, thus it's
710[warn] | impossible to check them at run-time.
711[warn] |
712[warn] | You can either replace the type arguments by _ or use `@unchecked`.
713[warn] ---------------------------------------------------------------------------
714[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala-3/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerNewTypeSpec.scala:328:15
715[warn] 328 | case obj: mutable.Map[String, Json] =>
716[warn] | ^
717[warn] |the type test for scala.collection.mutable.Map[String,
718[warn] | com.github.plokhotnyuk.jsoniter_scala.macros.Json] cannot be checked at runtime because its type arguments can't be determined from com.github.plokhotnyuk.jsoniter_scala.macros.Json
719[warn] |---------------------------------------------------------------------------
720[warn] | Explanation (enabled by `-explain`)
721[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
722[warn] | Type arguments and type refinements are erased during compile time, thus it's
723[warn] | impossible to check them at run-time.
724[warn] |
725[warn] | You can either replace the type arguments by _ or use `@unchecked`.
726[warn] ---------------------------------------------------------------------------
727[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerSpec.scala:513:15
728[warn] 513 | case c: NonCaseClass => id == c.id && Objects.equals(name, c.name)
729[warn] | ^
730[warn] |the type test for NonCaseClass cannot be checked at runtime because it's a local class
731[warn] |---------------------------------------------------------------------------
732[warn] | Explanation (enabled by `-explain`)
733[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
734[warn] | Type arguments and type refinements are erased during compile time, thus it's
735[warn] | impossible to check them at run-time.
736[warn] |
737[warn] | You can either replace the type arguments by _ or use `@unchecked`.
738[warn] ---------------------------------------------------------------------------
739[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerSpec.scala:1159:15
740[warn] 1159 | case that: RawVal => _root_.java.util.Arrays.equals(bs, that.bs)
741[warn] | ^
742[warn] |the type test for RawVal cannot be checked at runtime because it's a local class
743[warn] |--------------------------------------------------------------------------
744[warn] | Explanation (enabled by `-explain`)
745[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
746[warn] | Type arguments and type refinements are erased during compile time, thus it's
747[warn] | impossible to check them at run-time.
748[warn] |
749[warn] | You can either replace the type arguments by _ or use `@unchecked`.
750[warn] --------------------------------------------------------------------------
751[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerSpec.scala:1232:19
752[warn] 1232 | case v: Value[A] => valueCodec.encodeValue(v.a, out)
753[warn] | ^
754[warn] |the type test for Value[A] cannot be checked at runtime because its type arguments can't be determined from Nullable[A]
755[warn] |--------------------------------------------------------------------------
756[warn] | Explanation (enabled by `-explain`)
757[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
758[warn] | Type arguments and type refinements are erased during compile time, thus it's
759[warn] | impossible to check them at run-time.
760[warn] |
761[warn] | You can either replace the type arguments by _ or use `@unchecked`.
762[warn] --------------------------------------------------------------------------
763[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerSpec.scala:2520:62
764[warn] 2520 | override def equals(obj: Any): _root_.scala.Boolean = obj.isInstanceOf[A]
765[warn] | ^^^
766[warn] |the type test for A cannot be checked at runtime because it's a local class
767[warn] |--------------------------------------------------------------------------
768[warn] | Explanation (enabled by `-explain`)
769[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
770[warn] | Type arguments and type refinements are erased during compile time, thus it's
771[warn] | impossible to check them at run-time.
772[warn] |
773[warn] | You can either replace the type arguments by _ or use `@unchecked`.
774[warn] --------------------------------------------------------------------------
775[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/jsoniter-scala-macros/shared/src/test/scala/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerSpec.scala:2535:62
776[warn] 2535 | override def equals(obj: Any): _root_.scala.Boolean = obj.isInstanceOf[A]
777[warn] | ^^^
778[warn] |the type test for A cannot be checked at runtime because it's a local class
779[warn] |--------------------------------------------------------------------------
780[warn] | Explanation (enabled by `-explain`)
781[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
782[warn] | Type arguments and type refinements are erased during compile time, thus it's
783[warn] | impossible to check them at run-time.
784[warn] |
785[warn] | You can either replace the type arguments by _ or use `@unchecked`.
786[warn] --------------------------------------------------------------------------
787[warn] there were 44 deprecation warnings; re-run with -deprecation for details
788[warn] 10 warnings found
789[info] done compiling
790[info] JsonCodecMakerDecimal64Spec:
791[info] Decimal64Codec
792[info] - should deserialize both numeric and string representation of numbers to canonized Decimal64 values (22 milliseconds)
793[info] - should serialize Decimal64 values into numeric or string representation depending on number of mantissa bits of canonized in-memory representation (1 millisecond)
794[info] JsonCodecMakerNewKeywordSpec:
795[info] JsonCodecMaker.make generate codecs which
796[info] - should don't generate codecs for generic classes using anonymous given constants (13 milliseconds)
797[info] - should serialize and deserialize generic classes using named given constants (6 milliseconds)
798[info] - should serialize and deserialize tagged types using a method to generate custom codecs (5 milliseconds)
799[info] - should serialize and deserialize generic classes using a given function (3 milliseconds)
800[info] - should don't generate codecs for generic classes and a `given` function with a missing codec (0 milliseconds)
801[info] - should serialize and deserialize classes defined with `derives` keyword and different compile-time configurations (23 milliseconds)
802[info] - should serialize and deserialize an generic ADT defined with bounded leaf classes using a custom codec (7 milliseconds)
803[info] JsonCodecMakerNewEnumSpec:
804[info] JsonCodecMaker.make generate codecs which
805[info] - should serialize and deserialize Scala3 enums (29 milliseconds)
806[info] - should serialize and deserialize Scala3 enums that extend java.lang.Enum (2 milliseconds)
807[info] - should serialize and deserialize Scala3 enums with mixed types (8 milliseconds)
808[info] - should serialize and deserialize Scala3 enums with parameters (9 milliseconds)
809[info] - should serialize and deserialize Scala3 enums with multiple parameters (3 milliseconds)
810[info] - should serialize and deserialize Scala3 enums using a custom codec (3 milliseconds)
811[info] - should serialize and deserialize Scala3 enum ADTs (5 milliseconds)
812[info] - should serialize and deserialize Scala3 generic enum ADTs (2 milliseconds)
813[info] - should serialize and deserialize enum ADTs with self-recursive (aka F-bounded) types (22 milliseconds)
814[info] - should serialize and deserialize higher-kinded enum ADTs (1 millisecond)
815[info] - should serialize and deserialize Scala3 enums with cases that use named annotation (7 milliseconds)
816[info] - should serialize and deserialize Scala3 enums with a transient field (3 milliseconds)
817[info] - should serialize and deserialize recursive Scala3 enums if it is allowed (5 milliseconds)
818[info] - should don't generate codecs for recursive Scala3 enums by default (1 millisecond)
819[info] JsonCodecMakerGenericTuplesSpec:
820[info] JsonCodecMaker.make generate codecs which
821[info] - should serialize and deserialize tuples with arities greater than 22 (1 millisecond)
822[info] - should serialize and deserialize generic tuples (18 milliseconds)
823[info] VerifyingSpec:
824[info] JsonCodecMakerNewTypeSpec:
825[info] JsonCodecMaker.make generate codecs which
826[info] - should serialize and deserialize immutable arrays (22 milliseconds)
827[info] - should don't serialize fields of case classes with empty immutable arrays (1 millisecond)
828[info] - should serialize fields of case classes with empty immutable arrays when transientEmpty is off (4 milliseconds)
829[info] - should don't serialize default values of case classes that defined for fields when the transientDefault flag is on (by default) (1 millisecond)
830[info] - should serialize default values of case classes that defined for fields when the transientDefault flag is off (0 milliseconds)
831[info] - should serialize empty of case classes that defined for fields when the transientEmpty flag is off (1 millisecond)
832[info] - should serialize and deserialize new collection types (90 milliseconds)
833[info] - should don't generate codecs for union types with proper compilation error (1 millisecond)
834[info] - should serialize and deserialize Scala3 opaque types (10 milliseconds)
835[info] - should serialize and deserialize Scala3 opaque types using custom value codecs (6 milliseconds)
836[info] - should serialize and deserialize a Scala3 union type using a custom codec (23 milliseconds)
837[info] - should serialize and deserialize a Scala3 union type using a custom codec with setMark, resetMark, and rollbackToMark calls (3 milliseconds)
838[info] - should serialize and deserialize recursive Scala3 union types using a custom value codec (2 milliseconds)
839[info] - should serialize and deserialize case class with union types having null value (default behavior) (6 milliseconds)
840[info] - should serialize and deserialize case class with union types having null value (transient null behavior) (1 millisecond)
841[info] - should don't generate codecs for non-concrete ADTs with at least one free type parameter (1 millisecond)
842[info] - should don't generate codecs for opaque types that hides type arguments (1 millisecond)
843[info] JsonCodecMakerLiteralTypesSpec:
844[info] JsonCodecMaker.make generate codecs which
845[info] - should serialize and deserialize case class with literal types (1 millisecond)
846[info] - should serialize and deserialize any val with a literal type (1 millisecond)
847[info] - should serialize and deserialize top-level literal types (3 milliseconds)
848[info] - should serialize and deserialize stringifeid top-level literal types (4 milliseconds)
849[info] - should throw parse exception with expected value in case of illegal input (8 milliseconds)
850[info] - should serialize and deserialize literal types as keys (22 milliseconds)
851[info] - should throw parse exception with expected key in case of illegal input (4 milliseconds)
852[info] JsonCodecMakerJVMSpec:
853[info] JsonCodecMaker.make generate codecs which
854[info] - should serialize and deserialize JVM-only collection types (36 milliseconds)
855[info] - should serialize and deserialize recursive structures with an implicit codec using a minimal thread stack (151 milliseconds)
856[info] JsonCodecMakerSpec:
857[info] JsonCodecMaker.make generate codecs which
858[info] - should serialize and deserialize case classes with primitives (2 milliseconds)
859[info] - should serialize and deserialize top-level primitives (3 milliseconds)
860[info] - should serialize and deserialize stringified top-level primitives (3 milliseconds)
861[info] - should throw parse exception with hex dump in case of illegal input (0 milliseconds)
862[info] - should throw parse exception in case of unexpected end of input is detected (0 milliseconds)
863[info] - should serialize and deserialize case classes with Java primitives (2 milliseconds)
864[info] - should serialize and deserialize top-level Java primitives (3 milliseconds)
865[info] - should serialize and deserialize stringifeid top-level Java primitives (3 milliseconds)
866[info] - should serialize and deserialize Java primitives as map keys and values (6 milliseconds)
867[info] - should serialize and deserialize case classes with standard types (60 milliseconds)
868[info] - should throw parse exception in case of illegal value for case classes (0 milliseconds)
869[info] - should serialize and deserialize top-level standard types (1 millisecond)
870[info] - should serialize and deserialize stringified top-level standard types (0 milliseconds)
871[info] - should deserialize duplicated key for case classes when checking of field duplication is disabled (0 milliseconds)
872[info] - should throw parse exception in case of duplicated key for case classes was detected (0 milliseconds)
873[info] - should throw parse exception in case of illegal UTF-8 encoded field names (0 milliseconds)
874[info] - should throw parse exception in case of illegal JSON escaped field names (0 milliseconds)
875[info] - should throw parse exception in case of missing or illegal tokens (1 millisecond)
876[info] - should throw exception in attempt to serialize null values (1 millisecond)
877[info] - should serialize and deserialize Scala classes which has a primary constructor with 'var' or 'var' parameters only (1 millisecond)
878[info] - should serialize and deserialize Java types (1 millisecond)
879[info] - should throw parse exception in case of illegal value of java types (0 milliseconds)
880[info] - should serialize and deserialize top-level java types (1 millisecond)
881[info] - should serialize and deserialize Java types as key in maps (0 milliseconds)
882[info] - should serialize and deserialize Java enumerations (1 millisecond)
883[info] - should serialize and deserialize Java enumerations with renamed value (1 millisecond)
884[info] - should don't generate codecs for Java enumerations when duplicated transformed names detected (0 milliseconds)
885[info] - should throw parse exception in case of illegal value of Java enumeration (1 millisecond)
886[info] - should serialize and deserialize top-level Java enumerations (0 milliseconds)
887[info] - should serialize and deserialize Java enumerations as key in maps (1 millisecond)
888[info] - should serialize and deserialize option types using a custom codec to handle missing fields and 'null' values differently (2 milliseconds)
889[info] - should serialize and deserialize types using a custom key codec and a custom ordering for map keys (22 milliseconds)
890[info] - should serialize and deserialize types using a custom value codec and a custom ordering for set values (21 milliseconds)
891[info] - should serialize and deserialize enumerations (12 milliseconds)
892[info] - should throw parse exception in case of illegal value of enumeration (1 millisecond)
893[info] - should serialize and deserialize top-level enumerations (1 millisecond)
894[info] - should serialize and deserialize enumerations as key in maps (1 millisecond)
895[info] - should deserialize int from floating point numbers using custom codecs (1 millisecond)
896[info] - should serialize and deserialize outer types using custom value codecs for long type (1 millisecond)
897[info] - should serialize and deserialize outer types using custom value codecs for boolean type (1 millisecond)
898[info] - should serialize and deserialize outer types using custom value codecs for double type (0 milliseconds)
899[info] - should serialize and deserialize collection from JSON array or a single value using custom value codec (0 milliseconds)
900[info] - should serialize zoned date time values into a custom format (1 millisecond)
901[info] - should parse offset date time values with escaped characters using a custom codec (1 millisecond)
902[info] - should serialize and deserialize ADTs with case object values using a custom codec (1 millisecond)
903[info] - should serialize and deserialize outer types using custom value codecs for newtypes (3 milliseconds)
904[info] - should serialize and deserialize non-sealed trait using a custom value codec (3 milliseconds)
905[info] - should serialize and deserialize using custom value codecs for `Either` type (2 milliseconds)
906[info] - should serialize and deserialize using custom value codecs for enums (1 millisecond)
907[info] - should serialize and deserialize types as a JSON object or a JSON string using custom value codecs (1 millisecond)
908[info] - should serialize and deserialize sequences of tuples as JSON object with duplicated keys using a custom value codec (1 millisecond)
909[info] - should serialize and deserialize raw untouched bytes using a custom value codec (3 milliseconds)
910[info] - should serialize and deserialize nested options without loss of information (1 millisecond)
911[info] - should serialize and deserialize Option[Option[_]] to distinguish `null` field values and missing fields (1 millisecond)
912[info] - should serialize and deserialize Nullable[_] to distinguish `null` field values and missing fields using a custom value codec (2 milliseconds)
913[info] - should serialize and deserialize case classes as JSON arrays using a custom value codec (2 milliseconds)
914[info] - should serialize and deserialize JSON objects to case classes with maps using a custom value codec (2 milliseconds)
915[info] - should serialize and deserialize case classes with refined type fields (2 milliseconds)
916[info] - should serialize and deserialize generic options using an implicit function (0 milliseconds)
917[info] - should serialize and deserialize generic lists using an implicit function (0 milliseconds)
918[info] - should serialize and deserialize generic classes using an implicit function (1 millisecond)
919[info] - should don't generate codecs for generic classes and an implicit function with a missing codec (0 milliseconds)
920[info] - should serialize and deserialize case classes with self-type (3 milliseconds)
921[info] - should serialize and deserialize a custom collection that implements a scala collection (44 milliseconds)
922[info] - should serialize and deserialize case classes with value classes (2 milliseconds)
923[info] - should serialize and deserialize collection fields of value classes (1 millisecond)
924[info] - should serialize and deserialize top-level value classes (1 millisecond)
925[info] - should serialize and deserialize arrays of value classes (1 millisecond)
926[info] - should serialize and deserialize maps with value class keys (2 milliseconds)
927[info] - should serialize and deserialize stringified top-level value classes (1 millisecond)
928[info] - should serialize and deserialize value classes with type aliases (2 milliseconds)
929[info] - should serialize and deserialize value classes with generic type values (1 millisecond)
930[info] - should serialize and deserialize case classes with one value classes when turned on inlining of one value classes (2 milliseconds)
931[info] - should serialize and deserialize top-level value one value classes when turned on inlining of one value classes (1 millisecond)
932[info] - should serialize and deserialize arrays of one value classes when turned on inlining of one value classes (1 millisecond)
933[info] - should serialize and deserialize a collection field of one value classes (1 millisecond)
934[info] - should serialize and deserialize a generic type field of one value classes (1 millisecond)
935[info] - should serialize and deserialize a higher kind type field of one value classes (1 millisecond)
936[info] - should serialize and deserialize case classes with options (1 millisecond)
937[info] - should serialize and deserialize top-level options using null for None values (2 milliseconds)
938[info] - should serialize and deserialize options in collections using null for None values (2 milliseconds)
939[info] - should don't generate codecs when options are used as keys in maps (0 milliseconds)
940[info] - should serialize case classes with empty options as null when the transientNone flag is off (1 millisecond)
941[info] - should serialize and deserialize top-level options (0 milliseconds)
942[info] - should serialize and deserialize stringified top-level numeric options (1 millisecond)
943[info] - should throw parse exception in case of unexpected value for option (0 milliseconds)
944[info] - should serialize and deserialize case classes with tuples (1 millisecond)
945[info] - should throw parse exception in case of unexpected number of JSON array values (0 milliseconds)
946[info] - should serialize and deserialize top-level tuples (0 milliseconds)
947[info] - should serialize and deserialize stringified top-level numeric tuples (1 millisecond)
948[info] - should serialize and deserialize tuples with type aliases (2 milliseconds)
949[info] - should serialize and deserialize case classes with arrays (1 millisecond)
950[info] - should serialize and deserialize top-level arrays (1 millisecond)
951[info] - should serialize and deserialize stringified top-level arrays (0 milliseconds)
952[info] - should don't serialize fields of case classes with empty arrays (0 milliseconds)
953[info] - should serialize fields of case classes with empty arrays when transientEmpty is off (0 milliseconds)
954[info] - should throw parse exception for missing array field when the requireCollectionFields flag is on (0 milliseconds)
955[info] - should throw parse exception in case of JSON array is not properly started/closed or with leading/trailing comma (1 millisecond)
956[info] - should serialize and deserialize case classes with Iterators (1 millisecond)
957[info] - should serialize and deserialize top-level Iterators (0 milliseconds)
958[info] - should don't serialize fields of case classes with empty Iterators (0 milliseconds)
959[info] - should serialize fields of case classes with empty Iterators when transientEmpty is off (0 milliseconds)
960[info] - should serialize and deserialize case classes with Iterables (6 milliseconds)
961[info] - should serialize and deserialize case classes with mutable Iterables (8 milliseconds)
962[info] - should serialize and deserialize case classes with immutable Iterables (15 milliseconds)
963[info] - should serialize and deserialize top-level :: (0 milliseconds)
964[info] - should serialize and deserialize case class fields with empty iterables when transientEmpty is off (1 millisecond)
965[info] - should throw parse exception for missing collection field when the requireCollectionFields flag is on (1 millisecond)
966[info] - should serialize and deserialize case classes with collection fields that has default values when the requireCollectionFields flag is on (2 milliseconds)
967[info] - should serialize and deserialize case classes with collection fields that has default values when the requireDefaultFields flag is on (0 milliseconds)
968[info] - should throw parse exception for missing collection with default value when both the requireCollectionFields and the requireDefaultFields flags are on (0 milliseconds)
969[info] - should serialize and deserialize case classes with empty Iterables when the requireCollectionFields flag is on and transientEmpty is off (1 millisecond)
970[info] - should deserialize null values as empty Iterables for fields with collection types (1 millisecond)
971[info] - should serialize and deserialize top-level Iterables (1 millisecond)
972[info] - should serialize and deserialize stringified top-level Iterables (1 millisecond)
973[info] - should throw parse exception when too many inserts into set was completed (1 millisecond)
974[info] - should serialize and deserialize case classes with generic maps (2 milliseconds)
975[info] - should serialize and deserialize case classes with mutable maps (10 milliseconds)
976[info] - should serialize and deserialize case classes with immutable maps (2 milliseconds)
977[info] - should serialize case class fields with empty maps if transientEmpty is off (1 millisecond)
978[info] - should throw parse exception for missing map field when the requireCollectionFields flag is on (0 milliseconds)
979[info] - should serialize and deserialize case classes with empty maps when the requireCollectionFields flag is on and transientEmpty is off (1 millisecond)
980[info] - should deserialize null values as empty maps for fields with map types (1 millisecond)
981[info] - should serialize and deserialize top-level maps (1 millisecond)
982[info] - should serialize and deserialize stringified top-level maps (1 millisecond)
983[info] - should serialize and deserialize top-level maps as arrays (14 milliseconds)
984[info] - should serialize and deserialize stringified top-level maps as arrays (4 milliseconds)
985[info] - should throw parse exception when too many inserts into map was completed (1 millisecond)
986[info] - should throw parse exception in case of JSON object is not properly started/closed or with leading/trailing comma (1 millisecond)
987[info] - should throw parse exception in case of JSON array of JSON arrays is not properly started/closed or with leading/trailing comma (1 millisecond)
988[info] - should throw parse exception in case of illegal keys found during deserialization of maps (0 milliseconds)
989[info] - should serialize and deserialize case classes with mutable long maps (2 milliseconds)
990[info] - should serialize and deserialize case classes with immutable int and long maps (2 milliseconds)
991[info] - should serialize and deserialize case classes with mutable & immutable bitsets (4 milliseconds)
992[info] - should serialize and deserialize top-level int/long maps & bitsets (4 milliseconds)
993[info] - should serialize and deserialize stringified top-level int/long maps & bitsets (1 millisecond)
994[info] - should throw parse exception when too big numbers are parsed for mutable & immutable bitsets (1 millisecond)
995[info] - should throw parse exception when negative numbers are parsed for mutable & immutable bitsets (1 millisecond)
996[info] - should don't generate codecs for maps with not supported types of keys (1 millisecond)
997[info] - should serialize and deserialize with keys defined as is by fields (1 millisecond)
998[info] - should serialize and deserialize with keys renamed (0 milliseconds)
999[info] - should serialize and deserialize with keys enforced to camelCase and throw parse exception when they are missing (0 milliseconds)
1000[info] - should serialize and deserialize with keys enforced to snake_case and throw parse exception when they are missing (1 millisecond)
1001[info] - should serialize and deserialize with keys enforced to snake_case2 and throw parse exception when they are missing (1 millisecond)
1002[info] - should serialize and deserialize with keys enforced to kebab-case and throw parse exception when they are missing (0 milliseconds)
1003[info] - should serialize and deserialize with keys enforced to kebab-case2 and throw parse exception when they are missing (1 millisecond)
1004[info] - should serialize and deserialize with keys enforced to PascalCase and throw parse exception when they are missing (1 millisecond)
1005[info] - should serialize and deserialize with keys overridden by annotation and throw parse exception when they are missing (1 millisecond)
1006[info] - should don't generate codecs for case classes with field that have duplicated @named annotation (1 millisecond)
1007[info] - should don't generate codecs for ADT leaf case classes that have duplicated @named annotation (0 milliseconds)
1008[info] - should don't generate codecs for case classes with fields that have duplicated JSON names (1 millisecond)
1009[info] - should serialize and deserialize fields that stringified by annotation (1 millisecond)
1010[info] - should serialize and deserialize fields that have field name mapper and stringified by annotation (0 milliseconds)
1011[info] - should throw parse exception when stringified fields have non-string values (1 millisecond)
1012[info] - should serialize and deserialize recursive types if it was allowed (4 milliseconds)
1013[info] - should don't generate codecs for recursive types by default (1 millisecond)
1014[info] - should serialize and deserialize indented by spaces and new lines if it was configured for writer (1 millisecond)
1015[info] - should deserialize JSON with whitespaces, tabs, new lines, and line returns (1 millisecond)
1016[info] - should throw the stack overflow error in case of serialization of a cyclic graph (152 milliseconds)
1017[info] - should serialize and deserialize UTF-8 keys and values of case classes with and without hex encoding (2 milliseconds)
1018[info] - should serialize and deserialize case classes with Scala operators in field names (1 millisecond)
1019[info] - should don't serialize default values of case classes that defined for fields when the transientDefault flag is on (by default) (3 milliseconds)
1020[info] - should throw parse exception for missing field with default value when the requireDefaultFields flag is on (1 millisecond)
1021[info] - should serialize default values of case classes that defined for fields when the transientDefault flag is off (3 milliseconds)
1022[info] - should serialize empty of case classes that defined for fields when the transientEmpty and transientNone flags are off (4 milliseconds)
1023[info] - should deserialize default values of case classes that defined for fields (3 milliseconds)
1024[info] - should deserialize new default values of case classes without memorization (2 milliseconds)
1025[info] - should deserialize default values of polymorphic case classes that defined for fields (1 millisecond)
1026[info] - should don't generate codecs for case classes that have ill-typed default values defined for fields (1 millisecond)
1027[info] - should don't serialize and deserialize transient and non constructor defined fields of case classes (1 millisecond)
1028[info] - should don't serialize and deserialize scala.transient defined fields of case classes when scala transient support is on (1 millisecond)
1029[info] - should don't serialize case class fields with 'None' values (1 millisecond)
1030[info] - should don't serialize case class fields with empty collections (1 millisecond)
1031[info] - should parse with skipping of unknown case class fields (1 millisecond)
1032[info] - should throw parse exception for unknown case class fields if skipping of them wasn't allowed in materialize call (0 milliseconds)
1033[info] - should throw parse exception in case of null values for required fields of case classes are provided (0 milliseconds)
1034[info] - should throw parse exception in case of missing required case class fields detected during deserialization (1 millisecond)
1035[info] - should throw parse exception in case of missing required fields that are defined after optional was detected (1 millisecond)
1036[info] - should serialize and deserialize case class ADTs using discriminator (2 milliseconds)
1037[info] - should deserialize case class ADTs using discriminator in different positions (1 millisecond)
1038[info] - should serialize and deserialize case object ADTs without discriminator (1 millisecond)
1039[info] - should serialize and deserialize product types without discriminators if their codecs are derived not from the base ADT type (1 millisecond)
1040[info] - should serialize and deserialize product types with enforced discriminators even if their codecs are derived not from the base ADT type (1 millisecond)
1041[info] - should don't generate codecs for CodecMakerConfig.withDiscriminatorFieldName(_root_.scala.None).withAlwaysEmitDiscriminator(true) compile-time configuration (1 millisecond)
1042[info] - should deserialize ADTs with extra fields (2 milliseconds)
1043[info] - should serialize and deserialize ADTs with openapi-like formatting (1 millisecond)
1044[info] - should serialize and deserialize ADTs with circe-like default formatting (2 milliseconds)
1045[info] - should serialize and deserialize ADTs with circe-like encoding for Scala objects (1 millisecond)
1046[info] - should don't generate codecs for ADT when circeLikeObjectEncoding is true and discriminatorFieldName is non empty (1 millisecond)
1047[info] - should deserialize and throw non-implemented error for serialization with decodingOnly (1 millisecond)
1048[info] - should serialize and throw non-implemented error for deserialization with encodingOnly (1 millisecond)
1049[info] - should don't generate codecs when decodingOnly and encodingOnly are true simultaneously (0 milliseconds)
1050[info] - should deserialize ADTs when discriminator field was serialized in far away last position and configuration allows to parse it (31 milliseconds)
1051[info] - should serialize and deserialize ADTs with leaf types that are not case classes or case objects (1 millisecond)
1052[info] - should serialize and deserialize ADTs with non abstract sealed base (1 millisecond)
1053[info] - should serialize and deserialize ADTs using a custom name of the discriminator field (2 milliseconds)
1054[info] - should serialize and deserialize ADTs using custom values of the discriminator field (1 millisecond)
1055[info] - should serialize and deserialize ADTs using custom values of the discriminator field set by the named annotation (1 millisecond)
1056[info] - should serialize and deserialize ADTs with dots in simple names of leaf classes/objects using a workaround with named annotations (0 milliseconds)
1057[info] - should serialize and deserialize ADTs using non-ASCII characters for the discriminator field name and it's values (1 millisecond)
1058[info] - should serialize and deserialize ADTs with Scala operators in names (1 millisecond)
1059[info] - should serialize and deserialize ADTs with deeply nested hierarchies (2 milliseconds)
1060[info] - should serialize and deserialize ADTs with leaves that have mixed traits that extends the same base (1 millisecond)
1061[info] - should serialize and deserialize ADTs with leaves that have a mixed trait hierarchy that makes a diamond (2 milliseconds)
1062[info] - should serialize and deserialize ADT hierarchy with a custom codec that handles different dicriminator field names (2 milliseconds)
1063[info] - should deserialize ADTs with a custom handler of unknown type (2 milliseconds)
1064[info] - should serialize and deserialize case class that have a field named as discriminator (1 millisecond)
1065[info] - should deserialize in case of duplicated discriminator field when checking for field duplication is disabled (0 milliseconds)
1066[info] - should throw parse exception in case of duplicated discriminator field (0 milliseconds)
1067[info] - should throw parse exception in case of missing discriminator field (0 milliseconds)
1068[info] - should throw parse exception in case of illegal value or position of discriminator field (0 milliseconds)
1069[info] - should throw parse exception in case of illegal or missing discriminator (0 milliseconds)
1070[info] - should throw exception in attempt to serialize null values for ADTs (1 millisecond)
1071[info] - should don't generate codecs for non sealed traits or abstract classes as an ADT base (1 millisecond)
1072[info] - should don't generate codecs for ADTs that have intermediate non-sealed traits or abstract classes (1 millisecond)
1073[info] - should don't generate codecs for ADT bases without leaf classes (1 millisecond)
1074[info] - should don't generate codecs for case objects which are mapped to the same discriminator value (1 millisecond)
1075[info] - should don't generate codecs for case classes with fields that the same name as discriminator name (0 milliseconds)
1076[info] - should serialize and deserialize ADTs with self-recursive (aka F-bounded) types without discriminators (2 milliseconds)
1077[info] - should serialize and deserialize dependent codecs which use implicit val (1 millisecond)
1078[info] - should serialize and deserialize dependent codecs which use implicit lazy val to don't depend on order of definition (1 millisecond)
1079[info] - should serialize and deserialize case classes with Java time types (3 milliseconds)
1080[info] - should serialize and deserialize top-level Java time types (4 milliseconds)
1081[info] - should serialize and deserialize Java time types as key in maps (7 milliseconds)
1082[info] - should serialize and deserialize case class with aliased typed methods (1 millisecond)
1083[info] - should serialize and deserialize collection with aliased type arguments (0 milliseconds)
1084[info] - should serialize and deserialize top-level aliased types (0 milliseconds)
1085[info] - should serialize and deserialize first-order types (3 milliseconds)
1086[info] - should don't generate codecs for first-order types that are specified using 'Any' type parameter (0 milliseconds)
1087[info] - should serialize and deserialize arrays of generic types (4 milliseconds)
1088[info] - should serialize and deserialize higher-kinded types (1 millisecond)
1089[info] - should serialize and deserialize generic ADT with free type parameters for cases (2 milliseconds)
1090[info] - should serialize and deserialize recursive higher-kinded types (1 millisecond)
1091[info] - should serialize and deserialize case classes with an auxiliary constructor using primary one (1 millisecond)
1092[info] - should serialize and deserialize case classes with private primary constructor if it can be accessed (1 millisecond)
1093[info] - should don't generate codecs for classes without a primary constructor (0 milliseconds)
1094[info] - should generate codecs for case classes with multiple parameter lists in a primary constructor without default values (1 millisecond)
1095[info] - should generate codecs for case classes with multiple parameter lists in a primary constructor that has default values in the first parameter list (1 millisecond)
1096[info] - should generate codecs for case classes with multiple parameter lists in a primary constructor with depended default values when the requireDefaultFields is on (2 milliseconds)
1097[info] - should generate codecs for ADTs that has case classes with multiple parameter lists in a primary constructor (2 milliseconds)
1098[info] - should don't generate codecs for case classes with non public parameters of the primary constructor (0 milliseconds)
1099[info] - should don't generate codecs for classes with parameters in a primary constructor that have no accessor for read (1 millisecond)
1100[info] - should don't generate codecs when all generic type parameters cannot be resolved (0 milliseconds)
1101[info] - should don't generate codecs when 'AnyVal' or one value classes with 'CodecMakerConfig.withInlineOneValueClasses(true)' are leaf types of the ADT base (0 milliseconds)
1102[info] - should don't generate codecs that cannot parse own output (0 milliseconds)
1103[info] - should don't generate codecs for unsupported classes like java.util.Date (1 millisecond)
1104[info] - should don't generate codecs for classes with transient field without default value (0 milliseconds)
1105[info] - deserialize using the nullValue of codecs that are injected by implicits (3 milliseconds)
1106[info] JsonCodecMaker.enforceCamelCase
1107[info] - should transform snake_case names to camelCase (3 milliseconds)
1108[info] - should transform kebab-case names to camelCase (0 milliseconds)
1109[info] - should transform PascalCase names to camelCase (0 milliseconds)
1110[info] - should leave camelCase names as is (1 millisecond)
1111[info] JsonCodecMaker.EnforcePascalCase
1112[info] - should transform snake_case names to PascalCase (0 milliseconds)
1113[info] - should transform kebab-case names to PascalCase (0 milliseconds)
1114[info] - should transform camelCase names to PascalCase (0 milliseconds)
1115[info] - should leave PascalCase names as is (0 milliseconds)
1116[info] JsonCodecMaker.enforce_snake_case
1117[info] - should transform camelCase names to snake_case with separated non-alphabetic (0 milliseconds)
1118[info] - should transform PascalCase names to snake_case with separated non-alphabetic (0 milliseconds)
1119[info] - should transform kebab-case names to snake_case with separated non-alphabetic (1 millisecond)
1120[info] - should transform snake_case names to snake_case with separated non-alphabetic (0 milliseconds)
1121[info] JsonCodecMaker.enforce_snake_case2
1122[info] - should transform camelCase names to snake_case2 with joined non-alphabetic (0 milliseconds)
1123[info] - should transform PascalCase names to snake_case2 with joined non-alphabetic (0 milliseconds)
1124[info] - should transform kebab-case names to snake_case2 with joined non-alphabetic (0 milliseconds)
1125[info] - should transform snake_case names to snake_case2 with joined non-alphabetic (0 milliseconds)
1126[info] JsonCodecMaker.enforce-kebab-case
1127[info] - should transform camelCase names to kebab-case with separated non-alphabetic (0 milliseconds)
1128[info] - should transform PascalCase names to kebab-case with separated non-alphabetic (0 milliseconds)
1129[info] - should transform snake_case names to kebab-case with separated non-alphabetic (0 milliseconds)
1130[info] - should transform kebab-case names to kebab-case with separated non-alphabetic (0 milliseconds)
1131[info] JsonCodecMaker.enforce-kebab-case2
1132[info] - should transform camelCase names to kebab-case2 with joined non-alphabetic (0 milliseconds)
1133[info] - should transform PascalCase names to kebab-case2 with joined non-alphabetic (0 milliseconds)
1134[info] - should transform snake_case names to kebab-case2 with joined non-alphabetic (0 milliseconds)
1135[info] - should transform kebab-case names to kebab-case2 with joined non-alphabetic (0 milliseconds)
1136[info] JsonCodecMaker.simpleClassName
1137[info] - should shorten full class name to simple class name (0 milliseconds)
1138
1139************************
1140Build summary:
1141[{
1142 "module": "jsoniter-scala-circe",
1143 "compile": {"status": "ok", "tookMs": 11708, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1144 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1145 "test-compile": {"status": "ok", "tookMs": 5787, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1146 "test": {"status": "ok", "tookMs": 2175, "passed": 32, "failed": 0, "ignored": 0, "skipped": 0, "total": 32, "byFramework": [{"framework": "unknown", "stats": {"passed": 32, "failed": 0, "ignored": 0, "skipped": 0, "total": 32}}]},
1147 "publish": {"status": "skipped", "tookMs": 0},
1148 "metadata": {
1149 "crossScalaVersions": ["3.3.7", "2.13.18", "2.12.21"]
1150}
1151},{
1152 "module": "jsoniter-scala-core",
1153 "compile": {"status": "ok", "tookMs": 47, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1154 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1155 "test-compile": {"status": "ok", "tookMs": 13826, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1156 "test": {"status": "ok", "tookMs": 11063, "passed": 361, "failed": 0, "ignored": 0, "skipped": 0, "total": 361, "byFramework": [{"framework": "unknown", "stats": {"passed": 361, "failed": 0, "ignored": 0, "skipped": 0, "total": 361}}]},
1157 "publish": {"status": "skipped", "tookMs": 0},
1158 "metadata": {
1159 "crossScalaVersions": ["3.3.7", "2.13.18", "2.12.21"]
1160}
1161},{
1162 "module": "jsoniter-scala-macros",
1163 "compile": {"status": "ok", "tookMs": 9671, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1164 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1165 "test-compile": {"status": "ok", "tookMs": 26044, "warnings": 9, "errors": 0, "sourceVersion": "3.8"},
1166 "test": {"status": "ok", "tookMs": 1304, "passed": 324, "failed": 0, "ignored": 0, "skipped": 0, "total": 324, "byFramework": [{"framework": "unknown", "stats": {"passed": 324, "failed": 0, "ignored": 0, "skipped": 0, "total": 324}}]},
1167 "publish": {"status": "skipped", "tookMs": 0},
1168 "metadata": {
1169 "crossScalaVersions": ["3.3.7", "2.13.18", "2.12.21"]
1170}
1171}]
1172************************
1173[success] Total time: 84 s (0:01:24.0), completed Jan 13, 2026, 7:51:35 PM
1174[0JChecking patch project/plugins.sbt...
1175Checking patch build.sbt...
1176Applied patch project/plugins.sbt cleanly.
1177Applied patch build.sbt cleanly.