diff --git a/output_tests/builtins/bool/json_test.go b/output_tests/builtins/bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/bool/types.go b/output_tests/builtins/bool/types.go deleted file mode 100644 index 1256227..0000000 --- a/output_tests/builtins/bool/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T bool diff --git a/output_tests/builtins/bool_alias/json_test.go b/output_tests/builtins/bool_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/bool_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/bool_alias/types.go b/output_tests/builtins/bool_alias/types.go deleted file mode 100644 index 1256227..0000000 --- a/output_tests/builtins/bool_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T bool diff --git a/output_tests/builtins/byte/json_test.go b/output_tests/builtins/byte/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/byte/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/byte/types.go b/output_tests/builtins/byte/types.go deleted file mode 100644 index cfe3f49..0000000 --- a/output_tests/builtins/byte/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T byte diff --git a/output_tests/builtins/byte_alias/json_test.go b/output_tests/builtins/byte_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/byte_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/byte_alias/types.go b/output_tests/builtins/byte_alias/types.go deleted file mode 100644 index cfe3f49..0000000 --- a/output_tests/builtins/byte_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T byte diff --git a/output_tests/builtins/float32/json_test.go b/output_tests/builtins/float32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/float32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/float32/types.go b/output_tests/builtins/float32/types.go deleted file mode 100644 index 4d63a9d..0000000 --- a/output_tests/builtins/float32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T float32 diff --git a/output_tests/builtins/float32_alias/json_test.go b/output_tests/builtins/float32_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/float32_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/float32_alias/types.go b/output_tests/builtins/float32_alias/types.go deleted file mode 100644 index 4d63a9d..0000000 --- a/output_tests/builtins/float32_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T float32 diff --git a/output_tests/builtins/float64/json_test.go b/output_tests/builtins/float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/float64/types.go b/output_tests/builtins/float64/types.go deleted file mode 100644 index 841b79d..0000000 --- a/output_tests/builtins/float64/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T float64 diff --git a/output_tests/builtins/float64_alias/json_test.go b/output_tests/builtins/float64_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/float64_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/float64_alias/types.go b/output_tests/builtins/float64_alias/types.go deleted file mode 100644 index 841b79d..0000000 --- a/output_tests/builtins/float64_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T float64 diff --git a/output_tests/builtins/int16/json_test.go b/output_tests/builtins/int16/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/int16/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/int16/types.go b/output_tests/builtins/int16/types.go deleted file mode 100644 index 2c815fe..0000000 --- a/output_tests/builtins/int16/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T int16 diff --git a/output_tests/builtins/int16_alias/json_test.go b/output_tests/builtins/int16_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/int16_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/int16_alias/types.go b/output_tests/builtins/int16_alias/types.go deleted file mode 100644 index 2c815fe..0000000 --- a/output_tests/builtins/int16_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T int16 diff --git a/output_tests/builtins/int32/json_test.go b/output_tests/builtins/int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/int32/types.go b/output_tests/builtins/int32/types.go deleted file mode 100644 index ab2c0cc..0000000 --- a/output_tests/builtins/int32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T int32 diff --git a/output_tests/builtins/int32_alias/json_test.go b/output_tests/builtins/int32_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/int32_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/int32_alias/types.go b/output_tests/builtins/int32_alias/types.go deleted file mode 100644 index ab2c0cc..0000000 --- a/output_tests/builtins/int32_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T int32 diff --git a/output_tests/builtins/int8/json_test.go b/output_tests/builtins/int8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/int8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/int8/types.go b/output_tests/builtins/int8/types.go deleted file mode 100644 index 9701529..0000000 --- a/output_tests/builtins/int8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T int8 diff --git a/output_tests/builtins/int8_alias/json_test.go b/output_tests/builtins/int8_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/int8_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/int8_alias/types.go b/output_tests/builtins/int8_alias/types.go deleted file mode 100644 index 9701529..0000000 --- a/output_tests/builtins/int8_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T int8 diff --git a/output_tests/builtins/string/json_test.go b/output_tests/builtins/string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/string/types.go b/output_tests/builtins/string/types.go deleted file mode 100644 index e453633..0000000 --- a/output_tests/builtins/string/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T string diff --git a/output_tests/builtins/string_alias/json_test.go b/output_tests/builtins/string_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/string_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/string_alias/types.go b/output_tests/builtins/string_alias/types.go deleted file mode 100644 index e453633..0000000 --- a/output_tests/builtins/string_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T string diff --git a/output_tests/builtins/uint16/json_test.go b/output_tests/builtins/uint16/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/uint16/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/uint16/types.go b/output_tests/builtins/uint16/types.go deleted file mode 100644 index 2b8ef0c..0000000 --- a/output_tests/builtins/uint16/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T uint16 diff --git a/output_tests/builtins/uint16_alias/json_test.go b/output_tests/builtins/uint16_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/uint16_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/uint16_alias/types.go b/output_tests/builtins/uint16_alias/types.go deleted file mode 100644 index 2b8ef0c..0000000 --- a/output_tests/builtins/uint16_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T uint16 diff --git a/output_tests/builtins/uint32/json_test.go b/output_tests/builtins/uint32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/uint32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/uint32/types.go b/output_tests/builtins/uint32/types.go deleted file mode 100644 index 7b97339..0000000 --- a/output_tests/builtins/uint32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T uint32 diff --git a/output_tests/builtins/uint32_alias/json_test.go b/output_tests/builtins/uint32_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/uint32_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/uint32_alias/types.go b/output_tests/builtins/uint32_alias/types.go deleted file mode 100644 index 7b97339..0000000 --- a/output_tests/builtins/uint32_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T uint32 diff --git a/output_tests/builtins/uint8/json_test.go b/output_tests/builtins/uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/uint8/types.go b/output_tests/builtins/uint8/types.go deleted file mode 100644 index 3e34e87..0000000 --- a/output_tests/builtins/uint8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T uint8 diff --git a/output_tests/builtins/uint8_alias/json_test.go b/output_tests/builtins/uint8_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/builtins/uint8_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/builtins/uint8_alias/types.go b/output_tests/builtins/uint8_alias/types.go deleted file mode 100644 index 3e34e87..0000000 --- a/output_tests/builtins/uint8_alias/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T uint8 diff --git a/output_tests/maps/builtins/int32/bool/json_test.go b/output_tests/maps/builtins/int32/bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/bool/types.go b/output_tests/maps/builtins/int32/bool/types.go deleted file mode 100644 index 7f21229..0000000 --- a/output_tests/maps/builtins/int32/bool/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]bool diff --git a/output_tests/maps/builtins/int32/byte/json_test.go b/output_tests/maps/builtins/int32/byte/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/byte/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/byte/types.go b/output_tests/maps/builtins/int32/byte/types.go deleted file mode 100644 index 8190cba..0000000 --- a/output_tests/maps/builtins/int32/byte/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]byte diff --git a/output_tests/maps/builtins/int32/float32/json_test.go b/output_tests/maps/builtins/int32/float32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/float32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/float32/types.go b/output_tests/maps/builtins/int32/float32/types.go deleted file mode 100644 index be7c27d..0000000 --- a/output_tests/maps/builtins/int32/float32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]float32 diff --git a/output_tests/maps/builtins/int32/float64/json_test.go b/output_tests/maps/builtins/int32/float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/float64/types.go b/output_tests/maps/builtins/int32/float64/types.go deleted file mode 100644 index 5f597d7..0000000 --- a/output_tests/maps/builtins/int32/float64/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]float64 diff --git a/output_tests/maps/builtins/int32/int32/json_test.go b/output_tests/maps/builtins/int32/int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/int32/types.go b/output_tests/maps/builtins/int32/int32/types.go deleted file mode 100644 index 94e8940..0000000 --- a/output_tests/maps/builtins/int32/int32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]int32 diff --git a/output_tests/maps/builtins/int32/int8/json_test.go b/output_tests/maps/builtins/int32/int8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/int8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/int8/types.go b/output_tests/maps/builtins/int32/int8/types.go deleted file mode 100644 index e2f3708..0000000 --- a/output_tests/maps/builtins/int32/int8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]int8 diff --git a/output_tests/maps/builtins/int32/string/json_test.go b/output_tests/maps/builtins/int32/string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/string/types.go b/output_tests/maps/builtins/int32/string/types.go deleted file mode 100644 index 0bc11de..0000000 --- a/output_tests/maps/builtins/int32/string/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]string diff --git a/output_tests/maps/builtins/int32/string_alias/json_test.go b/output_tests/maps/builtins/int32/string_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/string_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/string_alias/types.go b/output_tests/maps/builtins/int32/string_alias/types.go deleted file mode 100644 index d4af66b..0000000 --- a/output_tests/maps/builtins/int32/string_alias/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[int32]StringAlias diff --git a/output_tests/maps/builtins/int32/uint8/json_test.go b/output_tests/maps/builtins/int32/uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/int32/uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/int32/uint8/types.go b/output_tests/maps/builtins/int32/uint8/types.go deleted file mode 100644 index e2948b2..0000000 --- a/output_tests/maps/builtins/int32/uint8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int32]uint8 diff --git a/output_tests/maps/builtins/string/bool/json_test.go b/output_tests/maps/builtins/string/bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/bool/types.go b/output_tests/maps/builtins/string/bool/types.go deleted file mode 100644 index 29e96ad..0000000 --- a/output_tests/maps/builtins/string/bool/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]bool diff --git a/output_tests/maps/builtins/string/byte/json_test.go b/output_tests/maps/builtins/string/byte/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/byte/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/byte/types.go b/output_tests/maps/builtins/string/byte/types.go deleted file mode 100644 index f3c4543..0000000 --- a/output_tests/maps/builtins/string/byte/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]byte diff --git a/output_tests/maps/builtins/string/float32/json_test.go b/output_tests/maps/builtins/string/float32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/float32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/float32/types.go b/output_tests/maps/builtins/string/float32/types.go deleted file mode 100644 index e019053..0000000 --- a/output_tests/maps/builtins/string/float32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]float32 diff --git a/output_tests/maps/builtins/string/float64/json_test.go b/output_tests/maps/builtins/string/float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/float64/types.go b/output_tests/maps/builtins/string/float64/types.go deleted file mode 100644 index f038307..0000000 --- a/output_tests/maps/builtins/string/float64/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]float64 diff --git a/output_tests/maps/builtins/string/int32/json_test.go b/output_tests/maps/builtins/string/int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/int32/types.go b/output_tests/maps/builtins/string/int32/types.go deleted file mode 100644 index 5024937..0000000 --- a/output_tests/maps/builtins/string/int32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]int32 diff --git a/output_tests/maps/builtins/string/int8/json_test.go b/output_tests/maps/builtins/string/int8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/int8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/int8/types.go b/output_tests/maps/builtins/string/int8/types.go deleted file mode 100644 index 1843c77..0000000 --- a/output_tests/maps/builtins/string/int8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]int8 diff --git a/output_tests/maps/builtins/string/string/json_test.go b/output_tests/maps/builtins/string/string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/string/types.go b/output_tests/maps/builtins/string/string/types.go deleted file mode 100644 index e3eeca5..0000000 --- a/output_tests/maps/builtins/string/string/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]string diff --git a/output_tests/maps/builtins/string/string_alias/json_test.go b/output_tests/maps/builtins/string/string_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/string_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/string_alias/types.go b/output_tests/maps/builtins/string/string_alias/types.go deleted file mode 100644 index af97195..0000000 --- a/output_tests/maps/builtins/string/string_alias/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[string]StringAlias diff --git a/output_tests/maps/builtins/string/uint8/json_test.go b/output_tests/maps/builtins/string/uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string/uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string/uint8/types.go b/output_tests/maps/builtins/string/uint8/types.go deleted file mode 100644 index 295c8f9..0000000 --- a/output_tests/maps/builtins/string/uint8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]uint8 diff --git a/output_tests/maps/builtins/string_alias/bool/json_test.go b/output_tests/maps/builtins/string_alias/bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/bool/types.go b/output_tests/maps/builtins/string_alias/bool/types.go deleted file mode 100644 index f385400..0000000 --- a/output_tests/maps/builtins/string_alias/bool/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]bool diff --git a/output_tests/maps/builtins/string_alias/byte/json_test.go b/output_tests/maps/builtins/string_alias/byte/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/byte/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/byte/types.go b/output_tests/maps/builtins/string_alias/byte/types.go deleted file mode 100644 index 665339f..0000000 --- a/output_tests/maps/builtins/string_alias/byte/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]byte diff --git a/output_tests/maps/builtins/string_alias/float32/json_test.go b/output_tests/maps/builtins/string_alias/float32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/float32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/float32/types.go b/output_tests/maps/builtins/string_alias/float32/types.go deleted file mode 100644 index 93ea708..0000000 --- a/output_tests/maps/builtins/string_alias/float32/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]float32 diff --git a/output_tests/maps/builtins/string_alias/float64/json_test.go b/output_tests/maps/builtins/string_alias/float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/float64/types.go b/output_tests/maps/builtins/string_alias/float64/types.go deleted file mode 100644 index 10e8dbe..0000000 --- a/output_tests/maps/builtins/string_alias/float64/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]float64 diff --git a/output_tests/maps/builtins/string_alias/int32/json_test.go b/output_tests/maps/builtins/string_alias/int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/int32/types.go b/output_tests/maps/builtins/string_alias/int32/types.go deleted file mode 100644 index c0b8c1b..0000000 --- a/output_tests/maps/builtins/string_alias/int32/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]int32 diff --git a/output_tests/maps/builtins/string_alias/int8/json_test.go b/output_tests/maps/builtins/string_alias/int8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/int8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/int8/types.go b/output_tests/maps/builtins/string_alias/int8/types.go deleted file mode 100644 index a0b7de3..0000000 --- a/output_tests/maps/builtins/string_alias/int8/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]int8 diff --git a/output_tests/maps/builtins/string_alias/string/json_test.go b/output_tests/maps/builtins/string_alias/string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/string/types.go b/output_tests/maps/builtins/string_alias/string/types.go deleted file mode 100644 index 890064d..0000000 --- a/output_tests/maps/builtins/string_alias/string/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]string diff --git a/output_tests/maps/builtins/string_alias/string_alias/json_test.go b/output_tests/maps/builtins/string_alias/string_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/string_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/string_alias/types.go b/output_tests/maps/builtins/string_alias/string_alias/types.go deleted file mode 100644 index 6abab0e..0000000 --- a/output_tests/maps/builtins/string_alias/string_alias/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]StringAlias diff --git a/output_tests/maps/builtins/string_alias/uint8/json_test.go b/output_tests/maps/builtins/string_alias/uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/string_alias/uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/string_alias/uint8/types.go b/output_tests/maps/builtins/string_alias/uint8/types.go deleted file mode 100644 index ef37a71..0000000 --- a/output_tests/maps/builtins/string_alias/uint8/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[StringAlias]uint8 diff --git a/output_tests/maps/builtins/uint8/bool/json_test.go b/output_tests/maps/builtins/uint8/bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/bool/types.go b/output_tests/maps/builtins/uint8/bool/types.go deleted file mode 100644 index 1c32ae2..0000000 --- a/output_tests/maps/builtins/uint8/bool/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]bool diff --git a/output_tests/maps/builtins/uint8/byte/json_test.go b/output_tests/maps/builtins/uint8/byte/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/byte/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/byte/types.go b/output_tests/maps/builtins/uint8/byte/types.go deleted file mode 100644 index bddd3d0..0000000 --- a/output_tests/maps/builtins/uint8/byte/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]byte diff --git a/output_tests/maps/builtins/uint8/float32/json_test.go b/output_tests/maps/builtins/uint8/float32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/float32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/float32/types.go b/output_tests/maps/builtins/uint8/float32/types.go deleted file mode 100644 index 4ab4270..0000000 --- a/output_tests/maps/builtins/uint8/float32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]float32 diff --git a/output_tests/maps/builtins/uint8/float64/json_test.go b/output_tests/maps/builtins/uint8/float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/float64/types.go b/output_tests/maps/builtins/uint8/float64/types.go deleted file mode 100644 index a429f7e..0000000 --- a/output_tests/maps/builtins/uint8/float64/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]float64 diff --git a/output_tests/maps/builtins/uint8/int32/json_test.go b/output_tests/maps/builtins/uint8/int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/int32/types.go b/output_tests/maps/builtins/uint8/int32/types.go deleted file mode 100644 index c2ce4be..0000000 --- a/output_tests/maps/builtins/uint8/int32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]int32 diff --git a/output_tests/maps/builtins/uint8/int8/json_test.go b/output_tests/maps/builtins/uint8/int8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/int8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/int8/types.go b/output_tests/maps/builtins/uint8/int8/types.go deleted file mode 100644 index 01fa4d3..0000000 --- a/output_tests/maps/builtins/uint8/int8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]int8 diff --git a/output_tests/maps/builtins/uint8/string/json_test.go b/output_tests/maps/builtins/uint8/string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/string/types.go b/output_tests/maps/builtins/uint8/string/types.go deleted file mode 100644 index 97c774a..0000000 --- a/output_tests/maps/builtins/uint8/string/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]string diff --git a/output_tests/maps/builtins/uint8/string_alias/json_test.go b/output_tests/maps/builtins/uint8/string_alias/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/string_alias/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/string_alias/types.go b/output_tests/maps/builtins/uint8/string_alias/types.go deleted file mode 100644 index d8e81f3..0000000 --- a/output_tests/maps/builtins/uint8/string_alias/types.go +++ /dev/null @@ -1,5 +0,0 @@ -package test - -type StringAlias string - -type T map[uint8]StringAlias diff --git a/output_tests/maps/builtins/uint8/uint8/json_test.go b/output_tests/maps/builtins/uint8/uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/builtins/uint8/uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/builtins/uint8/uint8/types.go b/output_tests/maps/builtins/uint8/uint8/types.go deleted file mode 100644 index ee7f109..0000000 --- a/output_tests/maps/builtins/uint8/uint8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint8]uint8 diff --git a/output_tests/maps/pointers/int16/ptr_bool/json_test.go b/output_tests/maps/pointers/int16/ptr_bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/int16/ptr_bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/int16/ptr_bool/types.go b/output_tests/maps/pointers/int16/ptr_bool/types.go deleted file mode 100644 index f49ad1c..0000000 --- a/output_tests/maps/pointers/int16/ptr_bool/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int16]*bool diff --git a/output_tests/maps/pointers/int16/ptr_float64/json_test.go b/output_tests/maps/pointers/int16/ptr_float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/int16/ptr_float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/int16/ptr_float64/types.go b/output_tests/maps/pointers/int16/ptr_float64/types.go deleted file mode 100644 index 7fc988e..0000000 --- a/output_tests/maps/pointers/int16/ptr_float64/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int16]*float64 diff --git a/output_tests/maps/pointers/int16/ptr_int32/json_test.go b/output_tests/maps/pointers/int16/ptr_int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/int16/ptr_int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/int16/ptr_int32/types.go b/output_tests/maps/pointers/int16/ptr_int32/types.go deleted file mode 100644 index 1c9e438..0000000 --- a/output_tests/maps/pointers/int16/ptr_int32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int16]*int32 diff --git a/output_tests/maps/pointers/int16/ptr_string/json_test.go b/output_tests/maps/pointers/int16/ptr_string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/int16/ptr_string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/int16/ptr_string/types.go b/output_tests/maps/pointers/int16/ptr_string/types.go deleted file mode 100644 index 04bc953..0000000 --- a/output_tests/maps/pointers/int16/ptr_string/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int16]*string diff --git a/output_tests/maps/pointers/int16/ptr_uint8/json_test.go b/output_tests/maps/pointers/int16/ptr_uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/int16/ptr_uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/int16/ptr_uint8/types.go b/output_tests/maps/pointers/int16/ptr_uint8/types.go deleted file mode 100644 index 2f9baed..0000000 --- a/output_tests/maps/pointers/int16/ptr_uint8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[int16]*uint8 diff --git a/output_tests/maps/pointers/string/ptr_bool/json_test.go b/output_tests/maps/pointers/string/ptr_bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/string/ptr_bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/string/ptr_bool/types.go b/output_tests/maps/pointers/string/ptr_bool/types.go deleted file mode 100644 index e31fb56..0000000 --- a/output_tests/maps/pointers/string/ptr_bool/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]*bool diff --git a/output_tests/maps/pointers/string/ptr_float64/json_test.go b/output_tests/maps/pointers/string/ptr_float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/string/ptr_float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/string/ptr_float64/types.go b/output_tests/maps/pointers/string/ptr_float64/types.go deleted file mode 100644 index 3f19528..0000000 --- a/output_tests/maps/pointers/string/ptr_float64/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]*float64 diff --git a/output_tests/maps/pointers/string/ptr_int32/json_test.go b/output_tests/maps/pointers/string/ptr_int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/string/ptr_int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/string/ptr_int32/types.go b/output_tests/maps/pointers/string/ptr_int32/types.go deleted file mode 100644 index d9516ca..0000000 --- a/output_tests/maps/pointers/string/ptr_int32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]*int32 diff --git a/output_tests/maps/pointers/string/ptr_string/json_test.go b/output_tests/maps/pointers/string/ptr_string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/string/ptr_string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/string/ptr_string/types.go b/output_tests/maps/pointers/string/ptr_string/types.go deleted file mode 100644 index 11262f7..0000000 --- a/output_tests/maps/pointers/string/ptr_string/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]*string diff --git a/output_tests/maps/pointers/string/ptr_uint8/json_test.go b/output_tests/maps/pointers/string/ptr_uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/string/ptr_uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/string/ptr_uint8/types.go b/output_tests/maps/pointers/string/ptr_uint8/types.go deleted file mode 100644 index ef560ee..0000000 --- a/output_tests/maps/pointers/string/ptr_uint8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[string]*uint8 diff --git a/output_tests/maps/pointers/uint16/ptr_bool/json_test.go b/output_tests/maps/pointers/uint16/ptr_bool/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/uint16/ptr_bool/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/uint16/ptr_bool/types.go b/output_tests/maps/pointers/uint16/ptr_bool/types.go deleted file mode 100644 index 9cdc0c8..0000000 --- a/output_tests/maps/pointers/uint16/ptr_bool/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint16]*bool diff --git a/output_tests/maps/pointers/uint16/ptr_float64/json_test.go b/output_tests/maps/pointers/uint16/ptr_float64/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/uint16/ptr_float64/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/uint16/ptr_float64/types.go b/output_tests/maps/pointers/uint16/ptr_float64/types.go deleted file mode 100644 index cfd5772..0000000 --- a/output_tests/maps/pointers/uint16/ptr_float64/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint16]*float64 diff --git a/output_tests/maps/pointers/uint16/ptr_int32/json_test.go b/output_tests/maps/pointers/uint16/ptr_int32/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/uint16/ptr_int32/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/uint16/ptr_int32/types.go b/output_tests/maps/pointers/uint16/ptr_int32/types.go deleted file mode 100644 index b472630..0000000 --- a/output_tests/maps/pointers/uint16/ptr_int32/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint16]*int32 diff --git a/output_tests/maps/pointers/uint16/ptr_string/json_test.go b/output_tests/maps/pointers/uint16/ptr_string/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/uint16/ptr_string/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/uint16/ptr_string/types.go b/output_tests/maps/pointers/uint16/ptr_string/types.go deleted file mode 100644 index 2b56c01..0000000 --- a/output_tests/maps/pointers/uint16/ptr_string/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint16]*string diff --git a/output_tests/maps/pointers/uint16/ptr_uint8/json_test.go b/output_tests/maps/pointers/uint16/ptr_uint8/json_test.go deleted file mode 100644 index f678ec9..0000000 --- a/output_tests/maps/pointers/uint16/ptr_uint8/json_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "testing" - - "github.com/davecgh/go-spew/spew" - fuzz "github.com/google/gofuzz" - jsoniter "github.com/json-iterator/go" -) - -func Test_Roundtrip(t *testing.T) { - fz := fuzz.New().MaxDepth(10).NilChance(0.3) - for i := 0; i < 1000; i++ { - var before T - fz.Fuzz(&before) - - jbStd, err := json.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with stdlib: %v", err) - } - jbIter, err := jsoniter.Marshal(before) - if err != nil { - t.Errorf("failed to marshal with jsoniter: %v", err) - } - if string(jbStd) != string(jbIter) { - t.Errorf("marshal expected:\n %s\ngot:\n %s\nobj:\n %s", - indent(jbStd, " "), indent(jbIter, " "), dump(before)) - } - - var afterStd T - err = json.Unmarshal(jbIter, &afterStd) - if err != nil { - t.Errorf("failed to unmarshal with stdlib: %v", err) - } - var afterIter T - err = jsoniter.Unmarshal(jbIter, &afterIter) - if err != nil { - t.Errorf("failed to unmarshal with jsoniter: %v", err) - } - if fingerprint(afterStd) != fingerprint(afterIter) { - t.Errorf("unmarshal expected:\n %s\ngot:\n %s\nvia:\n %s", - dump(afterStd), dump(afterIter), indent(jbIter, " ")) - } - } -} - -const indentStr = "> " - -func fingerprint(obj interface{}) string { - c := spew.ConfigState{ - SortKeys: true, - SpewKeys: true, - } - return c.Sprintf("%v", obj) -} - -func dump(obj interface{}) string { - cfg := spew.ConfigState{ - Indent: indentStr, - } - return cfg.Sdump(obj) -} - -func indent(src []byte, prefix string) string { - var buf bytes.Buffer - json.Indent(&buf, src, prefix, indentStr) - return buf.String() -} - -func BenchmarkStandardMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := json.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkStandardUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = json.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} - -func BenchmarkJSONIterMarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var obj T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&obj) - for i := 0; i < t.N; i++ { - jb, err := jsoniter.Marshal(obj) - if err != nil { - t.Fatalf("failed to marshal:\n input: %s\n error: %v", dump(obj), err) - } - _ = jb - } -} - -func BenchmarkJSONIterUnmarshal(t *testing.B) { - t.ReportAllocs() - t.ResetTimer() - - var before T - fz := fuzz.NewWithSeed(0).MaxDepth(10).NilChance(0.3) - fz.Fuzz(&before) - jb, err := json.Marshal(before) - if err != nil { - t.Fatalf("failed to marshal: %v", err) - } - - for i := 0; i < t.N; i++ { - var after T - err = jsoniter.Unmarshal(jb, &after) - if err != nil { - t.Fatalf("failed to unmarshal:\n input: %q\n error: %v", string(jb), err) - } - } -} diff --git a/output_tests/maps/pointers/uint16/ptr_uint8/types.go b/output_tests/maps/pointers/uint16/ptr_uint8/types.go deleted file mode 100644 index 5517914..0000000 --- a/output_tests/maps/pointers/uint16/ptr_uint8/types.go +++ /dev/null @@ -1,3 +0,0 @@ -package test - -type T map[uint16]*uint8