Fix grpc test proto generation (#5452)

The //grpc/test_proto/generate.go file was not generating the protos
in its own directory, it was regenerating the VA protos. Therefore the
generated files were out of date, and were relying on an old version
of the go proto library, which we can now remove from our direct deps.

Part of #5443
Part of #5453
This commit is contained in:
Aaron Gable 2021-06-02 16:19:25 -07:00 committed by GitHub
parent 5b235bd8eb
commit 6629b49376
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 140 additions and 125 deletions

1
go.mod
View File

@ -7,7 +7,6 @@ require (
github.com/eggsampler/acme/v3 v3.0.0
github.com/go-gorp/gorp/v3 v3.0.2
github.com/go-sql-driver/mysql v1.5.0
github.com/golang/protobuf v1.4.2
github.com/google/certificate-transparency-go v1.0.22-0.20181127102053-c25855a82c75
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
github.com/honeycombio/beeline-go v1.1.1

View File

@ -11,6 +11,7 @@ import (
"github.com/jmhodges/clock"
berrors "github.com/letsencrypt/boulder/errors"
"github.com/letsencrypt/boulder/grpc/test_proto"
testproto "github.com/letsencrypt/boulder/grpc/test_proto"
"github.com/letsencrypt/boulder/identifier"
"github.com/letsencrypt/boulder/metrics"
@ -18,6 +19,7 @@ import (
)
type errorServer struct {
test_proto.UnimplementedChillerServer
err error
}

View File

@ -105,7 +105,9 @@ func TestFailFastFalse(t *testing.T) {
// testServer is used to implement TestTimeouts, and will attempt to sleep for
// the given amount of time (unless it hits a timeout or cancel).
type testServer struct{}
type testServer struct {
test_proto.UnimplementedChillerServer
}
// Chill implements ChillerServer.Chill
func (s *testServer) Chill(ctx context.Context, in *test_proto.Time) (*test_proto.Time, error) {
@ -238,6 +240,7 @@ func TestRequestTimeTagging(t *testing.T) {
// This is used by TestInFlightRPCStat to test that the gauge for in-flight RPCs
// is incremented and decremented as expected.
type blockedServer struct {
test_proto.UnimplementedChillerServer
roadblock, received sync.WaitGroup
}

View File

@ -1,3 +1,3 @@
package test_proto
//go:generate sh -c "cd ../.. && protoc -I va/proto/ -I . --go_out=va/proto --go-grpc_out=va/proto --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative va/proto/va.proto"
//go:generate sh -c "cd ../.. && protoc -I grpc/test_proto/ -I . --go_out=grpc/test_proto --go-grpc_out=grpc/test_proto --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative grpc/test_proto/interceptors_test.proto"

View File

@ -1,17 +1,12 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.21.0
// protoc v3.11.4
// source: grpc/test_proto/interceptors_test.proto
// protoc-gen-go v1.26.0
// protoc v3.15.6
// source: interceptors_test.proto
package test_proto
import (
context "context"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
@ -25,10 +20,6 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type Time struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -40,7 +31,7 @@ type Time struct {
func (x *Time) Reset() {
*x = Time{}
if protoimpl.UnsafeEnabled {
mi := &file_grpc_test_proto_interceptors_test_proto_msgTypes[0]
mi := &file_interceptors_test_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -53,7 +44,7 @@ func (x *Time) String() string {
func (*Time) ProtoMessage() {}
func (x *Time) ProtoReflect() protoreflect.Message {
mi := &file_grpc_test_proto_interceptors_test_proto_msgTypes[0]
mi := &file_interceptors_test_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -66,7 +57,7 @@ func (x *Time) ProtoReflect() protoreflect.Message {
// Deprecated: Use Time.ProtoReflect.Descriptor instead.
func (*Time) Descriptor() ([]byte, []int) {
return file_grpc_test_proto_interceptors_test_proto_rawDescGZIP(), []int{0}
return file_interceptors_test_proto_rawDescGZIP(), []int{0}
}
func (x *Time) GetTime() int64 {
@ -76,11 +67,10 @@ func (x *Time) GetTime() int64 {
return 0
}
var File_grpc_test_proto_interceptors_test_proto protoreflect.FileDescriptor
var File_interceptors_test_proto protoreflect.FileDescriptor
var file_grpc_test_proto_interceptors_test_proto_rawDesc = []byte{
0x0a, 0x27, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x74,
var file_interceptors_test_proto_rawDesc = []byte{
0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x74,
0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x04, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x04, 0x74, 0x69, 0x6d, 0x65, 0x32, 0x22, 0x0a, 0x07, 0x43, 0x68, 0x69, 0x6c, 0x6c, 0x65, 0x72,
@ -93,22 +83,22 @@ var file_grpc_test_proto_interceptors_test_proto_rawDesc = []byte{
}
var (
file_grpc_test_proto_interceptors_test_proto_rawDescOnce sync.Once
file_grpc_test_proto_interceptors_test_proto_rawDescData = file_grpc_test_proto_interceptors_test_proto_rawDesc
file_interceptors_test_proto_rawDescOnce sync.Once
file_interceptors_test_proto_rawDescData = file_interceptors_test_proto_rawDesc
)
func file_grpc_test_proto_interceptors_test_proto_rawDescGZIP() []byte {
file_grpc_test_proto_interceptors_test_proto_rawDescOnce.Do(func() {
file_grpc_test_proto_interceptors_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_test_proto_interceptors_test_proto_rawDescData)
func file_interceptors_test_proto_rawDescGZIP() []byte {
file_interceptors_test_proto_rawDescOnce.Do(func() {
file_interceptors_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_interceptors_test_proto_rawDescData)
})
return file_grpc_test_proto_interceptors_test_proto_rawDescData
return file_interceptors_test_proto_rawDescData
}
var file_grpc_test_proto_interceptors_test_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_grpc_test_proto_interceptors_test_proto_goTypes = []interface{}{
var file_interceptors_test_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_interceptors_test_proto_goTypes = []interface{}{
(*Time)(nil), // 0: Time
}
var file_grpc_test_proto_interceptors_test_proto_depIdxs = []int32{
var file_interceptors_test_proto_depIdxs = []int32{
0, // 0: Chiller.Chill:input_type -> Time
0, // 1: Chiller.Chill:output_type -> Time
1, // [1:2] is the sub-list for method output_type
@ -118,13 +108,13 @@ var file_grpc_test_proto_interceptors_test_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for field type_name
}
func init() { file_grpc_test_proto_interceptors_test_proto_init() }
func file_grpc_test_proto_interceptors_test_proto_init() {
if File_grpc_test_proto_interceptors_test_proto != nil {
func init() { file_interceptors_test_proto_init() }
func file_interceptors_test_proto_init() {
if File_interceptors_test_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_grpc_test_proto_interceptors_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
file_interceptors_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Time); i {
case 0:
return &v.state
@ -141,100 +131,18 @@ func file_grpc_test_proto_interceptors_test_proto_init() {
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_grpc_test_proto_interceptors_test_proto_rawDesc,
RawDescriptor: file_interceptors_test_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_grpc_test_proto_interceptors_test_proto_goTypes,
DependencyIndexes: file_grpc_test_proto_interceptors_test_proto_depIdxs,
MessageInfos: file_grpc_test_proto_interceptors_test_proto_msgTypes,
GoTypes: file_interceptors_test_proto_goTypes,
DependencyIndexes: file_interceptors_test_proto_depIdxs,
MessageInfos: file_interceptors_test_proto_msgTypes,
}.Build()
File_grpc_test_proto_interceptors_test_proto = out.File
file_grpc_test_proto_interceptors_test_proto_rawDesc = nil
file_grpc_test_proto_interceptors_test_proto_goTypes = nil
file_grpc_test_proto_interceptors_test_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// ChillerClient is the client API for Chiller service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ChillerClient interface {
// Sleep for the given amount of time, and return the amount of time slept.
Chill(ctx context.Context, in *Time, opts ...grpc.CallOption) (*Time, error)
}
type chillerClient struct {
cc grpc.ClientConnInterface
}
func NewChillerClient(cc grpc.ClientConnInterface) ChillerClient {
return &chillerClient{cc}
}
func (c *chillerClient) Chill(ctx context.Context, in *Time, opts ...grpc.CallOption) (*Time, error) {
out := new(Time)
err := c.cc.Invoke(ctx, "/Chiller/Chill", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ChillerServer is the server API for Chiller service.
type ChillerServer interface {
// Sleep for the given amount of time, and return the amount of time slept.
Chill(context.Context, *Time) (*Time, error)
}
// UnimplementedChillerServer can be embedded to have forward compatible implementations.
type UnimplementedChillerServer struct {
}
func (*UnimplementedChillerServer) Chill(context.Context, *Time) (*Time, error) {
return nil, status.Errorf(codes.Unimplemented, "method Chill not implemented")
}
func RegisterChillerServer(s *grpc.Server, srv ChillerServer) {
s.RegisterService(&_Chiller_serviceDesc, srv)
}
func _Chiller_Chill_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(Time)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChillerServer).Chill(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/Chiller/Chill",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChillerServer).Chill(ctx, req.(*Time))
}
return interceptor(ctx, in, info, handler)
}
var _Chiller_serviceDesc = grpc.ServiceDesc{
ServiceName: "Chiller",
HandlerType: (*ChillerServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Chill",
Handler: _Chiller_Chill_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "grpc/test_proto/interceptors_test.proto",
File_interceptors_test_proto = out.File
file_interceptors_test_proto_rawDesc = nil
file_interceptors_test_proto_goTypes = nil
file_interceptors_test_proto_depIdxs = nil
}

View File

@ -0,0 +1,103 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package test_proto
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// ChillerClient is the client API for Chiller service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type ChillerClient interface {
// Sleep for the given amount of time, and return the amount of time slept.
Chill(ctx context.Context, in *Time, opts ...grpc.CallOption) (*Time, error)
}
type chillerClient struct {
cc grpc.ClientConnInterface
}
func NewChillerClient(cc grpc.ClientConnInterface) ChillerClient {
return &chillerClient{cc}
}
func (c *chillerClient) Chill(ctx context.Context, in *Time, opts ...grpc.CallOption) (*Time, error) {
out := new(Time)
err := c.cc.Invoke(ctx, "/Chiller/Chill", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ChillerServer is the server API for Chiller service.
// All implementations must embed UnimplementedChillerServer
// for forward compatibility
type ChillerServer interface {
// Sleep for the given amount of time, and return the amount of time slept.
Chill(context.Context, *Time) (*Time, error)
mustEmbedUnimplementedChillerServer()
}
// UnimplementedChillerServer must be embedded to have forward compatible implementations.
type UnimplementedChillerServer struct {
}
func (UnimplementedChillerServer) Chill(context.Context, *Time) (*Time, error) {
return nil, status.Errorf(codes.Unimplemented, "method Chill not implemented")
}
func (UnimplementedChillerServer) mustEmbedUnimplementedChillerServer() {}
// UnsafeChillerServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ChillerServer will
// result in compilation errors.
type UnsafeChillerServer interface {
mustEmbedUnimplementedChillerServer()
}
func RegisterChillerServer(s grpc.ServiceRegistrar, srv ChillerServer) {
s.RegisterService(&Chiller_ServiceDesc, srv)
}
func _Chiller_Chill_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(Time)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChillerServer).Chill(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/Chiller/Chill",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChillerServer).Chill(ctx, req.(*Time))
}
return interceptor(ctx, in, info, handler)
}
// Chiller_ServiceDesc is the grpc.ServiceDesc for Chiller service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Chiller_ServiceDesc = grpc.ServiceDesc{
ServiceName: "Chiller",
HandlerType: (*ChillerServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Chill",
Handler: _Chiller_Chill_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "interceptors_test.proto",
}