// 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