github.com/gogo/protobuf@v1.3.2/test/filedotname/file.dotpb_test.go (about) 1 // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 // source: file.dot.proto 3 4 package filedotname 5 6 import ( 7 fmt "fmt" 8 _ "github.com/gogo/protobuf/gogoproto" 9 github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 10 github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" 11 proto "github.com/gogo/protobuf/proto" 12 go_parser "go/parser" 13 math "math" 14 math_rand "math/rand" 15 testing "testing" 16 time "time" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var _ = proto.Marshal 21 var _ = fmt.Errorf 22 var _ = math.Inf 23 24 func TestMProto(t *testing.T) { 25 seed := time.Now().UnixNano() 26 popr := math_rand.New(math_rand.NewSource(seed)) 27 p := NewPopulatedM(popr, false) 28 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 29 if err != nil { 30 t.Fatalf("seed = %d, err = %v", seed, err) 31 } 32 msg := &M{} 33 if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { 34 t.Fatalf("seed = %d, err = %v", seed, err) 35 } 36 littlefuzz := make([]byte, len(dAtA)) 37 copy(littlefuzz, dAtA) 38 for i := range dAtA { 39 dAtA[i] = byte(popr.Intn(256)) 40 } 41 if err := p.VerboseEqual(msg); err != nil { 42 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 43 } 44 if !p.Equal(msg) { 45 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 46 } 47 if len(littlefuzz) > 0 { 48 fuzzamount := 100 49 for i := 0; i < fuzzamount; i++ { 50 littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) 51 littlefuzz = append(littlefuzz, byte(popr.Intn(256))) 52 } 53 // shouldn't panic 54 _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) 55 } 56 } 57 58 func BenchmarkMProtoMarshal(b *testing.B) { 59 popr := math_rand.New(math_rand.NewSource(616)) 60 total := 0 61 pops := make([]*M, 10000) 62 for i := 0; i < 10000; i++ { 63 pops[i] = NewPopulatedM(popr, false) 64 } 65 b.ResetTimer() 66 for i := 0; i < b.N; i++ { 67 dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) 68 if err != nil { 69 panic(err) 70 } 71 total += len(dAtA) 72 } 73 b.SetBytes(int64(total / b.N)) 74 } 75 76 func BenchmarkMProtoUnmarshal(b *testing.B) { 77 popr := math_rand.New(math_rand.NewSource(616)) 78 total := 0 79 datas := make([][]byte, 10000) 80 for i := 0; i < 10000; i++ { 81 dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedM(popr, false)) 82 if err != nil { 83 panic(err) 84 } 85 datas[i] = dAtA 86 } 87 msg := &M{} 88 b.ResetTimer() 89 for i := 0; i < b.N; i++ { 90 total += len(datas[i%10000]) 91 if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { 92 panic(err) 93 } 94 } 95 b.SetBytes(int64(total / b.N)) 96 } 97 98 func TestMJSON(t *testing.T) { 99 seed := time.Now().UnixNano() 100 popr := math_rand.New(math_rand.NewSource(seed)) 101 p := NewPopulatedM(popr, true) 102 marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} 103 jsondata, err := marshaler.MarshalToString(p) 104 if err != nil { 105 t.Fatalf("seed = %d, err = %v", seed, err) 106 } 107 msg := &M{} 108 err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) 109 if err != nil { 110 t.Fatalf("seed = %d, err = %v", seed, err) 111 } 112 if err := p.VerboseEqual(msg); err != nil { 113 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 114 } 115 if !p.Equal(msg) { 116 t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) 117 } 118 } 119 func TestMProtoText(t *testing.T) { 120 seed := time.Now().UnixNano() 121 popr := math_rand.New(math_rand.NewSource(seed)) 122 p := NewPopulatedM(popr, true) 123 dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) 124 msg := &M{} 125 if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { 126 t.Fatalf("seed = %d, err = %v", seed, err) 127 } 128 if err := p.VerboseEqual(msg); err != nil { 129 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 130 } 131 if !p.Equal(msg) { 132 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 133 } 134 } 135 136 func TestMProtoCompactText(t *testing.T) { 137 seed := time.Now().UnixNano() 138 popr := math_rand.New(math_rand.NewSource(seed)) 139 p := NewPopulatedM(popr, true) 140 dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) 141 msg := &M{} 142 if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { 143 t.Fatalf("seed = %d, err = %v", seed, err) 144 } 145 if err := p.VerboseEqual(msg); err != nil { 146 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 147 } 148 if !p.Equal(msg) { 149 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 150 } 151 } 152 153 func TestFileDotDescription(t *testing.T) { 154 FileDotDescription() 155 } 156 func TestMVerboseEqual(t *testing.T) { 157 popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) 158 p := NewPopulatedM(popr, false) 159 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 160 if err != nil { 161 panic(err) 162 } 163 msg := &M{} 164 if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { 165 panic(err) 166 } 167 if err := p.VerboseEqual(msg); err != nil { 168 t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) 169 } 170 } 171 func TestMFace(t *testing.T) { 172 popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) 173 p := NewPopulatedM(popr, true) 174 msg := p.TestProto() 175 if !p.Equal(msg) { 176 t.Fatalf("%#v !Face Equal %#v", msg, p) 177 } 178 } 179 func TestMGoString(t *testing.T) { 180 popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) 181 p := NewPopulatedM(popr, false) 182 s1 := p.GoString() 183 s2 := fmt.Sprintf("%#v", p) 184 if s1 != s2 { 185 t.Fatalf("GoString want %v got %v", s1, s2) 186 } 187 _, err := go_parser.ParseExpr(s1) 188 if err != nil { 189 t.Fatal(err) 190 } 191 } 192 func TestMSize(t *testing.T) { 193 seed := time.Now().UnixNano() 194 popr := math_rand.New(math_rand.NewSource(seed)) 195 p := NewPopulatedM(popr, true) 196 size2 := github_com_gogo_protobuf_proto.Size(p) 197 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 198 if err != nil { 199 t.Fatalf("seed = %d, err = %v", seed, err) 200 } 201 size := p.Size() 202 if len(dAtA) != size { 203 t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) 204 } 205 if size2 != size { 206 t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) 207 } 208 size3 := github_com_gogo_protobuf_proto.Size(p) 209 if size3 != size { 210 t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) 211 } 212 } 213 214 func BenchmarkMSize(b *testing.B) { 215 popr := math_rand.New(math_rand.NewSource(616)) 216 total := 0 217 pops := make([]*M, 1000) 218 for i := 0; i < 1000; i++ { 219 pops[i] = NewPopulatedM(popr, false) 220 } 221 b.ResetTimer() 222 for i := 0; i < b.N; i++ { 223 total += pops[i%1000].Size() 224 } 225 b.SetBytes(int64(total / b.N)) 226 } 227 228 func TestMStringer(t *testing.T) { 229 popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) 230 p := NewPopulatedM(popr, false) 231 s1 := p.String() 232 s2 := fmt.Sprintf("%v", p) 233 if s1 != s2 { 234 t.Fatalf("String want %v got %v", s1, s2) 235 } 236 } 237 238 //These tests are generated by github.com/gogo/protobuf/plugin/testgen