Build Logs
pjfanning/play-json • 3.8.0:2026-01-13
Errors
4
Warnings
65
Total Lines
1012
1##################################
2Clonning https://github.com/pjfanning/play-json.git into /build/repo using revision 3.3.0
3##################################
4Note: switching to '94cd472997c8ac9400072dfffd993343552901a8'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.3
22----
23Preparing build for 3.8.0
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: project/Dependencies.scala
34Pattern: val Scala3 = "3.3.3"
35Replacement: val Scala3 = "3.8.0"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val Scala3 = "3.3.3"' in project/Dependencies.scala
40----
41Starting build for 3.8.0
42Execute tests: true
43sbt project found:
44Sbt version 1.11.2 is not supported, minimal supported version is 1.11.5
45Enforcing usage of sbt in version 1.11.5
46No prepare script found for project pjfanning/play-json
47##################################
48Scala version: 3.8.0
49Targets: com.github.pjfanning%play-json
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.3\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
51##################################
52Using extra scalacOptions: ,REQUIRE:-source:3.8
53Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
54[sbt_options] declare -a sbt_options=()
55[process_args] java_version = '17'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
57# Executing command line:
58java
59-Dfile.encoding=UTF-8
60-Dcommunitybuild.scala=3.8.0
61-Dcommunitybuild.project.dependencies.add=
62-Xmx7G
63-Xms4G
64-Xss8M
65-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
66-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.8.0"
70"++3.8.0 -v"
71"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
72"set every credentials := Nil"
73"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
74"removeScalacOptionsStartingWith -P:wartremover"
75
76moduleMappings
77"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.3\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" com.github.pjfanning%play-json"
78
79[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
80[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
81[info] loading project definition from /build/repo/project
82[info] compiling 6 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
83[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
84[info] Compilation completed in 9.04s.
85[info] done compiling
86[info] loading settings for project root from build.sbt...
87[info] set current project to root (in build file:/build/repo/)
88Execute setCrossScalaVersions: 3.8.0
89OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in benchmarks/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in play-jsonJVM/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in docs/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in root/crossScalaVersions
93[info] set current project to root (in build file:/build/repo/)
94[info] Setting Scala version to 3.8.0 on 4 projects.
95[info] Switching Scala version on:
96[info] * root (2.12.20, 2.13.16, 3.8.0)
97[info] play-jsonJVM (2.12.20, 2.13.16, 3.8.0)
98[info] benchmarks (2.12.20, 2.13.16, 3.8.0)
99[info] docs (2.12.20, 2.13.16, 3.8.0)
100[info] Excluding projects:
101[info] Reapplying settings...
102[info] set current project to root (in build file:/build/repo/)
103Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
104[info] Reapplying settings...
105[info] set current project to root (in build file:/build/repo/)
106[info] Defining Global / credentials, benchmarks / credentials and 2 others.
107[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 31 others.
108[info] Run `last` for details.
109[info] Reapplying settings...
110[info] set current project to root (in build file:/build/repo/)
111Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
112[info] Reapplying settings...
113OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
114
115 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
116 Did you mean allExcludeDependencies ?
117 , retry without global scopes
118[info] Reapplying settings...
119[info] set current project to root (in build file:/build/repo/)
120Execute removeScalacOptionsStartingWith: -P:wartremover
121[info] Reapplying settings...
122[info] set current project to root (in build file:/build/repo/)
123[success] Total time: 0 s, completed Jan 13, 2026, 3:52:29 PM
124Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.3\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
125Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
126Starting build...
127Projects: Set(play-jsonJVM)
128Starting build for ProjectRef(file:/build/repo/,play-jsonJVM) (play-json)... [0/1]
129OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
130OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
131OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
132Compile scalacOptions: -unchecked, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
133[info] compiling 33 Scala sources to /build/repo/play-json/jvm/target/scala-3.8.0/classes ...
134[warn] -- [E197] Potential Issue Warning: /build/repo/play-json/shared/src/main/scala-3/play/api/libs/json/JsMacroImpl.scala:88:4
135[warn] 88 | new Reads[A] { self =>
136[warn] | ^
137[warn] | New anonymous class definition will be duplicated at each inline site
138[warn] |
139[warn] | longer explanation available when compiling with `-explain`
140[warn] -- [E197] Potential Issue Warning: /build/repo/play-json/shared/src/main/scala-3/play/api/libs/json/JsMacroImpl.scala:448:4
141[warn] 448 | new OWrites[A] { self =>
142[warn] | ^
143[warn] | New anonymous class definition will be duplicated at each inline site
144[warn] |
145[warn] | longer explanation available when compiling with `-explain`
146[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/play-json/shared/src/main/scala-3/play/api/libs/json/JsMacroImpl.scala:722:14
147[warn] 722 | case WritableField(param, i, optType @ OptionTypeParameter(pt)) =>
148[warn] | ^
149[warn] | match may not be exhaustive.
150[warn] |
151[warn] | It would fail on pattern case: WritableField(_, _, _)
152[warn] |
153[warn] | longer explanation available when compiling with `-explain`
154[warn] there were 17 deprecation warnings; re-run with -deprecation for details
155[warn] four warnings found
156[info] done compiling
157[info] compiling 31 Scala sources to /build/repo/play-json/jvm/target/scala-3.8.0/test-classes ...
158[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:107:62
159[warn] 107 | implicit val familyReads: Reads[Family] = Json.reads[Family]
160[warn] | ^^^^^^^^^^^^^^^^^^
161[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
162[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:206:62
163[warn] 206 | implicit val familyWrites: OWrites[Family] = Json.writes[Family]
164[warn] | ^^^^^^^^^^^^^^^^^^^
165[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as a member of sealed family play.api.libs.json.MacroSpec.Family
166[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:383:66
167[warn] 383 | implicit val familyFormat: OFormat[Family] = Json.format[Family]
168[warn] | ^^^^^^^^^^^^^^^^^^^
169[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
170[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:415:66
171[warn] 415 | implicit val familyFormat: OFormat[Family] = Json.format[Family]
172[warn] | ^^^^^^^^^^^^^^^^^^^
173[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
174[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:454:65
175[warn] 454 | implicit val familyFormat: OFormat[Family] = Json.format[Family]
176[warn] | ^^^^^^^^^^^^^^^^^^^
177[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
178[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:595:60
179[warn] 595 | implicit val familyWrites: OWrites[Family] = Json.writes[Family] // Failing:
180[warn] | ^^^^^^^^^^^^^^^^^^^
181[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as a member of sealed family play.api.libs.json.MacroSpec.Family
182[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:607:76
183[warn] 607 | implicit val idReads: Reads[Id] = implicitly[Reads[String]].asInstanceOf[Reads[Id]]
184[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
185[warn] | Infinite loop in function body
186[warn] | implicitly[play.api.libs.json.Reads[String]](
187[warn] | play.api.libs.json.MacroSpec.Foo.idReads).asInstanceOf[
188[warn] | play.api.libs.json.Reads[play.api.libs.json.MacroSpec.Foo.Id]]
189[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/docs/manual/working/scalaGuide/main/json/code/ScalaJsonCombinatorsSpec.scala:443:46
190[warn] 443 | userResult.must(beLike { case JsSuccess(u: User, _) => u.name === "Fiver" })
191[warn] | ^
192[warn] |the type test for User cannot be checked at runtime because it's a local class
193[warn] |
194[warn] | longer explanation available when compiling with `-explain`
195[warn] there were 6 deprecation warnings; re-run with -deprecation for details
196[warn] 9 warnings found
197[warn] there were 6 deprecation warnings; re-run with -deprecation for details
198[warn] 10 warnings found
199[info] done compiling
200[warn] javaOptions will be ignored, fork is set to false
201[info] JsResultSpec:
202[info] JSON Result
203[info] - should be functor (52 milliseconds)
204[info] - should be converted to Success (3 milliseconds)
205[info] - should be converted to basic Failure (239 milliseconds)
206[info] - should be created from a Success (0 milliseconds)
207[info] - should be created from a Failure (0 milliseconds)
208[info] JsSuccess
209[info] - should be recovered (0 milliseconds)
210[info] JsError
211[info] - should be recovered (1 millisecond)
212[info] JsResult
213[info] - should return true for JsSuccess(x)#contains(x) (0 milliseconds)
214[info] - should return false for JsSuccess(x)#contains(y) (0 milliseconds)
215[info] - should return false for JsError(_)#contains(_) (3 milliseconds)
216[info] - should return true for JsSuccess(x)#exists(p) if p(x) == true (1 millisecond)
217[info] - should return false for JsSuccess(x)#exists(p) if p(x) == false (1 millisecond)
218[info] - should return false for JsError(_).exists(_) (1 millisecond)
219[info] JsSuccess#forall
220[info] - should return true for JsSuccess(x * 2).forall(_ % 2 == 0) (1 millisecond)
221[info] - should return false for JsSuccess(x, {x < 0}).forall(_ >) (0 milliseconds)
222[info] JsError#forall
223[info] - should return true (4 milliseconds)
224[info] JsonExtensionSpec:
225[info] JsonExtension
226[info] - should create a reads[User] (109 milliseconds)
227[info] - should create a writes[User] (4 milliseconds)
228[info] - should create a format[User] (2 milliseconds)
229[info] - should create a reads[Dog] (7 milliseconds)
230[info] - should create a writes[Dog] (2 milliseconds)
231[info] - should create a format[Dog] (6 milliseconds)
232[info] - should create a reads[RecUser] (18 milliseconds)
233[info] - should create a writes[RecUser] (4 milliseconds)
234[info] - should create a format[RecUser] (6 milliseconds)
235[info] - should create a reads[User1] (4 milliseconds)
236[info] - should create a writes[User1] (2 milliseconds)
237[info] - should create a format[User1] (4 milliseconds)
238[info] - should create a format[WrappedGenericInt] (16 milliseconds)
239[info] - should create a format[WrappedGenericIntString] (22 milliseconds)
240[info] should VarArgsOnly reads, writes, format
241[info] - should formats should be able to read and write (2 milliseconds)
242[info] - should reads should be able to read valid Json and ignore invalid Json (1 millisecond)
243[info] - should writes should be able to spit out valid json (2 milliseconds)
244[info] should LastVarArg reads, writes, format
245[info] - should formats should be able to read and write (3 milliseconds)
246[info] - should reads should be able to read valid Json and ignore invalid Json (1 millisecond)
247[info] - should writes should be able to spit out valid json (0 milliseconds)
248[info] - should manage Map[String, User] (4 milliseconds)
249[info] - should manage Boxed class (5 milliseconds)
250[info] - should test 21 fields (7 milliseconds)
251[info] - should test inception with overridden object (1 millisecond)
252[info] - should test case class 1 field (7 milliseconds)
253[info] - should test case class 1 field option (3 milliseconds)
254[info] - should test case class 1 field list (2 milliseconds)
255[info] - should test case class 1 field set (5 milliseconds)
256[info] - should test case class 1 field map (5 milliseconds)
257[info] - should test case class 1 field seq[Dog] (12 milliseconds)
258[info] - should test case reads in companion object (4 milliseconds)
259[info] - should test case single-field in companion object (4 milliseconds)
260[info] - should test hygiene (4 milliseconds)
261[info] - should create a format[CustomApply] (3 milliseconds)
262[info] - should create a writes[UserProfile] with SnakeCase (9 milliseconds)
263[info] - should create a reads[UserProfile] with SnakeCase (4 milliseconds)
264[info] - should create a format[UserProfile] with SnakeCase (4 milliseconds)
265[info] - should create a writes[UserProfile] with PascalCase (14 milliseconds)
266[info] - should create a reads[UserProfile] with PascalCase (8 milliseconds)
267[info] - should create a format[UserProfile] with PascalCase (10 milliseconds)
268[info] - should create a writes[UserProfile] with CustomNaming (4 milliseconds)
269[info] - should create a reads[UserProfile] with CustomNaming (9 milliseconds)
270[info] - should create a format[UserProfile] with CustomNaming (7 milliseconds)
271[info] - should create a stacked format[UserProfile] with SnakeCase (6 milliseconds)
272[info] - should create a Writes[Optional] with optionHandlers=WritesNull (9 milliseconds)
273[info] - should create a Format[Optional] with optionHandlers=WritesNull (10 milliseconds)
274[info] WritesSharedSpec:
275[info] Functional Writes
276[info] - should be successful for the simple case class Location (1 millisecond)
277[info] - should be contramap'ed (1 millisecond)
278[info] should be narrow'ed
279[info] - when simple JSON value (1 millisecond)
280[info] - when JSON object (6 milliseconds)
281[info] Traversable Writes
282[info] - should write Seqs (2 milliseconds)
283[info] - should write SortedSets (27 milliseconds)
284[info] - should write mutable SortedSets (19 milliseconds)
285[info] Map Writes
286[info] - should write lazy maps (5 milliseconds)
287[info] - should write a map nested in a seq (0 milliseconds)
288[info] Iterable writes
289[info] - should write maps (2 milliseconds)
290[info] Big integer Writes
291[info] - should write as JsNumber (1 millisecond)
292[info] EnumFormat
293[info] - should serialize correctly enum with custom names (6 milliseconds)
294[info] URI
295[info] - should be written as string (0 milliseconds)
296[info] Tuples
297[info] should be written with custom field names
298[info] - when tuple2 (1 millisecond)
299[info] - when tuple3 (0 milliseconds)
300[info] - when tuple4 (1 millisecond)
301[info] Identity writes
302[info] - should be resolved as Writes[JsArray] for ["foo",2] (0 milliseconds)
303[info] - should be resolved as Writes[JsValue] for ["foo",2] (0 milliseconds)
304[info] - should be resolved as Writes[JsBoolean] for true (0 milliseconds)
305[info] - should be resolved as Writes[JsValue] for false (1 millisecond)
306[info] - should be resolved as Writes[JsNull$] for null (0 milliseconds)
307[info] - should be resolved as Writes[JsValue] for null (0 milliseconds)
308[info] - should be resolved as Writes[JsNumber] for 1 (1 millisecond)
309[info] - should be resolved as Writes[JsValue] for 1 (0 milliseconds)
310[info] - should be resolved as Writes[JsObject] for {"foo":1} (0 milliseconds)
311[info] - should be resolved as Writes[JsValue] for {"foo":1} (0 milliseconds)
312[info] - should be resolved as OWrites[JsObject] for {"foo":1} (0 milliseconds)
313[info] - should be resolved as Writes[JsString] for "foo" (1 millisecond)
314[info] - should be resolved as Writes[JsValue] for "foo" (0 milliseconds)
315[info] JsonTransSpec:
316[info] JSON transformers
317[info] - should pick a value at a path (6 milliseconds)
318[info] - should pick a branch (1 millisecond)
319[info] - should copy input JSON and update a branch (merge the updated branch with input JSON) (8 milliseconds)
320[info] - should pick a branch and update its content (5 milliseconds)
321[info] - should put a value in a new branch (don't keep passed json) (0 milliseconds)
322[info] - should create a new path by copying a branch (3 milliseconds)
323[info] - should copy full json and prune a branch (1 millisecond)
324[info] - should pick a single branch and prune a sub-branch (0 milliseconds)
325[info] - should copy the full json and update a 2nd-level path and then prune a subbranch (5 milliseconds)
326[info] - should deepMerge when reducing JsObjects (1 millisecond)
327[info] should report the correct path in the JsError
328[info] - when the field to modify doesn't exist (1 millisecond)
329[info] - when the reader is the wrong type (1 millisecond)
330[info] JsonRichSpec:
331[info] JSON
332[info] - should create json with rich syntax (1 millisecond)
333[info] QuotesSpec:
334[info] Product
335[info] should be inspected for elements
336[info] - when Foo (0 milliseconds)
337[info] - when generic Bar *** FAILED *** (55 milliseconds)
338[info] List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val opt,List(),AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Option),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))))", "(val scores,List(),AppliedType(TypeRef(TermRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object collection),object immutable),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))") did not equal List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val opt,List(),AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Option),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))))", "(val scores,List(),AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))") (QuotesSpec.scala:27)
339[info] Analysis:
340[info] List(2: "(val scores,List(),AppliedType(TypeRef(TermRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object collection),object immutable),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))" -> "(val scores,List(),AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))")
341[info] when of non-case class
342[info] - when there is no ProductOf (0 milliseconds)
343[info] - when it's defined a ill-typed ProductOf (0 milliseconds)
344[info] when it's defined a well-typed ProductOf
345[info] - when by import *** FAILED *** (0 milliseconds)
346[info] List() did not equal List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))") (QuotesSpec.scala:57)
347[info] Analysis:
348[info] Nil$(0: -> "(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", 1: -> "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))")
349[info] - when by local val *** FAILED *** (3 milliseconds)
350[info] List() did not equal List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))") (QuotesSpec.scala:63)
351[info] Analysis:
352[info] Nil$(0: -> "(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", 1: -> "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))")
353[info] should be created
354[info] ScalaJsonAutomatedSpec
355[info] - when from Foo (6 milliseconds)
356[info] - when from generic Bar (5 milliseconds)
357[info] - when from BigFat (7 milliseconds)
358[info] when from non-case class
359[info] - when fail when there is no Conversion[T, _ <: Product] (0 milliseconds)
360[info] - when fail when Conversion[T, _ <: Product] defined without ProductOf (4 milliseconds)
361[info] - when be successful when conversion is provided (0 milliseconds)
362[info] should be transformed
363[info] - when Foo (0 milliseconds)
364[info] - when generic Bar (0 milliseconds)
365[info] - when BigFat (2 milliseconds)
366[info] Direct known subtypes
367[info] - should be resolved for sealed trait (0 milliseconds)
368[info] MacroSpec:
369[info] Reads
370[info] Scala JSON automated should
371[info] for case class
372[info] - should be generated for simple case class (250 milliseconds)
373[info] - should as Format for a simple generic case class (7 milliseconds)
374[info] - should refuse value other than JsObject when properties are optional (8 milliseconds)
375[info] + produce a Reads (64 ms)
376[info] - should ignore Option alias (27 milliseconds)
377[info] + do the same thing as a manual Reads (61 ms)
378[info] should be generated for a sealed family
379[info] - when using the _value syntax (9 milliseconds)
380[info] + produce a Writes (57 ms)
381[info] - when using the compact syntax (7 milliseconds)
382[info] Writes
383[info] - should be generated for simple case class (3 milliseconds)
384[info] - should as Format for a generic case class (3 milliseconds)
385[info] + produce a Format (60 ms)
386[info] - should ignore Option alias (21 milliseconds)
387[info] + produce a Writes with SnakeCase (10 ms)
388[info] + produce a Format with SnakeCase (7 ms)
389[info] - should be generated for a sealed family (27 milliseconds)
390[info] Macro
391[info] should handle case class with self type as nested type parameter
392[info] - when to generate Reads (4 milliseconds)
393[info] + produce a Reads with SnakeCase (9 ms)
394[info] - when to generate Writes (4 milliseconds)
395[info] - when to generate Format (6 milliseconds)
396[info] should handle generic case class with multiple generic parameters
397[info] - when to generate Reads (4 milliseconds)
398[info] - when to generate Writes (1 millisecond)
399[info] - when to generate Format (6 milliseconds)
400[info] + produce a Format with Custom Naming (18 ms)
401[info] should handle generic case class with multiple generic parameters and self references
402[info] - when to generate Reads (9 milliseconds)
403[info] + automatically serialize a case class to JSON (7 ms)
404[info] - when to generate Writes (7 milliseconds)
405[info] + automatically convert JSON to a case class (3 ms)
406[info] - when to generate Format (15 milliseconds)
407[info] + automatically convert JSON for a sealed family (30 ms)
408[info] - should handle sealed family (24 milliseconds)
409[info] + automatically convert custom JSON for a sealed family (33 ms)
410[info] - should handle sealed family with custom discriminator name (15 milliseconds)
411[info] - should handle sealed family with typeNaming (12 milliseconds)
412[info] JsonValidSpec
413[info] + produce a json object with nulls (4 ms)
414[info] - should handle case objects as empty JsObject (20 milliseconds)
415[info] JSON reads should
416[info] Total for specification ScalaJsonAutomatedSpec
417[info] Finished in 673 ms
418[info] 13 examples, 0 failure, 0 error
419[info] - should handle refinement type as case class field (33 milliseconds)
420[info] + validate Dates (40 ms)
421[info] - should handle nesting class (8 milliseconds)
422[info] + verifyingIf reads (35 ms)
423[info] - should handle case class with generic type and default field (11 milliseconds)
424[info] + validate JsObject to Map without loosing precision (12 ms)
425[info] Total for specification JsonValidSpec
426[info] Finished in 89 ms
427[info] 3 examples, 0 failure, 0 error
428[info] - should handle case class with generic type and overridden default field (22 milliseconds)
429[info] - should field ordering (7 milliseconds)
430[info] JsPathSpec:
431[info] JsPath
432[info] - should retrieve simple path (1 millisecond)
433[info] - should retrieve path with array index (31 milliseconds)
434[info] - should retrieve 1-level recursive path (2 milliseconds)
435[info] - should retrieve 2-level recursive path (6 milliseconds)
436[info] - should retrieve 2-level middle recursive path (0 milliseconds)
437[info] - should retrieve simple indexed path (1 millisecond)
438[info] - should retrieve 2-level recursive indexed path #1 (1 millisecond)
439[info] - should retrieve 2-level recursive indexed path #2 (0 milliseconds)
440[info] - should retrieve recursive in jsobject and jsarray #1 (0 milliseconds)
441[info] - should retrieve recursive in jsobject and jsarray #2 (1 millisecond)
442[info] - should retrieve with symbol keys (0 milliseconds)
443[info] - should prune field from 1-level JsObject (1 millisecond)
444[info] - should get JsPath till last node (0 milliseconds)
445[info] - should read deep nullable nested fields (1 millisecond)
446[info] ReadsSharedSpec:
447[info] Reads
448[info] should not repath the second result on flatMap
449[info] - when in case of success (0 milliseconds)
450[info] - when in case of failure (1 millisecond)
451[info] - should widen (4 milliseconds)
452[info] - should be failed (1 millisecond)
453[info] Map
454[info] - should be successfully read with string keys (1 millisecond)
455[info] should be read with character keys which
456[info] - are characters (72 milliseconds)
457[info] - are not characters (1 millisecond)
458[info] should be read with boolean keys which
459[info] - are booleans (0 milliseconds)
460[info] - are not booleans (1 millisecond)
461[info] - should be read with byte keys (0 milliseconds)
462[info] - should be read with short keys (0 milliseconds)
463[info] - should be read with int keys (0 milliseconds)
464[info] - should be read with long keys (1 millisecond)
465[info] - should be read with float keys (0 milliseconds)
466[info] - should be read with double keys (1 millisecond)
467[info] - should be read with Reads'able keys (7 milliseconds)
468[info] Compose
469[info] - should preprocess a JSON object using a Reads (7 milliseconds)
470[info] - should preprocess a JSON object using a function (2 milliseconds)
471[info] Reads result
472[info] - should be flat-mapped (1 millisecond)
473[info] Functional Reads
474[info] - should be successful for simple case class Owner (7 milliseconds)
475[info] BigDecimal Reads
476[info] - should be successful for JsString("123") (7 milliseconds)
477[info] - should be successful for JsString("23") (0 milliseconds)
478[info] - should be successful for JsString("1.23") (1 millisecond)
479[info] - should be successful for JsString("1E+1") (0 milliseconds)
480[info] - should fail for '1..0' (3 milliseconds)
481[info] - should fail for 'A' (5 milliseconds)
482[info] BigInteger Reads
483[info] - should be successful for JsString("123") (1 millisecond)
484[info] - should be successful for JsNumber(123) (1 millisecond)
485[info] - should be successful for JsString("23") (0 milliseconds)
486[info] - should be successful for JsNumber(23) (0 milliseconds)
487[info] - should fails for '1.0' (0 milliseconds)
488[info] - should fails for 'A' (1 millisecond)
489[info] EnumFormat
490[info] - should deserialize correctly enum with custom names (35 milliseconds)
491[info] URI
492[info] - should be read from JsString (0 milliseconds)
493[info] - should not be read from invalid JsString (11 milliseconds)
494[info] Tuple
495[info] should be read with custom element names
496[info] - when tuple2 (1 millisecond)
497[info] - when tuple3 (4 milliseconds)
498[info] - when tuple4 (1 millisecond)
499[info] Identity reads
500[info] - should be resolved for ["foo",2] as JsArray (0 milliseconds)
501[info] - should be resolved for ["foo",2] as JsValue (0 milliseconds)
502[info] - should be resolved for false as JsBoolean (0 milliseconds)
503[info] - should be resolved for true as JsValue (0 milliseconds)
504[info] - should be resolved for null as JsNull$ (1 millisecond)
505[info] - should be resolved for null as JsValue (0 milliseconds)
506[info] - should be resolved for 1 as JsNumber (8 milliseconds)
507[info] - should be resolved for 1 as JsValue (0 milliseconds)
508[info] - should be resolved for {"foo":1} as JsObject (1 millisecond)
509[info] - should be resolved for {"foo":1} as JsValue (0 milliseconds)
510[info] - should be resolved for "foo" as JsString (0 milliseconds)
511[info] - should be resolved for "foo" as JsValue (1 millisecond)
512[info] FormatSharedSpec:
513[info] Format
514[info] - should be bimap'ed (6 milliseconds)
515[info] OFormat
516[info] - should be bimap'ed (7 milliseconds)
517[info] TupleSpec:
518[info] Reading/Write tuples
519[info] - should work for small tuples (10 milliseconds)
520[info] - should work for large tuples (22 milliseconds)
521[info] - should work for nested tuples (10 milliseconds)
522[info] MacroScala3Spec:
523[info] Case class
524[info] should not be handled
525[info] - when no custom ProductOf (0 milliseconds)
526[info] should be handled
527[info] - when is declared with more than 22 fields (10 milliseconds)
528[info] ScalaJsonCombinatorsSpec
529[info] ScalaJsonSpec
530[info] Scala JSON should
531[info] Scala JSON should
532[info] + parse json (5 ms)
533[info] + allow constructing json using case classes (4 ms)
534[info] + allow constructing json using factory methods (5 ms)
535[info] + allow constructing json using builder (10 ms)
536[info] + allow using JsPath (107 ms)
537[info] + allow creating simple Reads (8 ms)
538[info] + allow converting simple types (5 ms)
539[info] + allow creating complex Reads (24 ms)
540[info] + allow converting of models (10 ms)
541[info] + allow creating complex Reads in a single statement (17 ms)
542[info] + allow converting models preferred (12 ms)
543Name: Watership Down
544[info] + allow mapping Reads using usual combinators (24 ms)
545[info] + allow traversing JsValue tree (11 ms)
546[info] + allow filtering Reads results with combinators (19 ms)
547[info] + allow converting JsValue to String (17 ms)
548[info] + allow pre-processing Reads with combinators (4 ms)
549Name: Watership Down
550[info] + allow converting JsValue using as (6 ms)
551[info] + allow converting JsValue using asOpt (23 ms)
552[info] + allow mapping Reads with convenience combinators (6 ms)
553[info] + allow converting JsValue using validate (19 ms)
554[info] + allow validation with Reads (14 ms)
555[info] + allow converting JsValue to model (7 ms)
556[info] + allow creating Reads for model (12 ms)
557[info] + handle simple tuples (4 ms)
558[info] + allow creating Writes for model (6 ms)
559[info] Total for specification ScalaJsonSpec
560[info] Finished in 320 ms
561[info] 14 examples, 0 failure, 0 error
562[info] + allow transforming values with Writes (10 ms)
563[info] JsObjectSerializationSpec
564[info] + allow creating Reads/Writes for recursive types (15 ms)
565[info] + allow creating Format from components (6 ms)
566[info] JsObject should
567[info] + allow creating Format from combinators (7 ms)
568[info] + allow functional combinators on Format (5 ms)
569[info] Total for specification ScalaJsonCombinatorsSpec
570[info] Finished in 417 ms
571[info] 16 examples, 0 failure, 0 error
572[info] JsObjectSpec:
573[info] JsObject.deepMerge
574[info] - should not fail when the objects are empty (1 millisecond)
575[info] - should merge correctly when the source object is empty (1 millisecond)
576[info] - should merge correctly when the incoming object is empty (0 milliseconds)
577[info] JsObject.deepMerge should keep existing attributes where there is no collision and
578[info] - should overwrite existing attributes on collision when value is not a JsArray or JsObject (4 milliseconds)
579[info] - should recursively merge where elements are both of type JsArray or both of type JsObject (1 millisecond)
580[info] - should properly merge a deep structure (3 milliseconds)
581[info] JsObject.++
582[info] - should preserve order of fields (0 milliseconds)
583[info] JsObject.+
584[info] - should preserve order of fields (1 millisecond)
585[info] JsObject.-
586[info] - should preserve order of fields (1 millisecond)
587[info] JsObject
588[info] + serialize/deserialize correctly (88 ms)
589[info] - should accept null fields when calling Json.obj (6 milliseconds)
590[info] - should accept null fields when calling Json.arr (1 millisecond)
591[info] Total for specification JsObjectSerializationSpec
592[info] Finished in 108 ms
593[info] 1 example, 0 failure, 0 error
594[info] JsonSharedSpec:
595[info] JSON
596[info] - should equals JsObject independently of field order (20 milliseconds)
597[info] - should support basic array operations (12 milliseconds)
598[info] - should serialize and deserialize maps properly (6 milliseconds)
599[info] - should serialize and deserialize (13 milliseconds)
600[info] - should convert to a json object (7 milliseconds)
601[info] - should create object using builder (0 milliseconds)
602[info] - should convert to a byte array containing the UTF-8 representation (12 milliseconds)
603[info] Complete JSON should create full object
604[info] - when serialize long integers correctly (6 milliseconds)
605[info] - when serialize short integers correctly (6 milliseconds)
606[info] - when serialize bytes correctly (14 milliseconds)
607[info] - when serialize and deserialize BigDecimals (3 milliseconds)
608[info] - when write BigDecimals with large exponents in scientific notation (1 millisecond)
609[info] - when write negative BigDecimals with large exponents in scientific notation (4 milliseconds)
610[info] - when write BigDecimals with large negative exponents in scientific notation (4 milliseconds)
611[info] - when write BigDecimals with small exponents as a plain string (2 milliseconds)
612[info] - when write BigDecimals with small negative exponents as a plain string (4 milliseconds)
613[info] - when write BigDecimals with integer base (3 milliseconds)
614[info] - when serialize and deserialize Lists (5 milliseconds)
615[info] - when Map[String,String] should be turned into JsValue (2 milliseconds)
616[info] - when can parse recursive object (7 milliseconds)
617[info] - when can parse null values in Object (2 milliseconds)
618[info] - when can parse null values in Array (1 millisecond)
619[info] - when null root object should be parsed as JsNull (4 milliseconds)
620[info] - when JSON pretty print (3 milliseconds)
621[info] - when asciiStringify should escape non-ascii characters (6 milliseconds)
622[info] - when asciiStringify should escape ascii characters properly (7 milliseconds)
623[info] JSON Writes
624[info] - should write list/seq/set/map (21 milliseconds)
625[info] - should write in 2nd level (9 milliseconds)
626[info] - should preserve field ordering (4 milliseconds)
627[info] JsonValidSharedSpec:
628[info] JSON reads
629[info] - should validate simple types (2 milliseconds)
630[info] - should invalidate wrong simple type conversion (1 millisecond)
631[info] - should validate simple numbered type conversion (4 milliseconds)
632[info] - should return JsResult with correct values for isSuccess and isError (0 milliseconds)
633[info] - should validate JsObject to Map (0 milliseconds)
634[info] - should invalidate JsObject to Map with wrong type conversion (0 milliseconds)
635[info] - should validate JsObject to Map with custom key type (4 milliseconds)
636[info] - should validate JsArray to List (0 milliseconds)
637[info] - should invalidate JsArray to List with wrong type conversion (1 millisecond)
638[info] - should validate JsArray of stream to List (0 milliseconds)
639[info] - should invalidate JsArray of stream to List with wrong type conversion (1 millisecond)
640[info] should validate UUID
641[info] - when there is a correct UUID (7 milliseconds)
642[info] - when reject malformed UUIDs (1 millisecond)
643[info] - when reject well-formed but incorrect UUIDS in strict mode (1 millisecond)
644[info] - should validate Enums (10 milliseconds)
645[info] - should read fields with null values (0 milliseconds)
646[info] - should validate options using validateOpt (0 milliseconds)
647[info] JSON JsResult
648[info] - should recover from error (1 millisecond)
649[info] JSON case class/tuple validation
650[info] - should validate simple reads (0 milliseconds)
651[info] should validate reads on the root path
652[info] - when reads (3 milliseconds)
653[info] - when readNullables (0 milliseconds)
654[info] - when readNullables for missing root path fragment (2 milliseconds)
655[info] - when readNullables for badly formed root path (0 milliseconds)
656[info] - when readNullables for null root path (3 milliseconds)
657[info] - should validate simple constraints (0 milliseconds)
658[info] - should test JsPath.create (1 millisecond)
659[info] - should validate simple case class reads/writes (1 millisecond)
660[info] - should validate simple case class format with custom apply/unapply (4 milliseconds)
661[info] - should validate simple case class format (1 millisecond)
662[info] - should JsObject tupled reads (0 milliseconds)
663[info] - should JsObject tupled reads new syntax (0 milliseconds)
664[info] - should JsObject tupled writes (4 milliseconds)
665[info] - should JsObject tupled format (2 milliseconds)
666[info] - should Format simpler syntax without constraints (0 milliseconds)
667[info] - should Format simpler syntax with constraints (6 milliseconds)
668[info] - should Compose reads (0 milliseconds)
669[info] - should Apply min/max correctly on ordered types (1 millisecond)
670[info] JSON generators
671[info] - should Build JSON from JSON Reads (5 milliseconds)
672[info] JSON Reads
673[info] - should report correct path for validation errors (5 milliseconds)
674[info] - should mix reads constraints (6 milliseconds)
675[info] - should recursive reads (2 milliseconds)
676[info] - should recursive writes (1 millisecond)
677[info] - should recursive formats (2 milliseconds)
678[info] - should lots of fields to read (14 milliseconds)
679[info] - should single field case class (2 milliseconds)
680[info] - should reduce Reads[JsObject] (3 milliseconds)
681[info] - should reduce Reads[JsArray] (7 milliseconds)
682[info] - should reduce Reads[JsArray] no type (0 milliseconds)
683[info] - should serialize JsError to json (5 milliseconds)
684[info] - should prune json (1 millisecond)
685[info] JSON Writes
686[info] - should manage option (1 millisecond)
687[info] - should join (1 millisecond)
688[info] JSON Format
689[info] - should manage option (4 milliseconds)
690[info] JsResult
691[info] - should be usable in for-comprehensions (2 milliseconds)
692[info] should be a functor
693[info] - when JsSuccess (1 millisecond)
694[info] - when JsError (0 milliseconds)
695[info] - should have filtering methods that allow users to customize the error (4 milliseconds)
696[info] JsonMemoryFootprintSpec:
697[info] Json.parse
698# WARNING: Unable to get Instrumentation. Dynamic Attach failed. You may add this JAR as -javaagent manually, or supply -Djdk.attach.allowAttachSelf
699[info] WritesSpec
700[info] Local date/time should
701[info] + be written as number (1 ms)
702[info] + be written with default implicit as '2011-12-03T10:15:30' (4 ms)
703[info] + be written with custom pattern as '03/12/2011, 10:15:30' (4 ms)
704[info] Offset date/time should
705[info] + be written with default implicit as '2011-12-03T10:15:30-01:30' (6 ms)
706[info] + be written with custom pattern as '03/12/2011, 10:15:30 (-01:30)' (2 ms)
707[info] Zoned date/time should
708[info] + be written as number (6 ms)
709[info] + be written with default implicit as '2011-12-03T10:15:30+01:00[Europe/Paris]' (8 ms)
710[info] + be written with default implicit as '2011-12-03T10:15:30+06:30' (9 ms)
711[info] + be written with custom pattern as '03/12/2011, 10:15:30' (1 ms)
712[info] Local date should
713[info] + be written as number (1 ms)
714[info] + be written with default implicit as '2011-12-03' (7 ms)
715[info] + be written with custom pattern as '03/12/2011' (2 ms)
716[info] Local time should
717[info] + be written as number (1 ms)
718[info] + be written with default implicit as '10:15:30' (2 ms)
719[info] + be written with custom pattern as '10.15.30' (5 ms)
720[info] Instant should
721[info] + be written as number (4 ms)
722[info] + be written with default implicit as '2011-12-03T10:15:30Z' (1 ms)
723[info] + be written with custom pattern as '03/12/2011, 10:15:30' (2 ms)
724[info] ZoneId should
725[info] + be written as time zone string America/Los_Angeles (3 ms)
726[info] + be written as time zone string UTC (3 ms)
727[info] + be written as time zone string CET (0 ms)
728[info] + be written as time zone string UTC-8 (0 ms)
729[info] OWrites should
730[info] + be transformed with JsObject function (5 ms)
731[info] + be transformed with a value transformation (6 ms)
732[info] + be transformed with an object transformation (2 ms)
733[info] + be transformed with another OWrites (1 ms)
734[info] Locale should
735# WARNING: Unable to attach Serviceability Agent. Unable to attach even with module exceptions: [org.openjdk.jol.vm.sa.SASupportException: Sense failed., org.openjdk.jol.vm.sa.SASupportException: Sense failed., org.openjdk.jol.vm.sa.SASupportException: Sense failed.]
736[info] + be fr-FR and be written as JSON object (2 ms)
737[info] + be fr-CA and be written as JSON object (4 ms)
738[info] + be fr and be written as JSON object (1 ms)
739[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be written as JSON object (9 ms)
740[info] + be fr-FR and be written as JSON string (tag) (6 ms)
741[info] + be fr-CA and be written as JSON string (tag) (0 ms)
742[info] + be fr and be written as JSON string (tag) (1 ms)
743[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be written as JSON string (tag) (5 ms)
744[info] Java Duration should
745[info] + be written as milliseconds (5 ms)
746[info] + be written as ISO string (4 ms)
747[info] - obj0 (733 milliseconds)
748[info] Java Period should
749[info] + be written as ISO string 'P2D' (1 ms)
750[info] + be written as ISO string 'P19D' (0 ms)
751[info] + be written as ISO string 'P4M19D' (0 ms)
752[info] Map should
753[info] + be successfully written with custom (locale) keys (1 ms)
754[info] - obj1 (36 milliseconds)
755[info] Total for specification WritesSpec
756[info] Finished in 699 ms
757[info] 40 examples, 0 failure, 0 error
758[info] - obj4 (17 milliseconds)
759[info] - arr0 (3 milliseconds)
760[info] - arr1 (3 milliseconds)
761[info] - arr4 (3 milliseconds)
762[info] - num0 (6 milliseconds)
763[info] - num0.1 (5 milliseconds)
764[info] - num0.5 (3 milliseconds)
765[info] - numLongMax (9 milliseconds)
766[info] - numDoubleMax (10 milliseconds)
767[info] - true (7 milliseconds)
768[info] - false (1 millisecond)
769[info] - null (1 millisecond)
770[info] JsObject
771[info] - obj0 ++ obj0 (8 milliseconds)
772[info] - obj0 ++ obj1 (8 milliseconds)
773[info] - obj1 ++ obj0 (8 milliseconds)
774[info] - obj1.value (9 milliseconds)
775[info] malicious
776[info] - obj0 (85 milliseconds)
777[info] - obj1 (295 milliseconds)
778[info] - nums (263 milliseconds)
779[info] - arr0 (68 milliseconds)
780[info] - arr1 (165 milliseconds)
781[info] JSON Reads
782[info] Local date/time should
783[info] + be successfully read from number (1 ms)
784[info] + not be read from invalid number (1 ms)
785[info] + not be read from invalid string (6 ms)
786[info] be successfully read with default implicit
787[info] + from '2011-12-03T10:15:30' (3 ms)
788[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (1 ms)
789[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (1 ms)
790[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30' (1 ms)
791[info] not be read from invalid corrected string
792[info] + with default implicit (1 ms)
793[info] + with custom formatter (1 ms)
794[info] be successfully read from corrected string
795[info] + with default implicit (1 ms)
796[info] + with custom formatter (1 ms)
797[info] Offset date/time should
798[info] not be read
799[info] + from an invalid string (5 ms)
800[info] + from a number (1 ms)
801[info] be successfully read with default implicit
802[info] + from '2011-12-03T10:15:30-05:00' (1 ms)
803[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30' (1 ms)
804[info] not be read from invalid corrected string
805[info] + with default implicit (1 ms)
806[info] + with custom formatter (1 ms)
807[info] be successfully read from corrected string
808[info] + with default implicit (1 ms)
809[info] + with custom formatter (1 ms)
810[info] Zoned date/time should
811[info] + be successfully read from number (0 ms)
812[info] + not be read from invalid string (2 ms)
813[info] + not be read from invalid number (1 ms)
814[info] be successfully read with default implicit
815[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (1 ms)
816[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (1 ms)
817[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30+08:00' (2 ms)
818[info] not be read from invalid corrected string
819[info] + with default implicit (2 ms)
820[info] + with custom formatter (2 ms)
821[info] be successfully read from corrected string
822[info] + with default implicit (3 ms)
823[info] + with custom formatter (1 ms)
824[info] Local date should
825[info] + be successfully read from number (53 ms)
826[info] + not be read from invalid number (14 ms)
827[info] + not be read from invalid string (16 ms)
828[info] + be successfully read with default implicit from '2011-12-03' (1 ms)
829[info] + be successfully read with custom pattern from '03/12/2011' (1 ms)
830[info] not be read from invalid corrected string
831[info] + with default implicit (1 ms)
832[info] + with custom formatter (1 ms)
833[info] be successfully read from corrected string
834[info] + with default implicit (1 ms)
835[info] + with custom formatter (1 ms)
836[info] Local time should
837[info] + be successfully read from number (5 ms)
838[info] + not be read from invalid number (4 ms)
839[info] + not be read from invalid string (3 ms)
840[info] + be successfully read with default implicit from '10:15:30' (1 ms)
841[info] + be successfully read with custom pattern from '10.15.30' (2 ms)
842[info] not be read from invalid corrected string
843[info] + with default implicit (3 ms)
844[info] + with custom formatter (1 ms)
845[info] JSON
846[info] be successfully read from corrected string
847[info] + with default implicit (1 ms)
848[info] Complete JSON should create full object
849[info] + with custom formatter (0 ms)
850[info] + with custom date format (2 ms)
851[info] with default/lenient date format should
852[info] Instant should
853[info] + with default/lenient date format with millis and UTC zone (10 ms)
854[info] + be successfully read from number (1 ms)
855[info] + with default/lenient date format with millis and ISO8601 zone (4 ms)
856[info] + not be read from invalid number (2 ms)
857[info] + not be read from invalid string (3 ms)
858[info] + with default/lenient date format with no millis and UTC zone (3 ms)
859[info] be successfully read with default implicit
860[info] + with default/lenient date format with no millis and ISO8601 zone (1 ms)
861[info] + from '2015-05-01T13:00:00Z' (with zeros) (2 ms)
862[info] + with default/lenient date format with millis (1 ms)
863[info] + with default/lenient date format without millis or time zone (1 ms)
864[info] + from '2011-12-03T10:15:30Z' (2 ms)
865[info] when parsing numbers
866[info] + from '2015-05-01T13:00:00+02:00' (with TZ offset and zeros) (1 ms)
867[info] for Long should
868[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (1 ms)
869[info] + success for valid positive number (2 ms)
870[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (4 ms)
871[info] + success for valid negative number (2 ms)
872[info] + success for max value (3 ms)
873[info] + from '2011-12-03T00:00:00+01:00[Europe/Paris]' (with time zone) (2 ms)
874[info] + success for min value (1 ms)
875[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30 Z' (3 ms)
876[info] + fail for positive number out of Long limits (6 ms)
877[info] not be read from invalid corrected string
878[info] + fail for negative number out of Long limits (2 ms)
879[info] + with default implicit (2 ms)
880[info] + with custom formatter (2 ms)
881[info] for Integer should
882[info] + success for valid positive number (6 ms)
883[info] be successfully read from corrected string
884[info] + success for valid negative number (7 ms)
885[info] + with default implicit (2 ms)
886[info] + fail for positive number out of Int limits (3 ms)
887[info] + with custom formatter (2 ms)
888[info] + fail for negative number out of Int limits (2 ms)
889[info] for Float should
890[info] ZoneId should
891[info] + success for valid positive number (5 ms)
892[info] + be successfully read from America/Los_Angeles (2 ms)
893[info] + success for valid negative number (2 ms)
894[info] + be successfully read from UTC (2 ms)
895[info] + success for max value (3 ms)
896[info] + be successfully read from CET (2 ms)
897[info] + success for min value (1 ms)
898[info] + be successfully read from UTC-8 (1 ms)
899[info] + not be read from number (3 ms)
900[info] for Double should
901[info] + not be read from unknown time zone (3 ms)
902[info] + success for valid positive number (1 ms)
903[info] + not be read from malformed time zone (3 ms)
904[info] + success for valid negative number (2 ms)
905[info] Locale should
906[info] + success when parsing max value (3 ms)
907[info] + be fr-FR and be read as JSON object (5 ms)
908[info] + success when parsing min value (5 ms)
909[info] + be fr-CA and be read as JSON object (3 ms)
910[info] + be fr and be read as JSON object (3 ms)
911[info] for BigDecimals should
912[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be read as JSON object (6 ms)
913[info] + maintain precision when parsing BigDecimals within precision limit (3 ms)
914[info] + be fr-FR and be read from JSON string (tag) (1 ms)
915[info] + truncate when exceeding the precision limit (4 ms)
916[info] + be fr-CA and be read from JSON string (tag) (0 ms)
917[info] + drop trailing zeros for non-zero decimal by default (1 ms)
918[info] + be fr and be read from JSON string (tag) (0 ms)
919[info] + drop single trailing zero decimal by default (2 ms)
920[info] + drop multiple trailing zero decimals by default (1 ms)
921[info] + drop multiple trailing zero decimals from zero value by default (1 ms)
922[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be read from JSON string (tag) (0 ms)
923[info] + drop multiple trailing zero decimals from multiple of ten (1 ms)
924[info] + integer multiple of ten unchanged (1 ms)
925[info] Java Duration should
926[info] + integer zero unchanged (2 ms)
927[info] + drop multiple trailing zeros for non-zero decimal with preserveZeroDecimal=true (2 ms)
928[info] + be parsed from "PT1S" as JsSuccess(PT1S,) (4 ms)
929[info] + be parsed from "1 seconds" as JsError(List((,List(JsonValidationError(List(error.invalid.duration),ArraySeq()))))) (2 ms)
930[info] + do not drop single trailing zero decimal with preserveZeroDecimal=true (4 ms)
931[info] + preserve a single trailing zero decimal with preserveZeroDecimal=true (1 ms)
932[info] + preserve a single trailing zero decimal from zero decimal with preserveZeroDecimal=true (5 ms)
933[info] + be parsed from "foo" as JsError(List((,List(JsonValidationError(List(error.invalid.duration),ArraySeq()))))) (1 ms)
934[info] + be parsed from 1000 as JsSuccess(PT1S,) (4 ms)
935[info] + preserve a single trailing zero decimal from multiple of ten with preserveZeroDecimal=true (6 ms)
936[info] + integer multiple of ten with preserveZeroDecimal=true (2 ms)
937[info] + be parsed from 1.234 as JsError(List((,List(JsonValidationError(List(error.expected.long),ArraySeq()))))) (1 ms)
938[info] + integer zero with preserveZeroDecimal=true (1 ms)
939[info] + success when not exceeding the scale limit for positive numbers (1 ms)
940[info] + success when not exceeding the scale limit for negative numbers (1 ms)
941[info] Java Period should
942[info] + be parsed from "P2D" as JsSuccess(P2D,) (1 ms)
943[info] + be parsed from 2 as JsSuccess(P2D,) (1 ms)
944[info] + success when not exceeding the number of digits limit for negative numbers (4 ms)
945[info] + success when not exceeding the number of digits limit for positive numbers (1 ms)
946[info] + fail when exceeding the scale limit for positive numbers (3 ms)
947[info] + fail when exceeding the scale limit for negative numbers (4 ms)
948[info] + be parsed from "2 days" as JsError(List((,List(JsonValidationError(List(error.invalid.stringPeriod),ArraySeq()))))) (1 ms)
949[info] + be parsed from "P2W" as JsSuccess(P14D,) (1 ms)
950[info] + be parsed from "P19D" as JsSuccess(P19D,) (1 ms)
951[info] + be parsed from 19 as JsSuccess(P19D,) (1 ms)
952[info] + be parsed from "P2M19D" as JsSuccess(P2M19D,) (1 ms)
953[info] + fail when exceeding the number of digits limit for positive numbers (44 ms)
954[info] + be parsed from "foo" as JsError(List((,List(JsonValidationError(List(error.invalid.stringPeriod),ArraySeq()))))) (0 ms)
955[info] + be parsed from 1.234 as JsError(List((,List(JsonValidationError(List(error.expected.int),ArraySeq()))))) (1 ms)
956[info] + be parsed as days from '2' as P2D (0 ms)
957[info] + be parsed as days from '19' as P19D (0 ms)
958[info] + fail when exceeding the number of digits limit for negative numbers (20 ms)
959[info] + be parsed as weeks (8 ms)
960[info] + be parsed as months (11 ms)
961[info] + be parsed as years (11 ms)
962[info] + Optional parameters in JSON should generate post w/o date (1 ms)
963[info] + Invalid parameters shoud be ignored (3 ms)
964[info] Long numbers should
965[info] + parse a long number (8 ms)
966[info] + parse a negative long number (0 ms)
967[info] + not read from invalid number (3 ms)
968[info] + parse a large long number 2 (3 ms)
969[info] + Serialize and deserialize Jackson ObjectNodes (71 ms)
970[info] BigDecimal numbers should
971[info] + parse long string (6 ms)
972[info] + Serialize and deserialize Jackson ArrayNodes (19 ms)
973[info] + not parse string exceeding digit limit (8 ms)
974[info] + parse string with acceptable scale (7 ms)
975[info] + not parse string exceeding scale limit (7 ms)
976[info] + Deserialize integer JsNumber as Jackson number node (5 ms)
977[info] + Deserialize float JsNumber as Jackson number node (3 ms)
978[info] + Serialize JsNumbers with integers correctly (19 ms)
979[info] BigInt numbers should
980[info] + Serialize JsNumbers with decimal points correctly (2 ms)
981[info] + Serialize JsNumbers with e notation correctly (1 ms)
982[info] + parse long string (8 ms)
983[info] + not parse string exceeding digit limit (0 ms)
984[info] + parse from InputStream (8 ms)
985[info] + keep isomorphism between serialized and deserialized data (8 ms)
986[info] Map should
987[info] Total for specification JSON
988[info] Finished in 575 ms
989[info] 60 examples, 82 expectations, 0 failure, 0 error
990[info] + be successfully read with custom (locale) keys (0 ms)
991[info] Total for specification JSON Reads
992[info] Finished in 1 second, 156 ms
993[info] 106 examples, 0 failure, 0 error
994
995************************
996Build summary:
997[{
998 "module": "play-json",
999 "compile": {"status": "ok", "tookMs": 19990, "warnings": 3, "errors": 0, "sourceVersion": "3.8"},
1000 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1001 "test-compile": {"status": "ok", "tookMs": 26406, "warnings": 9, "errors": 0, "sourceVersion": "3.8"},
1002 "test": {"status": "failed", "tookMs": 20204, "passed": 589, "failed": 3, "ignored": 0, "skipped": 0, "total": 592, "byFramework": [{"framework": "specs2", "stats": {"passed": 253, "failed": 0, "ignored": 0, "skipped": 0, "total": 253}},{"framework": "unknown", "stats": {"passed": 336, "failed": 3, "ignored": 0, "skipped": 0, "total": 339}}]},
1003 "publish": {"status": "skipped", "tookMs": 0},
1004 "metadata": {
1005 "crossScalaVersions": ["2.12.20", "2.13.16", "3.3.3"]
1006}
1007}]
1008************************
1009[error] Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: play-json
1010[error] (Global / runBuild) Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: play-json
1011[error] Total time: 69 s (0:01:09.0), completed Jan 13, 2026, 3:53:38 PM
1012[0JBuild failed, not retrying.