proto: switch messageset_test to use makeMessages() injection point

This required renaming the extension fields to have distinct names, as
makeMessages() uses the protobuild package, which works with field names.

The makeMessages() function can be centrally extended with other variants of
testprotos (e.g. editions).

Change-Id: I68ef28baee674c6b53da8629c5ff7b2e1b92d4ff
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/624415
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Chressie Himpel <chressie@google.com>
diff --git a/internal/race_test/messageset_extension_init/race_test.go b/internal/race_test/messageset_extension_init/race_test.go
index 87f8c0e..bb1dedd 100644
--- a/internal/race_test/messageset_extension_init/race_test.go
+++ b/internal/race_test/messageset_extension_init/race_test.go
@@ -18,11 +18,11 @@
 	wg.Add(2)
 	go func() {
 		defer wg.Done()
-		epb.E_Ext1_MessageSetExtension.ValueOf(&epb.Ext1{})
+		epb.E_Ext1_MessageSetExt1.ValueOf(&epb.Ext1{})
 	}()
 	go func() {
 		defer wg.Done()
-		epb.E_Ext1_MessageSetExtension.TypeDescriptor().Message()
+		epb.E_Ext1_MessageSetExt1.TypeDescriptor().Message()
 	}()
 	wg.Wait()
 }
diff --git a/internal/testprotos/messageset/messagesetpb/message_set.proto b/internal/testprotos/messageset/messagesetpb/message_set.proto
index 46b7601..0e408e0 100644
--- a/internal/testprotos/messageset/messagesetpb/message_set.proto
+++ b/internal/testprotos/messageset/messagesetpb/message_set.proto
@@ -15,7 +15,7 @@
   extensions 530000000 to max
   [declaration = {
     number: 536870912
-    full_name: ".goproto.proto.messageset.ExtLargeNumber.message_set_extension"
+    full_name: ".goproto.proto.messageset.ExtLargeNumber.message_set_extlarge"
     type: ".goproto.proto.messageset.ExtLargeNumber"
   }];
 }
diff --git a/internal/testprotos/messageset/msetextpb/msetextpb.pb.go b/internal/testprotos/messageset/msetextpb/msetextpb.pb.go
index 4c9f1f5..622d07d 100644
--- a/internal/testprotos/messageset/msetextpb/msetextpb.pb.go
+++ b/internal/testprotos/messageset/msetextpb/msetextpb.pb.go
@@ -199,46 +199,46 @@
 		ExtendedType:  (*messagesetpb.MessageSet)(nil),
 		ExtensionType: (*Ext1)(nil),
 		Field:         1000,
-		Name:          "goproto.proto.messageset.Ext1.message_set_extension",
-		Tag:           "bytes,1000,opt,name=message_set_extension",
+		Name:          "goproto.proto.messageset.Ext1.message_set_ext1",
+		Tag:           "bytes,1000,opt,name=message_set_ext1",
 		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb.proto",
 	},
 	{
 		ExtendedType:  (*messagesetpb.MessageSet)(nil),
 		ExtensionType: (*Ext2)(nil),
 		Field:         1001,
-		Name:          "goproto.proto.messageset.Ext2.message_set_extension",
-		Tag:           "bytes,1001,opt,name=message_set_extension",
+		Name:          "goproto.proto.messageset.Ext2.message_set_ext2",
+		Tag:           "bytes,1001,opt,name=message_set_ext2",
 		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb.proto",
 	},
 	{
 		ExtendedType:  (*messagesetpb.MessageSet)(nil),
 		ExtensionType: (*ExtRequired)(nil),
 		Field:         1002,
-		Name:          "goproto.proto.messageset.ExtRequired.message_set_extension",
-		Tag:           "bytes,1002,opt,name=message_set_extension",
+		Name:          "goproto.proto.messageset.ExtRequired.message_set_extrequired",
+		Tag:           "bytes,1002,opt,name=message_set_extrequired",
 		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb.proto",
 	},
 	{
 		ExtendedType:  (*messagesetpb.MessageSet)(nil),
 		ExtensionType: (*ExtLargeNumber)(nil),
 		Field:         536870912,
-		Name:          "goproto.proto.messageset.ExtLargeNumber.message_set_extension",
-		Tag:           "bytes,536870912,opt,name=message_set_extension",
+		Name:          "goproto.proto.messageset.ExtLargeNumber.message_set_extlarge",
+		Tag:           "bytes,536870912,opt,name=message_set_extlarge",
 		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb.proto",
 	},
 }
 
 // Extension fields to messagesetpb.MessageSet.
 var (
-	// optional goproto.proto.messageset.Ext1 message_set_extension = 1000;
-	E_Ext1_MessageSetExtension = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[0]
-	// optional goproto.proto.messageset.Ext2 message_set_extension = 1001;
-	E_Ext2_MessageSetExtension = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[1]
-	// optional goproto.proto.messageset.ExtRequired message_set_extension = 1002;
-	E_ExtRequired_MessageSetExtension = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[2]
-	// optional goproto.proto.messageset.ExtLargeNumber message_set_extension = 536870912;
-	E_ExtLargeNumber_MessageSetExtension = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[3] // 1<<29
+	// optional goproto.proto.messageset.Ext1 message_set_ext1 = 1000;
+	E_Ext1_MessageSetExt1 = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[0]
+	// optional goproto.proto.messageset.Ext2 message_set_ext2 = 1001;
+	E_Ext2_MessageSetExt2 = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[1]
+	// optional goproto.proto.messageset.ExtRequired message_set_extrequired = 1002;
+	E_ExtRequired_MessageSetExtrequired = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[2]
+	// optional goproto.proto.messageset.ExtLargeNumber message_set_extlarge = 536870912;
+	E_ExtLargeNumber_MessageSetExtlarge = &file_internal_testprotos_messageset_msetextpb_msetextpb_proto_extTypes[3] // 1<<29
 )
 
 var File_internal_testprotos_messageset_msetextpb_msetextpb_proto protoreflect.FileDescriptor
@@ -253,55 +253,54 @@
 	0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
 	0x65, 0x73, 0x65, 0x74, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x70,
 	0x62, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x04, 0x45, 0x78, 0x74, 0x31, 0x12, 0x1f, 0x0a, 0x0b,
+	0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x04, 0x45, 0x78, 0x74, 0x31, 0x12, 0x1f, 0x0a, 0x0b,
 	0x65, 0x78, 0x74, 0x31, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28,
 	0x05, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x31, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x12, 0x1f, 0x0a,
 	0x0b, 0x65, 0x78, 0x74, 0x31, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x05, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x31, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x32, 0x79,
-	0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
-	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
-	0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xe8, 0x07,
-	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e,
-	0x45, 0x78, 0x74, 0x31, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
-	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x04, 0x45, 0x78,
-	0x74, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
-	0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x32, 0x46, 0x69, 0x65,
-	0x6c, 0x64, 0x31, 0x32, 0x79, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73,
-	0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67,
+	0x28, 0x05, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x31, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x32, 0x6f,
+	0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
+	0x74, 0x31, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x31, 0x52,
+	0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x31, 0x22,
+	0x98, 0x01, 0x0a, 0x04, 0x45, 0x78, 0x74, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x32,
+	0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65,
+	0x78, 0x74, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x32, 0x6f, 0x0a, 0x10, 0x6d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x32, 0x12, 0x24, 0x2e,
+	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x53, 0x65, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x32, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x32, 0x22, 0xbd, 0x01, 0x0a, 0x0b, 0x45,
+	0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65,
+	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x18, 0x01, 0x20,
+	0x02, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x31, 0x32, 0x84, 0x01, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
+	0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12,
+	0x24, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67,
 	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
-	0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53,
-	0x65, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
-	0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x32, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61,
-	0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb9,
-	0x01, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x27,
-	0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
-	0x31, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
-	0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x32, 0x80, 0x01, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73,
-	0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
-	0x6e, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73,
-	0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
-	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d,
-	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x65, 0x71,
-	0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65,
-	0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x45,
-	0x78, 0x74, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x32, 0x86, 0x01,
-	0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
-	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
-	0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x80, 0x80,
-	0x80, 0x80, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
-	0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
-	0x72, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74,
-	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x45, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
-	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65,
-	0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
-	0x73, 0x65, 0x74, 0x2f, 0x6d, 0x73, 0x65, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62,
+	0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69,
+	0x72, 0x65, 0x64, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45,
+	0x78, 0x74, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x0e, 0x45,
+	0x78, 0x74, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x32, 0x84, 0x01,
+	0x0a, 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
+	0x74, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65,
+	0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x80, 0x80, 0x80,
+	0x80, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65,
+	0x74, 0x2e, 0x45, 0x78, 0x74, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+	0x52, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x6c,
+	0x61, 0x72, 0x67, 0x65, 0x42, 0x45, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
+	0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65,
+	0x74, 0x2f, 0x6d, 0x73, 0x65, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62,
 }
 
 var (
@@ -325,14 +324,14 @@
 	(*messagesetpb.MessageSet)(nil), // 4: goproto.proto.messageset.MessageSet
 }
 var file_internal_testprotos_messageset_msetextpb_msetextpb_proto_depIdxs = []int32{
-	4, // 0: goproto.proto.messageset.Ext1.message_set_extension:extendee -> goproto.proto.messageset.MessageSet
-	4, // 1: goproto.proto.messageset.Ext2.message_set_extension:extendee -> goproto.proto.messageset.MessageSet
-	4, // 2: goproto.proto.messageset.ExtRequired.message_set_extension:extendee -> goproto.proto.messageset.MessageSet
-	4, // 3: goproto.proto.messageset.ExtLargeNumber.message_set_extension:extendee -> goproto.proto.messageset.MessageSet
-	0, // 4: goproto.proto.messageset.Ext1.message_set_extension:type_name -> goproto.proto.messageset.Ext1
-	1, // 5: goproto.proto.messageset.Ext2.message_set_extension:type_name -> goproto.proto.messageset.Ext2
-	2, // 6: goproto.proto.messageset.ExtRequired.message_set_extension:type_name -> goproto.proto.messageset.ExtRequired
-	3, // 7: goproto.proto.messageset.ExtLargeNumber.message_set_extension:type_name -> goproto.proto.messageset.ExtLargeNumber
+	4, // 0: goproto.proto.messageset.Ext1.message_set_ext1:extendee -> goproto.proto.messageset.MessageSet
+	4, // 1: goproto.proto.messageset.Ext2.message_set_ext2:extendee -> goproto.proto.messageset.MessageSet
+	4, // 2: goproto.proto.messageset.ExtRequired.message_set_extrequired:extendee -> goproto.proto.messageset.MessageSet
+	4, // 3: goproto.proto.messageset.ExtLargeNumber.message_set_extlarge:extendee -> goproto.proto.messageset.MessageSet
+	0, // 4: goproto.proto.messageset.Ext1.message_set_ext1:type_name -> goproto.proto.messageset.Ext1
+	1, // 5: goproto.proto.messageset.Ext2.message_set_ext2:type_name -> goproto.proto.messageset.Ext2
+	2, // 6: goproto.proto.messageset.ExtRequired.message_set_extrequired:type_name -> goproto.proto.messageset.ExtRequired
+	3, // 7: goproto.proto.messageset.ExtLargeNumber.message_set_extlarge:type_name -> goproto.proto.messageset.ExtLargeNumber
 	8, // [8:8] is the sub-list for method output_type
 	8, // [8:8] is the sub-list for method input_type
 	4, // [4:8] is the sub-list for extension type_name
diff --git a/internal/testprotos/messageset/msetextpb/msetextpb.proto b/internal/testprotos/messageset/msetextpb/msetextpb.proto
index cf520c9..c723b3a 100644
--- a/internal/testprotos/messageset/msetextpb/msetextpb.proto
+++ b/internal/testprotos/messageset/msetextpb/msetextpb.proto
@@ -12,7 +12,7 @@
 
 message Ext1 {
   extend MessageSet {
-    optional Ext1 message_set_extension = 1000;
+    optional Ext1 message_set_ext1 = 1000;
   }
   optional int32 ext1_field1 = 1;
   optional int32 ext1_field2 = 2;
@@ -20,20 +20,20 @@
 
 message Ext2 {
   extend MessageSet {
-    optional Ext2 message_set_extension = 1001;
+    optional Ext2 message_set_ext2 = 1001;
   }
   optional int32 ext2_field1 = 1;
 }
 
 message ExtRequired {
   extend MessageSet {
-    optional ExtRequired message_set_extension = 1002;
+    optional ExtRequired message_set_extrequired = 1002;
   }
   required int32 required_field1 = 1;
 }
 
 message ExtLargeNumber {
   extend MessageSet {
-    optional ExtLargeNumber message_set_extension = 536870912;  // 1<<29
+    optional ExtLargeNumber message_set_extlarge = 536870912;  // 1<<29
   }
 }
diff --git a/proto/messageset_test.go b/proto/messageset_test.go
index a7739a9..7b76714 100644
--- a/proto/messageset_test.go
+++ b/proto/messageset_test.go
@@ -7,11 +7,12 @@
 import (
 	"google.golang.org/protobuf/encoding/protowire"
 	"google.golang.org/protobuf/internal/flags"
+	"google.golang.org/protobuf/internal/protobuild"
 	"google.golang.org/protobuf/proto"
 	"google.golang.org/protobuf/testing/protopack"
 
 	"google.golang.org/protobuf/internal/testprotos/messageset/messagesetpb"
-	"google.golang.org/protobuf/internal/testprotos/messageset/msetextpb"
+	_ "google.golang.org/protobuf/internal/testprotos/messageset/msetextpb"
 )
 
 func init() {
@@ -24,13 +25,16 @@
 var messageSetTestProtos = []testProto{
 	{
 		desc: "MessageSet type_id before message content",
-		decodeTo: []proto.Message{func() proto.Message {
-			m := &messagesetpb.MessageSetContainer{MessageSet: &messagesetpb.MessageSet{}}
-			proto.SetExtension(m.MessageSet, msetextpb.E_Ext1_MessageSetExtension, &msetextpb.Ext1{
-				Ext1Field1: proto.Int32(10),
-			})
-			return m
-		}()},
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set": protobuild.Message{
+					"message_set_ext1": protobuild.Message{
+						"ext1_field1": 10,
+					},
+				},
+			},
+			&messagesetpb.MessageSetContainer{},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
 				protopack.Tag{1, protopack.StartGroupType},
@@ -44,13 +48,16 @@
 	},
 	{
 		desc: "MessageSet type_id after message content",
-		decodeTo: []proto.Message{func() proto.Message {
-			m := &messagesetpb.MessageSetContainer{MessageSet: &messagesetpb.MessageSet{}}
-			proto.SetExtension(m.MessageSet, msetextpb.E_Ext1_MessageSetExtension, &msetextpb.Ext1{
-				Ext1Field1: proto.Int32(10),
-			})
-			return m
-		}()},
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set": protobuild.Message{
+					"message_set_ext1": protobuild.Message{
+						"ext1_field1": 10,
+					},
+				},
+			},
+			&messagesetpb.MessageSetContainer{},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
 				protopack.Tag{1, protopack.StartGroupType},
@@ -64,12 +71,14 @@
 	},
 	{
 		desc: "MessageSet does not preserve unknown field",
-		decodeTo: []proto.Message{build(
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set_ext1": protobuild.Message{
+					"ext1_field1": 10,
+				},
+			},
 			&messagesetpb.MessageSet{},
-			extend(msetextpb.E_Ext1_MessageSetExtension, &msetextpb.Ext1{
-				Ext1Field1: proto.Int32(10),
-			}),
-		)},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.StartGroupType},
 			protopack.Tag{2, protopack.VarintType}, protopack.Varint(1000),
@@ -83,14 +92,16 @@
 	},
 	{
 		desc: "MessageSet with unknown type_id",
-		decodeTo: []proto.Message{build(
+		decodeTo: makeMessages(
+			protobuild.Message{
+				protobuild.Unknown: protopack.Message{
+					protopack.Tag{999, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
+						protopack.Tag{1, protopack.VarintType}, protopack.Varint(10),
+					}),
+				}.Marshal(),
+			},
 			&messagesetpb.MessageSet{},
-			unknown(protopack.Message{
-				protopack.Tag{999, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
-					protopack.Tag{1, protopack.VarintType}, protopack.Varint(10),
-				}),
-			}.Marshal()),
-		)},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.StartGroupType},
 			protopack.Tag{2, protopack.VarintType}, protopack.Varint(999),
@@ -102,13 +113,15 @@
 	},
 	{
 		desc: "MessageSet merges repeated message fields in item",
-		decodeTo: []proto.Message{build(
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set_ext1": protobuild.Message{
+					"ext1_field1": 10,
+					"ext1_field2": 20,
+				},
+			},
 			&messagesetpb.MessageSet{},
-			extend(msetextpb.E_Ext1_MessageSetExtension, &msetextpb.Ext1{
-				Ext1Field1: proto.Int32(10),
-				Ext1Field2: proto.Int32(20),
-			}),
-		)},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.StartGroupType},
 			protopack.Tag{2, protopack.VarintType}, protopack.Varint(1000),
@@ -123,16 +136,18 @@
 	},
 	{
 		desc: "MessageSet merges message fields in repeated items",
-		decodeTo: []proto.Message{build(
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set_ext1": protobuild.Message{
+					"ext1_field1": 10,
+					"ext1_field2": 20,
+				},
+				"message_set_ext2": protobuild.Message{
+					"ext2_field1": 30,
+				},
+			},
 			&messagesetpb.MessageSet{},
-			extend(msetextpb.E_Ext1_MessageSetExtension, &msetextpb.Ext1{
-				Ext1Field1: proto.Int32(10),
-				Ext1Field2: proto.Int32(20),
-			}),
-			extend(msetextpb.E_Ext2_MessageSetExtension, &msetextpb.Ext2{
-				Ext2Field1: proto.Int32(30),
-			}),
-		)},
+		),
 		wire: protopack.Message{
 			// Ext1, field1
 			protopack.Tag{1, protopack.StartGroupType},
@@ -159,9 +174,10 @@
 	},
 	{
 		desc: "MessageSet with missing type_id",
-		decodeTo: []proto.Message{build(
+		decodeTo: makeMessages(
+			protobuild.Message{},
 			&messagesetpb.MessageSet{},
-		)},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.StartGroupType},
 			protopack.Tag{3, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
@@ -172,10 +188,12 @@
 	},
 	{
 		desc: "MessageSet with missing message",
-		decodeTo: []proto.Message{build(
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set_ext1": protobuild.Message{},
+			},
 			&messagesetpb.MessageSet{},
-			extend(msetextpb.E_Ext1_MessageSetExtension, &msetextpb.Ext1{}),
-		)},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.StartGroupType},
 			protopack.Tag{2, protopack.VarintType}, protopack.Varint(1000),
@@ -184,11 +202,14 @@
 	},
 	{
 		desc: "MessageSet with type id out of valid field number range",
-		decodeTo: []proto.Message{func() proto.Message {
-			m := &messagesetpb.MessageSetContainer{MessageSet: &messagesetpb.MessageSet{}}
-			proto.SetExtension(m.MessageSet, msetextpb.E_ExtLargeNumber_MessageSetExtension, &msetextpb.ExtLargeNumber{})
-			return m
-		}()},
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set": protobuild.Message{
+					"message_set_extlarge": protobuild.Message{},
+				},
+			},
+			&messagesetpb.MessageSetContainer{},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
 				protopack.Tag{1, protopack.StartGroupType},
@@ -200,15 +221,16 @@
 	},
 	{
 		desc: "MessageSet with unknown type id out of valid field number range",
-		decodeTo: []proto.Message{func() proto.Message {
-			m := &messagesetpb.MessageSetContainer{MessageSet: &messagesetpb.MessageSet{}}
-			m.MessageSet.ProtoReflect().SetUnknown(
-				protopack.Message{
-					protopack.Tag{protowire.MaxValidNumber + 2, protopack.BytesType}, protopack.LengthPrefix{},
-				}.Marshal(),
-			)
-			return m
-		}()},
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set": protobuild.Message{
+					protobuild.Unknown: protopack.Message{
+						protopack.Tag{protowire.MaxValidNumber + 2, protopack.BytesType}, protopack.LengthPrefix{},
+					}.Marshal(),
+				},
+			},
+			&messagesetpb.MessageSetContainer{},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
 				protopack.Tag{1, protopack.StartGroupType},
@@ -220,13 +242,16 @@
 	},
 	{
 		desc: "MessageSet with unknown field",
-		decodeTo: []proto.Message{func() proto.Message {
-			m := &messagesetpb.MessageSetContainer{MessageSet: &messagesetpb.MessageSet{}}
-			proto.SetExtension(m.MessageSet, msetextpb.E_Ext1_MessageSetExtension, &msetextpb.Ext1{
-				Ext1Field1: proto.Int32(10),
-			})
-			return m
-		}()},
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set": protobuild.Message{
+					"message_set_ext1": protobuild.Message{
+						"ext1_field1": 10,
+					},
+				},
+			},
+			&messagesetpb.MessageSetContainer{},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
 				protopack.Tag{1, protopack.StartGroupType},
@@ -242,13 +267,16 @@
 	{
 		desc:          "MessageSet with required field set",
 		checkFastInit: true,
-		decodeTo: []proto.Message{func() proto.Message {
-			m := &messagesetpb.MessageSetContainer{MessageSet: &messagesetpb.MessageSet{}}
-			proto.SetExtension(m.MessageSet, msetextpb.E_ExtRequired_MessageSetExtension, &msetextpb.ExtRequired{
-				RequiredField1: proto.Int32(1),
-			})
-			return m
-		}()},
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set": protobuild.Message{
+					"message_set_extrequired": protobuild.Message{
+						"required_field1": 1,
+					},
+				},
+			},
+			&messagesetpb.MessageSetContainer{},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
 				protopack.Tag{1, protopack.StartGroupType},
@@ -264,11 +292,14 @@
 		desc:          "MessageSet with required field unset",
 		checkFastInit: true,
 		partial:       true,
-		decodeTo: []proto.Message{func() proto.Message {
-			m := &messagesetpb.MessageSetContainer{MessageSet: &messagesetpb.MessageSet{}}
-			proto.SetExtension(m.MessageSet, msetextpb.E_ExtRequired_MessageSetExtension, &msetextpb.ExtRequired{})
-			return m
-		}()},
+		decodeTo: makeMessages(
+			protobuild.Message{
+				"message_set": protobuild.Message{
+					"message_set_extrequired": protobuild.Message{},
+				},
+			},
+			&messagesetpb.MessageSetContainer{},
+		),
 		wire: protopack.Message{
 			protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{
 				protopack.Tag{1, protopack.StartGroupType},