mirror of
https://github.com/protocolbuffers/protobuf-go.git
synced 2025-01-06 00:55:51 +00:00
5b6d0471e5
When encountering a type that does not have a MessageInfo, don't assume that it's a legacy message that doesn't implement proto.Message. Add a set of test messages exercising this case (panics prior to the internal/impl change). Change-Id: Ic1ec5ecfbe92278fbef44284ff52a0e0622a158c Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/182477 Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
31 lines
808 B
Go
31 lines
808 B
Go
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package prototest_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
irregularpb "google.golang.org/protobuf/internal/testprotos/irregular"
|
|
testpb "google.golang.org/protobuf/internal/testprotos/test"
|
|
test3pb "google.golang.org/protobuf/internal/testprotos/test3"
|
|
"google.golang.org/protobuf/proto"
|
|
"google.golang.org/protobuf/testing/prototest"
|
|
)
|
|
|
|
func Test(t *testing.T) {
|
|
for _, m := range []proto.Message{
|
|
(*testpb.TestAllTypes)(nil),
|
|
(*test3pb.TestAllTypes)(nil),
|
|
(*testpb.TestRequired)(nil),
|
|
(*testpb.TestWeak)(nil),
|
|
(*irregularpb.Message)(nil),
|
|
} {
|
|
t.Run(fmt.Sprintf("%T", m), func(t *testing.T) {
|
|
prototest.TestMessage(t, m)
|
|
})
|
|
}
|
|
}
|