mirror of
https://github.com/json-iterator/go.git
synced 2025-03-20 20:54:55 +02:00
fix golint: do not export test types
This commit is contained in:
parent
ad20f12c34
commit
891d33b415
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]bool
|
type typeForTest [4][4]bool
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]byte
|
type typeForTest [4][4]byte
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]float64
|
type typeForTest [4][4]float64
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]int32
|
type typeForTest [4][4]int32
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]*string
|
type typeForTest [4][4]*string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]string
|
type typeForTest [4][4]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]uint8
|
type typeForTest [4][4]uint8
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]bool
|
type typeForTest [4]bool
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]byte
|
type typeForTest [4]byte
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]float64
|
type typeForTest [4]float64
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]int32
|
type typeForTest [4]int32
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]map[int32]string
|
type typeForTest [4]map[int32]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]map[string]string
|
type typeForTest [4]map[string]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*bool
|
type typeForTest [4]*bool
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*float64
|
type typeForTest [4]*float64
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*int32
|
type typeForTest [4]*int32
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*map[int32]string
|
type typeForTest [4]*map[int32]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*map[string]string
|
type typeForTest [4]*map[string]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*[4]bool
|
type typeForTest [4]*[4]bool
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*[4]byte
|
type typeForTest [4]*[4]byte
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*[4]float64
|
type typeForTest [4]*[4]float64
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*[4]int32
|
type typeForTest [4]*[4]int32
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*[4]*string
|
type typeForTest [4]*[4]*string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*[4]string
|
type typeForTest [4]*[4]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*[4]uint8
|
type typeForTest [4]*[4]uint8
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*string
|
type typeForTest [4]*string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*struct {
|
type typeForTest [4]*struct {
|
||||||
String string
|
String string
|
||||||
Int int32
|
Int int32
|
||||||
Float float64
|
Float float64
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]*uint8
|
type typeForTest [4]*uint8
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]bool
|
type typeForTest [4][4]bool
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]byte
|
type typeForTest [4][4]byte
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]float64
|
type typeForTest [4][4]float64
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]int32
|
type typeForTest [4][4]int32
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]*string
|
type typeForTest [4][4]*string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]string
|
type typeForTest [4][4]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4][4]uint8
|
type typeForTest [4][4]uint8
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]string
|
type typeForTest [4]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]struct{}
|
type typeForTest [4]struct{}
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -2,4 +2,4 @@ package test
|
|||||||
|
|
||||||
type A struct{}
|
type A struct{}
|
||||||
|
|
||||||
type T [4]A
|
type typeForTest [4]A
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]struct {
|
type typeForTest [4]struct {
|
||||||
F *string
|
F *string
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]struct {
|
type typeForTest [4]struct {
|
||||||
String string
|
String string
|
||||||
Int int32
|
Int int32
|
||||||
Float float64
|
Float float64
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T [4]uint8
|
type typeForTest [4]uint8
|
||||||
|
@ -16,7 +16,7 @@ import (
|
|||||||
func Test_CaselessUnmarshal(t *testing.T) {
|
func Test_CaselessUnmarshal(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T1
|
var before typeForTest1
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -38,13 +38,13 @@ func Test_CaselessUnmarshal(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T2
|
var afterStd typeForTest2
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T2
|
var afterIter typeForTest2
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T1 struct {
|
type typeForTest1 struct {
|
||||||
Field string
|
Field string
|
||||||
}
|
}
|
||||||
|
|
||||||
type T2 struct {
|
type typeForTest2 struct {
|
||||||
FIELD string
|
FIELD string
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -47,4 +47,4 @@ func (m *Marshaler) UnmarshalJSON(text []byte) error {
|
|||||||
var _ json.Marshaler = *new(Marshaler)
|
var _ json.Marshaler = *new(Marshaler)
|
||||||
var _ json.Unmarshaler = new(Marshaler)
|
var _ json.Unmarshaler = new(Marshaler)
|
||||||
|
|
||||||
type T Marshaler
|
type typeForTest Marshaler
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -49,4 +49,4 @@ func (m *Marshaler) UnmarshalJSON(text []byte) error {
|
|||||||
var _ json.Marshaler = Marshaler{}
|
var _ json.Marshaler = Marshaler{}
|
||||||
var _ json.Unmarshaler = &Marshaler{}
|
var _ json.Unmarshaler = &Marshaler{}
|
||||||
|
|
||||||
type T Marshaler
|
type typeForTest Marshaler
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -51,4 +51,4 @@ var _ json.Unmarshaler = &Marshaler{}
|
|||||||
|
|
||||||
type A Marshaler
|
type A Marshaler
|
||||||
|
|
||||||
type T A
|
type typeForTest A
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -49,7 +49,7 @@ func (m *Marshaler) UnmarshalJSON(text []byte) error {
|
|||||||
var _ json.Marshaler = Marshaler{}
|
var _ json.Marshaler = Marshaler{}
|
||||||
var _ json.Unmarshaler = &Marshaler{}
|
var _ json.Unmarshaler = &Marshaler{}
|
||||||
|
|
||||||
type T struct {
|
type typeForTest struct {
|
||||||
S string
|
S string
|
||||||
M Marshaler
|
M Marshaler
|
||||||
I int8
|
I int8
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -51,7 +51,7 @@ var _ json.Unmarshaler = &Marshaler{}
|
|||||||
|
|
||||||
type A Marshaler
|
type A Marshaler
|
||||||
|
|
||||||
type T struct {
|
type typeForTest struct {
|
||||||
S string
|
S string
|
||||||
M A
|
M A
|
||||||
I int8
|
I int8
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T map[int16]string
|
type typeForTest map[int16]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T map[int32]string
|
type typeForTest map[int32]string
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
func Test_Roundtrip(t *testing.T) {
|
func Test_Roundtrip(t *testing.T) {
|
||||||
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
fz := fuzz.New().MaxDepth(10).NilChance(0.3)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
var before T
|
var before typeForTest
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
|
|
||||||
jbStd, err := json.Marshal(before)
|
jbStd, err := json.Marshal(before)
|
||||||
@ -37,13 +37,13 @@ func Test_Roundtrip(t *testing.T) {
|
|||||||
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
indent(jbStd, " "), indent(jbIter, " "), dump(before))
|
||||||
}
|
}
|
||||||
|
|
||||||
var afterStd T
|
var afterStd typeForTest
|
||||||
err = json.Unmarshal(jbIter, &afterStd)
|
err = json.Unmarshal(jbIter, &afterStd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with stdlib: %v\nvia:\n %s",
|
||||||
err, indent(jbIter, " "))
|
err, indent(jbIter, " "))
|
||||||
}
|
}
|
||||||
var afterIter T
|
var afterIter typeForTest
|
||||||
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
err = jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(jbIter, &afterIter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
t.Fatalf("failed to unmarshal with jsoniter: %v\nvia:\n %s",
|
||||||
@ -86,7 +86,7 @@ func benchmarkMarshal(t *testing.B, name string, fn func(interface{}) ([]byte, e
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var obj T
|
var obj typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&obj)
|
fz.Fuzz(&obj)
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
@ -102,7 +102,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
t.ReportAllocs()
|
t.ReportAllocs()
|
||||||
t.ResetTimer()
|
t.ResetTimer()
|
||||||
|
|
||||||
var before T
|
var before typeForTest
|
||||||
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3)
|
||||||
fz.Fuzz(&before)
|
fz.Fuzz(&before)
|
||||||
jb, err := json.Marshal(before)
|
jb, err := json.Marshal(before)
|
||||||
@ -111,7 +111,7 @@ func benchmarkUnmarshal(t *testing.B, name string, fn func(data []byte, v interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < t.N; i++ {
|
for i := 0; i < t.N; i++ {
|
||||||
var after T
|
var after typeForTest
|
||||||
err = fn(jb, &after)
|
err = fn(jb, &after)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
t.Fatalf("%s failed to unmarshal:\n input: %q\n error: %v", name, string(jb), err)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
type T map[int8]string
|
type typeForTest map[int8]string
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user