Damien Neil | 5ec58b9 | 2019-04-30 11:36:39 -0700 | [diff] [blame] | 1 | // Copyright 2019 The Go Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
| 5 | package prototest_test |
| 6 | |
| 7 | import ( |
| 8 | "fmt" |
| 9 | "testing" |
| 10 | |
Joe Tsai | 3d8e369 | 2019-04-08 13:52:14 -0700 | [diff] [blame] | 11 | "google.golang.org/protobuf/internal/flags" |
Damien Neil | e89e624 | 2019-05-13 23:55:40 -0700 | [diff] [blame] | 12 | "google.golang.org/protobuf/proto" |
Damien Neil | 92f7618 | 2019-08-02 16:58:08 -0700 | [diff] [blame^] | 13 | "google.golang.org/protobuf/runtime/protoimpl" |
Damien Neil | e89e624 | 2019-05-13 23:55:40 -0700 | [diff] [blame] | 14 | "google.golang.org/protobuf/testing/prototest" |
Joe Tsai | 3d8e369 | 2019-04-08 13:52:14 -0700 | [diff] [blame] | 15 | |
| 16 | irregularpb "google.golang.org/protobuf/internal/testprotos/irregular" |
Damien Neil | 92f7618 | 2019-08-02 16:58:08 -0700 | [diff] [blame^] | 17 | legacypb "google.golang.org/protobuf/internal/testprotos/legacy" |
| 18 | legacy1pb "google.golang.org/protobuf/internal/testprotos/legacy/proto2.v0.0.0-20160225-2fc053c5" |
Joe Tsai | 3d8e369 | 2019-04-08 13:52:14 -0700 | [diff] [blame] | 19 | testpb "google.golang.org/protobuf/internal/testprotos/test" |
| 20 | _ "google.golang.org/protobuf/internal/testprotos/test/weak1" |
| 21 | _ "google.golang.org/protobuf/internal/testprotos/test/weak2" |
| 22 | test3pb "google.golang.org/protobuf/internal/testprotos/test3" |
Damien Neil | 5ec58b9 | 2019-04-30 11:36:39 -0700 | [diff] [blame] | 23 | ) |
| 24 | |
| 25 | func Test(t *testing.T) { |
Joe Tsai | 3d8e369 | 2019-04-08 13:52:14 -0700 | [diff] [blame] | 26 | ms := []proto.Message{ |
Damien Neil | 5ec58b9 | 2019-04-30 11:36:39 -0700 | [diff] [blame] | 27 | (*testpb.TestAllTypes)(nil), |
| 28 | (*test3pb.TestAllTypes)(nil), |
| 29 | (*testpb.TestRequired)(nil), |
Damien Neil | 5b6d047 | 2019-06-14 11:54:07 -0700 | [diff] [blame] | 30 | (*irregularpb.Message)(nil), |
Damien Neil | d91246e | 2019-06-21 08:36:26 -0700 | [diff] [blame] | 31 | (*testpb.TestAllExtensions)(nil), |
Damien Neil | 92f7618 | 2019-08-02 16:58:08 -0700 | [diff] [blame^] | 32 | (*legacypb.Legacy)(nil), |
| 33 | protoimpl.X.MessageOf((*legacy1pb.Message)(nil)).Interface(), |
Joe Tsai | 3d8e369 | 2019-04-08 13:52:14 -0700 | [diff] [blame] | 34 | } |
| 35 | if flags.Proto1Legacy { |
| 36 | ms = append(ms, (*testpb.TestWeak)(nil)) |
| 37 | } |
| 38 | |
| 39 | for _, m := range ms { |
Damien Neil | 5ec58b9 | 2019-04-30 11:36:39 -0700 | [diff] [blame] | 40 | t.Run(fmt.Sprintf("%T", m), func(t *testing.T) { |
Damien Neil | d91246e | 2019-06-21 08:36:26 -0700 | [diff] [blame] | 41 | prototest.TestMessage(t, m, prototest.MessageOptions{}) |
Damien Neil | 5ec58b9 | 2019-04-30 11:36:39 -0700 | [diff] [blame] | 42 | }) |
| 43 | } |
| 44 | } |