1*1c12ee1eSDan Willemsen// Copyright 2019 The Go Authors. All rights reserved. 2*1c12ee1eSDan Willemsen// Use of this source code is governed by a BSD-style 3*1c12ee1eSDan Willemsen// license that can be found in the LICENSE file. 4*1c12ee1eSDan Willemsen 5*1c12ee1eSDan Willemsenpackage prototest_test 6*1c12ee1eSDan Willemsen 7*1c12ee1eSDan Willemsenimport ( 8*1c12ee1eSDan Willemsen "fmt" 9*1c12ee1eSDan Willemsen "testing" 10*1c12ee1eSDan Willemsen 11*1c12ee1eSDan Willemsen "google.golang.org/protobuf/internal/flags" 12*1c12ee1eSDan Willemsen "google.golang.org/protobuf/proto" 13*1c12ee1eSDan Willemsen "google.golang.org/protobuf/runtime/protoimpl" 14*1c12ee1eSDan Willemsen "google.golang.org/protobuf/testing/prototest" 15*1c12ee1eSDan Willemsen 16*1c12ee1eSDan Willemsen irregularpb "google.golang.org/protobuf/internal/testprotos/irregular" 17*1c12ee1eSDan Willemsen legacypb "google.golang.org/protobuf/internal/testprotos/legacy" 18*1c12ee1eSDan Willemsen legacy1pb "google.golang.org/protobuf/internal/testprotos/legacy/proto2_20160225_2fc053c5" 19*1c12ee1eSDan Willemsen testpb "google.golang.org/protobuf/internal/testprotos/test" 20*1c12ee1eSDan Willemsen _ "google.golang.org/protobuf/internal/testprotos/test/weak1" 21*1c12ee1eSDan Willemsen _ "google.golang.org/protobuf/internal/testprotos/test/weak2" 22*1c12ee1eSDan Willemsen test3pb "google.golang.org/protobuf/internal/testprotos/test3" 23*1c12ee1eSDan Willemsen) 24*1c12ee1eSDan Willemsen 25*1c12ee1eSDan Willemsenfunc Test(t *testing.T) { 26*1c12ee1eSDan Willemsen ms := []proto.Message{ 27*1c12ee1eSDan Willemsen (*testpb.TestAllTypes)(nil), 28*1c12ee1eSDan Willemsen (*test3pb.TestAllTypes)(nil), 29*1c12ee1eSDan Willemsen (*testpb.TestRequired)(nil), 30*1c12ee1eSDan Willemsen (*irregularpb.Message)(nil), 31*1c12ee1eSDan Willemsen (*testpb.TestAllExtensions)(nil), 32*1c12ee1eSDan Willemsen (*legacypb.Legacy)(nil), 33*1c12ee1eSDan Willemsen protoimpl.X.MessageOf((*legacy1pb.Message)(nil)).Interface(), 34*1c12ee1eSDan Willemsen } 35*1c12ee1eSDan Willemsen if flags.ProtoLegacy { 36*1c12ee1eSDan Willemsen ms = append(ms, (*testpb.TestWeak)(nil)) 37*1c12ee1eSDan Willemsen } 38*1c12ee1eSDan Willemsen 39*1c12ee1eSDan Willemsen for _, m := range ms { 40*1c12ee1eSDan Willemsen t.Run(fmt.Sprintf("%T", m), func(t *testing.T) { 41*1c12ee1eSDan Willemsen prototest.Message{}.Test(t, m.ProtoReflect().Type()) 42*1c12ee1eSDan Willemsen }) 43*1c12ee1eSDan Willemsen } 44*1c12ee1eSDan Willemsen} 45