mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-20 03:51:00 +00:00
987718baf8
Also tweaks the proto definitions: - [packed=false] on the block_indexes field to retain compat with v0.14.16 and earlier. - Uses the vendored protobuf package in include paths. And, "build.go setup" will install the vendored protoc-gen-gogofast. This should ensure that a proto rebuild isn't so dependent on whatever version of the compiler and package the developer has installed... GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3864
264 lines
7.4 KiB
Go
264 lines
7.4 KiB
Go
// Code generated by protoc-gen-gogo.
|
|
// source: data.proto
|
|
// DO NOT EDIT!
|
|
|
|
/*
|
|
Package data is a generated protocol buffer package.
|
|
|
|
It is generated from these files:
|
|
data.proto
|
|
|
|
It has these top-level messages:
|
|
MyMessage
|
|
*/
|
|
package data
|
|
|
|
import testing "testing"
|
|
import math_rand "math/rand"
|
|
import time "time"
|
|
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
|
|
import github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
|
|
import fmt "fmt"
|
|
import go_parser "go/parser"
|
|
import proto "github.com/gogo/protobuf/proto"
|
|
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 TestMyMessageProto(t *testing.T) {
|
|
seed := time.Now().UnixNano()
|
|
popr := math_rand.New(math_rand.NewSource(seed))
|
|
p := NewPopulatedMyMessage(popr, false)
|
|
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
|
|
if err != nil {
|
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
|
}
|
|
msg := &MyMessage{}
|
|
if err := github_com_gogo_protobuf_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
|
|
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
|
|
}
|
|
}
|
|
|
|
func TestMyMessageMarshalTo(t *testing.T) {
|
|
seed := time.Now().UnixNano()
|
|
popr := math_rand.New(math_rand.NewSource(seed))
|
|
p := NewPopulatedMyMessage(popr, false)
|
|
size := p.Size()
|
|
dAtA := make([]byte, size)
|
|
for i := range dAtA {
|
|
dAtA[i] = byte(popr.Intn(256))
|
|
}
|
|
_, err := p.MarshalTo(dAtA)
|
|
if err != nil {
|
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
|
}
|
|
msg := &MyMessage{}
|
|
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
|
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
|
}
|
|
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)
|
|
}
|
|
}
|
|
|
|
func BenchmarkMyMessageProtoMarshal(b *testing.B) {
|
|
popr := math_rand.New(math_rand.NewSource(616))
|
|
total := 0
|
|
pops := make([]*MyMessage, 10000)
|
|
for i := 0; i < 10000; i++ {
|
|
pops[i] = NewPopulatedMyMessage(popr, false)
|
|
}
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
total += len(dAtA)
|
|
}
|
|
b.SetBytes(int64(total / b.N))
|
|
}
|
|
|
|
func BenchmarkMyMessageProtoUnmarshal(b *testing.B) {
|
|
popr := math_rand.New(math_rand.NewSource(616))
|
|
total := 0
|
|
datas := make([][]byte, 10000)
|
|
for i := 0; i < 10000; i++ {
|
|
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedMyMessage(popr, false))
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
datas[i] = dAtA
|
|
}
|
|
msg := &MyMessage{}
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
total += len(datas[i%10000])
|
|
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
b.SetBytes(int64(total / b.N))
|
|
}
|
|
|
|
func TestMyMessageJSON(t *testing.T) {
|
|
seed := time.Now().UnixNano()
|
|
popr := math_rand.New(math_rand.NewSource(seed))
|
|
p := NewPopulatedMyMessage(popr, true)
|
|
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
|
|
jsondata, err := marshaler.MarshalToString(p)
|
|
if err != nil {
|
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
|
}
|
|
msg := &MyMessage{}
|
|
err = github_com_gogo_protobuf_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 TestMyMessageProtoText(t *testing.T) {
|
|
seed := time.Now().UnixNano()
|
|
popr := math_rand.New(math_rand.NewSource(seed))
|
|
p := NewPopulatedMyMessage(popr, true)
|
|
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
|
|
msg := &MyMessage{}
|
|
if err := github_com_gogo_protobuf_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 TestMyMessageProtoCompactText(t *testing.T) {
|
|
seed := time.Now().UnixNano()
|
|
popr := math_rand.New(math_rand.NewSource(seed))
|
|
p := NewPopulatedMyMessage(popr, true)
|
|
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
|
|
msg := &MyMessage{}
|
|
if err := github_com_gogo_protobuf_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 TestMyMessageVerboseEqual(t *testing.T) {
|
|
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
|
|
p := NewPopulatedMyMessage(popr, false)
|
|
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
msg := &MyMessage{}
|
|
if err := github_com_gogo_protobuf_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 TestMyMessageGoString(t *testing.T) {
|
|
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
|
|
p := NewPopulatedMyMessage(popr, false)
|
|
s1 := p.GoString()
|
|
s2 := fmt.Sprintf("%#v", p)
|
|
if s1 != s2 {
|
|
t.Fatalf("GoString want %v got %v", s1, s2)
|
|
}
|
|
_, err := go_parser.ParseExpr(s1)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
func TestMyMessageSize(t *testing.T) {
|
|
seed := time.Now().UnixNano()
|
|
popr := math_rand.New(math_rand.NewSource(seed))
|
|
p := NewPopulatedMyMessage(popr, true)
|
|
size2 := github_com_gogo_protobuf_proto.Size(p)
|
|
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
|
|
if err != nil {
|
|
t.Fatalf("seed = %d, err = %v", seed, err)
|
|
}
|
|
size := p.Size()
|
|
if len(dAtA) != size {
|
|
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
|
|
}
|
|
if size2 != size {
|
|
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
|
|
}
|
|
size3 := github_com_gogo_protobuf_proto.Size(p)
|
|
if size3 != size {
|
|
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
|
|
}
|
|
}
|
|
|
|
func BenchmarkMyMessageSize(b *testing.B) {
|
|
popr := math_rand.New(math_rand.NewSource(616))
|
|
total := 0
|
|
pops := make([]*MyMessage, 1000)
|
|
for i := 0; i < 1000; i++ {
|
|
pops[i] = NewPopulatedMyMessage(popr, false)
|
|
}
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
total += pops[i%1000].Size()
|
|
}
|
|
b.SetBytes(int64(total / b.N))
|
|
}
|
|
|
|
func TestMyMessageStringer(t *testing.T) {
|
|
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
|
|
p := NewPopulatedMyMessage(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
|