internal/fileinit: add tests for fileinit and protodesc
Test the fileinit and protodesc packages by verifying that passing a
FileDescriptorProto through a round trip of these packages leaves it
unchanged.
Change-Id: I6bfb894d95f1736f9908adee1ab63e9653b3f1be
Reviewed-on: https://go-review.googlesource.com/c/159762
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/internal/testprotos/test/test_weak.pb.go b/internal/testprotos/test/test_weak.pb.go
new file mode 100644
index 0000000..2d010a0
--- /dev/null
+++ b/internal/testprotos/test/test_weak.pb.go
@@ -0,0 +1,105 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: test_weak.proto
+
+package test
+
+import (
+ bytes "bytes"
+ gzip "compress/gzip"
+ proto "github.com/golang/protobuf/proto"
+ protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
+ protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
+ reflect "reflect"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type WeakImportMessage struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *WeakImportMessage) ProtoReflect() protoreflect.Message {
+ return xxx_TestWeak_protoFile_messageTypes[0].MessageOf(m)
+}
+func (m *WeakImportMessage) Reset() { *m = WeakImportMessage{} }
+func (m *WeakImportMessage) String() string { return proto.CompactTextString(m) }
+func (*WeakImportMessage) ProtoMessage() {}
+func (*WeakImportMessage) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2b8edfebc4f71b3_gzipped, []int{0}
+}
+
+func (m *WeakImportMessage) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_WeakImportMessage.Unmarshal(m, b)
+}
+func (m *WeakImportMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_WeakImportMessage.Marshal(b, m, deterministic)
+}
+func (m *WeakImportMessage) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_WeakImportMessage.Merge(m, src)
+}
+func (m *WeakImportMessage) XXX_Size() int {
+ return xxx_messageInfo_WeakImportMessage.Size(m)
+}
+func (m *WeakImportMessage) XXX_DiscardUnknown() {
+ xxx_messageInfo_WeakImportMessage.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_WeakImportMessage proto.InternalMessageInfo
+
+func init() {
+ proto.RegisterFile("test_weak.proto", fileDescriptor_c2b8edfebc4f71b3_gzipped)
+ proto.RegisterType((*WeakImportMessage)(nil), "goproto.proto.test.WeakImportMessage")
+}
+
+var fileDescriptor_c2b8edfebc4f71b3 = []byte{
+ // 116 bytes of the wire-encoded FileDescriptorProto
+ 0x0a, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x12, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x57, 0x65, 0x61, 0x6b, 0x49, 0x6d, 0x70,
+ 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69,
+ 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f,
+ 0x74, 0x65, 0x73, 0x74,
+}
+
+var fileDescriptor_c2b8edfebc4f71b3_gzipped = func() []byte {
+ bb := new(bytes.Buffer)
+ zw, _ := gzip.NewWriterLevel(bb, gzip.NoCompression)
+ zw.Write(fileDescriptor_c2b8edfebc4f71b3)
+ zw.Close()
+ return bb.Bytes()
+}()
+
+const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
+
+var TestWeak_protoFile protoreflect.FileDescriptor
+
+var xxx_TestWeak_protoFile_messageTypes [1]protoimpl.MessageType
+var xxx_TestWeak_protoFile_goTypes = []interface{}{
+ (*WeakImportMessage)(nil), // 0: goproto.proto.test.WeakImportMessage
+}
+var xxx_TestWeak_protoFile_depIdxs = []int32{}
+
+func init() {
+ var messageTypes [1]protoreflect.MessageType
+ TestWeak_protoFile = protoimpl.FileBuilder{
+ RawDescriptor: fileDescriptor_c2b8edfebc4f71b3,
+ GoTypes: xxx_TestWeak_protoFile_goTypes,
+ DependencyIndexes: xxx_TestWeak_protoFile_depIdxs,
+ MessageOutputTypes: messageTypes[:],
+ }.Init()
+ messageGoTypes := xxx_TestWeak_protoFile_goTypes[0:][:1]
+ for i, mt := range messageTypes[:] {
+ xxx_TestWeak_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+ xxx_TestWeak_protoFile_messageTypes[i].PBType = mt
+ }
+ xxx_TestWeak_protoFile_goTypes = nil
+ xxx_TestWeak_protoFile_depIdxs = nil
+}