mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-10 15:20:56 +00:00
704 lines
18 KiB
Go
704 lines
18 KiB
Go
|
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||
|
// source: unmarshalmerge.proto
|
||
|
|
||
|
/*
|
||
|
Package unmarshalmerge is a generated protocol buffer package.
|
||
|
|
||
|
It is generated from these files:
|
||
|
unmarshalmerge.proto
|
||
|
|
||
|
It has these top-level messages:
|
||
|
Big
|
||
|
BigUnsafe
|
||
|
Sub
|
||
|
IntMerge
|
||
|
*/
|
||
|
package unmarshalmerge
|
||
|
|
||
|
import testing "testing"
|
||
|
import rand "math/rand"
|
||
|
import time "time"
|
||
|
import proto "github.com/gogo/protobuf/proto"
|
||
|
import jsonpb "github.com/gogo/protobuf/jsonpb"
|
||
|
import unsafe "unsafe"
|
||
|
import fmt "fmt"
|
||
|
import parser "go/parser"
|
||
|
import math "math"
|
||
|
import _ "github.com/gogo/protobuf/gogoproto"
|
||
|
|
||
|
// Reference imports to suppress errors if they are not otherwise used.
|
||
|
var _ = proto.Marshal
|
||
|
var _ = fmt.Errorf
|
||
|
var _ = math.Inf
|
||
|
|
||
|
func TestBigProto(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBig(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &Big{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
littlefuzz := make([]byte, len(dAtA))
|
||
|
copy(littlefuzz, dAtA)
|
||
|
for i := range dAtA {
|
||
|
dAtA[i] = byte(popr.Intn(256))
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
if len(littlefuzz) > 0 {
|
||
|
fuzzamount := 100
|
||
|
for i := 0; i < fuzzamount; i++ {
|
||
|
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
|
||
|
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
|
||
|
}
|
||
|
// shouldn't panic
|
||
|
_ = proto.Unmarshal(littlefuzz, msg)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkBigProtoMarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
pops := make([]*Big, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
pops[i] = NewPopulatedBig(popr, false)
|
||
|
}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
dAtA, err := proto.Marshal(pops[i%10000])
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
total += len(dAtA)
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func BenchmarkBigProtoUnmarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
datas := make([][]byte, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
dAtA, err := proto.Marshal(NewPopulatedBig(popr, false))
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
datas[i] = dAtA
|
||
|
}
|
||
|
msg := &Big{}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
total += len(datas[i%10000])
|
||
|
if err := proto.Unmarshal(datas[i%10000], msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func TestBigUnsafeProto(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBigUnsafe(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &BigUnsafe{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
littlefuzz := make([]byte, len(dAtA))
|
||
|
copy(littlefuzz, dAtA)
|
||
|
for i := range dAtA {
|
||
|
dAtA[i] = byte(popr.Intn(256))
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
if len(littlefuzz) > 0 {
|
||
|
fuzzamount := 100
|
||
|
for i := 0; i < fuzzamount; i++ {
|
||
|
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
|
||
|
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
|
||
|
}
|
||
|
// shouldn't panic
|
||
|
_ = proto.Unmarshal(littlefuzz, msg)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkBigUnsafeProtoMarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
pops := make([]*BigUnsafe, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
pops[i] = NewPopulatedBigUnsafe(popr, false)
|
||
|
}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
dAtA, err := proto.Marshal(pops[i%10000])
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
total += len(dAtA)
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func BenchmarkBigUnsafeProtoUnmarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
datas := make([][]byte, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
dAtA, err := proto.Marshal(NewPopulatedBigUnsafe(popr, false))
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
datas[i] = dAtA
|
||
|
}
|
||
|
msg := &BigUnsafe{}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
total += len(datas[i%10000])
|
||
|
if err := proto.Unmarshal(datas[i%10000], msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func TestSubProto(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedSub(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &Sub{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
littlefuzz := make([]byte, len(dAtA))
|
||
|
copy(littlefuzz, dAtA)
|
||
|
for i := range dAtA {
|
||
|
dAtA[i] = byte(popr.Intn(256))
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
if len(littlefuzz) > 0 {
|
||
|
fuzzamount := 100
|
||
|
for i := 0; i < fuzzamount; i++ {
|
||
|
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
|
||
|
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
|
||
|
}
|
||
|
// shouldn't panic
|
||
|
_ = proto.Unmarshal(littlefuzz, msg)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkSubProtoMarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
pops := make([]*Sub, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
pops[i] = NewPopulatedSub(popr, false)
|
||
|
}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
dAtA, err := proto.Marshal(pops[i%10000])
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
total += len(dAtA)
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func BenchmarkSubProtoUnmarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
datas := make([][]byte, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
dAtA, err := proto.Marshal(NewPopulatedSub(popr, false))
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
datas[i] = dAtA
|
||
|
}
|
||
|
msg := &Sub{}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
total += len(datas[i%10000])
|
||
|
if err := proto.Unmarshal(datas[i%10000], msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func TestIntMergeProto(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedIntMerge(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &IntMerge{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
littlefuzz := make([]byte, len(dAtA))
|
||
|
copy(littlefuzz, dAtA)
|
||
|
for i := range dAtA {
|
||
|
dAtA[i] = byte(popr.Intn(256))
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
if len(littlefuzz) > 0 {
|
||
|
fuzzamount := 100
|
||
|
for i := 0; i < fuzzamount; i++ {
|
||
|
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
|
||
|
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
|
||
|
}
|
||
|
// shouldn't panic
|
||
|
_ = proto.Unmarshal(littlefuzz, msg)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkIntMergeProtoMarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
pops := make([]*IntMerge, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
pops[i] = NewPopulatedIntMerge(popr, false)
|
||
|
}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
dAtA, err := proto.Marshal(pops[i%10000])
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
total += len(dAtA)
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func BenchmarkIntMergeProtoUnmarshal(b *testing.B) {
|
||
|
popr := rand.New(rand.NewSource(616))
|
||
|
total := 0
|
||
|
datas := make([][]byte, 10000)
|
||
|
for i := 0; i < 10000; i++ {
|
||
|
dAtA, err := proto.Marshal(NewPopulatedIntMerge(popr, false))
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
datas[i] = dAtA
|
||
|
}
|
||
|
msg := &IntMerge{}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
total += len(datas[i%10000])
|
||
|
if err := proto.Unmarshal(datas[i%10000], msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
b.SetBytes(int64(total / b.N))
|
||
|
}
|
||
|
|
||
|
func TestBigJSON(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBig(popr, true)
|
||
|
marshaler := jsonpb.Marshaler{}
|
||
|
jsondata, err := marshaler.MarshalToString(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &Big{}
|
||
|
err = jsonpb.UnmarshalString(jsondata, msg)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
func TestBigUnsafeJSON(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBigUnsafe(popr, true)
|
||
|
marshaler := jsonpb.Marshaler{}
|
||
|
jsondata, err := marshaler.MarshalToString(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &BigUnsafe{}
|
||
|
err = jsonpb.UnmarshalString(jsondata, msg)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
func TestSubJSON(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedSub(popr, true)
|
||
|
marshaler := jsonpb.Marshaler{}
|
||
|
jsondata, err := marshaler.MarshalToString(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &Sub{}
|
||
|
err = jsonpb.UnmarshalString(jsondata, msg)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
func TestIntMergeJSON(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedIntMerge(popr, true)
|
||
|
marshaler := jsonpb.Marshaler{}
|
||
|
jsondata, err := marshaler.MarshalToString(p)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
msg := &IntMerge{}
|
||
|
err = jsonpb.UnmarshalString(jsondata, msg)
|
||
|
if err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
func TestBigProtoText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBig(popr, true)
|
||
|
dAtA := proto.MarshalTextString(p)
|
||
|
msg := &Big{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestBigProtoCompactText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBig(popr, true)
|
||
|
dAtA := proto.CompactTextString(p)
|
||
|
msg := &Big{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestBigUnsafeProtoText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBigUnsafe(popr, true)
|
||
|
dAtA := proto.MarshalTextString(p)
|
||
|
msg := &BigUnsafe{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestBigUnsafeProtoCompactText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedBigUnsafe(popr, true)
|
||
|
dAtA := proto.CompactTextString(p)
|
||
|
msg := &BigUnsafe{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestSubProtoText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedSub(popr, true)
|
||
|
dAtA := proto.MarshalTextString(p)
|
||
|
msg := &Sub{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestSubProtoCompactText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedSub(popr, true)
|
||
|
dAtA := proto.CompactTextString(p)
|
||
|
msg := &Sub{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestIntMergeProtoText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedIntMerge(popr, true)
|
||
|
dAtA := proto.MarshalTextString(p)
|
||
|
msg := &IntMerge{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestIntMergeProtoCompactText(t *testing.T) {
|
||
|
seed := time.Now().UnixNano()
|
||
|
popr := rand.New(rand.NewSource(seed))
|
||
|
p := NewPopulatedIntMerge(popr, true)
|
||
|
dAtA := proto.CompactTextString(p)
|
||
|
msg := &IntMerge{}
|
||
|
if err := proto.UnmarshalText(dAtA, msg); err != nil {
|
||
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
|
||
|
}
|
||
|
if !p.Equal(msg) {
|
||
|
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestBigVerboseEqual(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedBig(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
msg := &Big{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
|
||
|
}
|
||
|
}
|
||
|
func TestBigUnsafeVerboseEqual(t *testing.T) {
|
||
|
var bigendian uint32 = 0x01020304
|
||
|
if *(*byte)(unsafe.Pointer(&bigendian)) == 1 {
|
||
|
t.Skip("unsafe does not work on big endian architectures")
|
||
|
}
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedBigUnsafe(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
msg := &BigUnsafe{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
|
||
|
}
|
||
|
}
|
||
|
func TestSubVerboseEqual(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedSub(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
msg := &Sub{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
|
||
|
}
|
||
|
}
|
||
|
func TestIntMergeVerboseEqual(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedIntMerge(popr, false)
|
||
|
dAtA, err := proto.Marshal(p)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
msg := &IntMerge{}
|
||
|
if err := proto.Unmarshal(dAtA, msg); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
if err := p.VerboseEqual(msg); err != nil {
|
||
|
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
|
||
|
}
|
||
|
}
|
||
|
func TestBigGoString(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedBig(popr, false)
|
||
|
s1 := p.GoString()
|
||
|
s2 := fmt.Sprintf("%#v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("GoString want %v got %v", s1, s2)
|
||
|
}
|
||
|
_, err := parser.ParseExpr(s1)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|
||
|
func TestBigUnsafeGoString(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedBigUnsafe(popr, false)
|
||
|
s1 := p.GoString()
|
||
|
s2 := fmt.Sprintf("%#v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("GoString want %v got %v", s1, s2)
|
||
|
}
|
||
|
_, err := parser.ParseExpr(s1)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|
||
|
func TestSubGoString(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedSub(popr, false)
|
||
|
s1 := p.GoString()
|
||
|
s2 := fmt.Sprintf("%#v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("GoString want %v got %v", s1, s2)
|
||
|
}
|
||
|
_, err := parser.ParseExpr(s1)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|
||
|
func TestIntMergeGoString(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedIntMerge(popr, false)
|
||
|
s1 := p.GoString()
|
||
|
s2 := fmt.Sprintf("%#v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("GoString want %v got %v", s1, s2)
|
||
|
}
|
||
|
_, err := parser.ParseExpr(s1)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|
||
|
func TestBigStringer(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedBig(popr, false)
|
||
|
s1 := p.String()
|
||
|
s2 := fmt.Sprintf("%v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("String want %v got %v", s1, s2)
|
||
|
}
|
||
|
}
|
||
|
func TestBigUnsafeStringer(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedBigUnsafe(popr, false)
|
||
|
s1 := p.String()
|
||
|
s2 := fmt.Sprintf("%v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("String want %v got %v", s1, s2)
|
||
|
}
|
||
|
}
|
||
|
func TestSubStringer(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedSub(popr, false)
|
||
|
s1 := p.String()
|
||
|
s2 := fmt.Sprintf("%v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("String want %v got %v", s1, s2)
|
||
|
}
|
||
|
}
|
||
|
func TestIntMergeStringer(t *testing.T) {
|
||
|
popr := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||
|
p := NewPopulatedIntMerge(popr, false)
|
||
|
s1 := p.String()
|
||
|
s2 := fmt.Sprintf("%v", p)
|
||
|
if s1 != s2 {
|
||
|
t.Fatalf("String want %v got %v", s1, s2)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//These tests are generated by github.com/gogo/protobuf/plugin/testgen
|