Bläddra i källkod

Better errors in output_tests

Tim Hockin 8 år sedan
förälder
incheckning
d6ef711c18
100 ändrade filer med 400 tillägg och 200 borttagningar
  1. 4 2
      output_tests/builtins/bool/json_test.go
  2. 4 2
      output_tests/builtins/bool_alias/json_test.go
  3. 4 2
      output_tests/builtins/byte/json_test.go
  4. 4 2
      output_tests/builtins/byte_alias/json_test.go
  5. 4 2
      output_tests/builtins/float32/json_test.go
  6. 4 2
      output_tests/builtins/float32_alias/json_test.go
  7. 4 2
      output_tests/builtins/float64/json_test.go
  8. 4 2
      output_tests/builtins/float64_alias/json_test.go
  9. 4 2
      output_tests/builtins/int16/json_test.go
  10. 4 2
      output_tests/builtins/int16_alias/json_test.go
  11. 4 2
      output_tests/builtins/int32/json_test.go
  12. 4 2
      output_tests/builtins/int32_alias/json_test.go
  13. 4 2
      output_tests/builtins/int8/json_test.go
  14. 4 2
      output_tests/builtins/int8_alias/json_test.go
  15. 4 2
      output_tests/builtins/string/json_test.go
  16. 4 2
      output_tests/builtins/string_alias/json_test.go
  17. 4 2
      output_tests/builtins/uint16/json_test.go
  18. 4 2
      output_tests/builtins/uint16_alias/json_test.go
  19. 4 2
      output_tests/builtins/uint32/json_test.go
  20. 4 2
      output_tests/builtins/uint32_alias/json_test.go
  21. 4 2
      output_tests/builtins/uint8/json_test.go
  22. 4 2
      output_tests/builtins/uint8_alias/json_test.go
  23. 4 2
      output_tests/map/int16/string/json_test.go
  24. 4 2
      output_tests/map/int32/string/json_test.go
  25. 4 2
      output_tests/map/int8/string/json_test.go
  26. 4 2
      output_tests/map/string/bool/json_test.go
  27. 4 2
      output_tests/map/string/byte/json_test.go
  28. 4 2
      output_tests/map/string/float64/json_test.go
  29. 4 2
      output_tests/map/string/int32/json_test.go
  30. 4 2
      output_tests/map/string/map_string_string/json_test.go
  31. 4 2
      output_tests/map/string/ptr_bool/json_test.go
  32. 4 2
      output_tests/map/string/ptr_float64/json_test.go
  33. 4 2
      output_tests/map/string/ptr_int32/json_test.go
  34. 4 2
      output_tests/map/string/ptr_map_string_string/json_test.go
  35. 4 2
      output_tests/map/string/ptr_slice_string/json_test.go
  36. 4 2
      output_tests/map/string/ptr_string/json_test.go
  37. 4 2
      output_tests/map/string/ptr_struct_various/json_test.go
  38. 4 2
      output_tests/map/string/ptr_uint8/json_test.go
  39. 4 2
      output_tests/map/string/slice_string/json_test.go
  40. 4 2
      output_tests/map/string/string/json_test.go
  41. 4 2
      output_tests/map/string/string_alias/json_test.go
  42. 4 2
      output_tests/map/string/struct_empty/json_test.go
  43. 4 2
      output_tests/map/string/struct_empty_alias/json_test.go
  44. 4 2
      output_tests/map/string/struct_ptr_string/json_test.go
  45. 4 2
      output_tests/map/string/struct_various/json_test.go
  46. 4 2
      output_tests/map/string/uint8/json_test.go
  47. 4 2
      output_tests/map/string_alias/string/json_test.go
  48. 4 2
      output_tests/map/string_alias/string_alias/json_test.go
  49. 4 2
      output_tests/map/uint16/string/json_test.go
  50. 4 2
      output_tests/map/uint32/string/json_test.go
  51. 4 2
      output_tests/map/uint8/string/json_test.go
  52. 4 2
      output_tests/map_key_text_marshal/string_alias/json_test.go
  53. 4 2
      output_tests/map_key_text_marshal/struct/json_test.go
  54. 4 2
      output_tests/map_key_text_marshal/struct_alias/json_test.go
  55. 4 2
      output_tests/slice/bool/json_test.go
  56. 4 2
      output_tests/slice/byte/json_test.go
  57. 4 2
      output_tests/slice/float64/json_test.go
  58. 4 2
      output_tests/slice/int32/json_test.go
  59. 4 2
      output_tests/slice/map/int32_string/json_test.go
  60. 4 2
      output_tests/slice/map/string_string/json_test.go
  61. 4 2
      output_tests/slice/ptr_bool/json_test.go
  62. 4 2
      output_tests/slice/ptr_float64/json_test.go
  63. 4 2
      output_tests/slice/ptr_int32/json_test.go
  64. 4 2
      output_tests/slice/ptr_map/int32_string/json_test.go
  65. 4 2
      output_tests/slice/ptr_map/string_string/json_test.go
  66. 4 2
      output_tests/slice/ptr_slice/bool/json_test.go
  67. 4 2
      output_tests/slice/ptr_slice/byte/json_test.go
  68. 4 2
      output_tests/slice/ptr_slice/float64/json_test.go
  69. 4 2
      output_tests/slice/ptr_slice/int32/json_test.go
  70. 4 2
      output_tests/slice/ptr_slice/ptr_string/json_test.go
  71. 4 2
      output_tests/slice/ptr_slice/string/json_test.go
  72. 4 2
      output_tests/slice/ptr_slice/uint8/json_test.go
  73. 4 2
      output_tests/slice/ptr_string/json_test.go
  74. 4 2
      output_tests/slice/ptr_struct_various/json_test.go
  75. 4 2
      output_tests/slice/ptr_uint8/json_test.go
  76. 4 2
      output_tests/slice/slice/bool/json_test.go
  77. 4 2
      output_tests/slice/slice/byte/json_test.go
  78. 4 2
      output_tests/slice/slice/float64/json_test.go
  79. 4 2
      output_tests/slice/slice/int32/json_test.go
  80. 4 2
      output_tests/slice/slice/ptr_string/json_test.go
  81. 4 2
      output_tests/slice/slice/string/json_test.go
  82. 4 2
      output_tests/slice/slice/uint8/json_test.go
  83. 4 2
      output_tests/slice/string/json_test.go
  84. 4 2
      output_tests/slice/struct_empty/json_test.go
  85. 4 2
      output_tests/slice/struct_empty_alias/json_test.go
  86. 4 2
      output_tests/slice/struct_ptr_string/json_test.go
  87. 4 2
      output_tests/slice/struct_various/json_test.go
  88. 4 2
      output_tests/slice/uint8/json_test.go
  89. 4 2
      output_tests/struct/alias/json_test.go
  90. 4 2
      output_tests/struct/empty/json_test.go
  91. 4 2
      output_tests/struct/empty_alias/json_test.go
  92. 4 2
      output_tests/struct/everything/json_test.go
  93. 4 2
      output_tests/struct/float64/json_test.go
  94. 4 2
      output_tests/struct/float64_alias/json_test.go
  95. 4 2
      output_tests/struct/float64s/json_test.go
  96. 4 2
      output_tests/struct/float64s_alias/json_test.go
  97. 4 2
      output_tests/struct/int32/json_test.go
  98. 4 2
      output_tests/struct/int32_alias/json_test.go
  99. 4 2
      output_tests/struct/int32s/json_test.go
  100. 4 2
      output_tests/struct/int32s_alias/json_test.go

+ 4 - 2
output_tests/builtins/bool/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/bool_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/byte/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/byte_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/float32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/float32_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/float64_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/int16/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/int16_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/int32_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/int8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/int8_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/string_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/uint16/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/uint16_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/uint32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/uint32_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/uint8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/builtins/uint8_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/int16/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/int32/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/int8/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/bool/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/byte/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/map_string_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_bool/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_map_string_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_slice_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_struct_various/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/ptr_uint8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/slice_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/string_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/struct_empty/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/struct_empty_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/struct_ptr_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/struct_various/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string/uint8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string_alias/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/string_alias/string_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/uint16/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/uint32/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map/uint8/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map_key_text_marshal/string_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map_key_text_marshal/struct/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/map_key_text_marshal/struct_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/bool/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/byte/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/map/int32_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/map/string_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_bool/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_map/int32_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_map/string_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_slice/bool/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_slice/byte/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_slice/float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_slice/int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_slice/ptr_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_slice/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_slice/uint8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_struct_various/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/ptr_uint8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/slice/bool/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/slice/byte/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/slice/float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/slice/int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/slice/ptr_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/slice/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/slice/uint8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/struct_empty/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/struct_empty_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/struct_ptr_string/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/struct_various/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/slice/uint8/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/empty/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/empty_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/everything/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/float64/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/float64_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/float64s/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/float64s_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/int32/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/int32_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/int32s/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

+ 4 - 2
output_tests/struct/int32s_alias/json_test.go

@@ -40,12 +40,14 @@ func Test_Roundtrip(t *testing.T) {
 		var afterStd T
 		err = json.Unmarshal(jbIter, &afterStd)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with stdlib: %v", err)
+			t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		var afterIter T
 		err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
 		if err != nil {
-			t.Fatalf("failed to unmarshal with jsoniter: %v", err)
+			t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n    %s",
+				err, indent(jbIter, "    "))
 		}
 		if fingerprint(afterStd) != fingerprint(afterIter) {
 			t.Fatalf("unmarshal expected:\n    %s\ngot:\n    %s\nvia:\n    %s",

Vissa filer visades inte eftersom för många filer har ändrats