@@ -3898,7 +3898,7 @@ TEST(CustomOptions, UnusedImportError) {
38983898 &file_proto);
38993899 ASSERT_TRUE (pool.BuildFile (file_proto) != nullptr );
39003900
3901- pool.AddUnusedImportTrackFile (" custom_options_import.proto" , true );
3901+ pool.AddDirectInputFile (" custom_options_import.proto" , true );
39023902 ASSERT_TRUE (TextFormat::ParseFromString (
39033903 " name: \" custom_options_import.proto\" "
39043904 " package: \" protobuf_unittest\" "
@@ -6330,22 +6330,22 @@ TEST_F(ValidationErrorTest, AllowEnumAlias) {
63306330}
63316331
63326332TEST_F (ValidationErrorTest, UnusedImportWarning) {
6333- pool_.AddUnusedImportTrackFile (" bar.proto" );
6333+ pool_.AddDirectInputFile (" bar.proto" );
63346334 BuildFile (
63356335 " name: \" bar.proto\" "
63366336 " message_type { name: \" Bar\" }" );
63376337
6338- pool_.AddUnusedImportTrackFile (" base.proto" );
6338+ pool_.AddDirectInputFile (" base.proto" );
63396339 BuildFile (
63406340 " name: \" base.proto\" "
63416341 " message_type { name: \" Base\" }" );
63426342
6343- pool_.AddUnusedImportTrackFile (" baz.proto" );
6343+ pool_.AddDirectInputFile (" baz.proto" );
63446344 BuildFile (
63456345 " name: \" baz.proto\" "
63466346 " message_type { name: \" Baz\" }" );
63476347
6348- pool_.AddUnusedImportTrackFile (" public.proto" );
6348+ pool_.AddDirectInputFile (" public.proto" );
63496349 BuildFile (
63506350 " name: \" public.proto\" "
63516351 " dependency: \" bar.proto\" "
@@ -6360,7 +6360,7 @@ TEST_F(ValidationErrorTest, UnusedImportWarning) {
63606360 // optional Base base = 1;
63616361 // }
63626362 //
6363- pool_.AddUnusedImportTrackFile (" forward.proto" );
6363+ pool_.AddDirectInputFile (" forward.proto" );
63646364 BuildFileWithWarnings (
63656365 " name: \" forward.proto\" "
63666366 " dependency: \" base.proto\" "
@@ -6391,7 +6391,7 @@ TEST_F(ValidationErrorTest, SamePackageUnusedImportError) {
63916391 message_type { name: "Bar" }
63926392 )pb" );
63936393
6394- pool_.AddUnusedImportTrackFile (" import.proto" , true );
6394+ pool_.AddDirectInputFile (" import.proto" , true );
63956395 BuildFileWithErrors (R"pb(
63966396 name: "import.proto"
63976397 package: "protobuf_unittest"
@@ -7344,7 +7344,7 @@ TEST_F(ValidationErrorTest, UnusedImportWithOtherError) {
73447344 " name: 'Bar'"
73457345 " }" );
73467346
7347- pool_.AddUnusedImportTrackFile (" foo.proto" , true );
7347+ pool_.AddDirectInputFile (" foo.proto" , true );
73487348 BuildFileWithErrors (
73497349 " name: 'foo.proto' "
73507350 " dependency: 'bar.proto' "
@@ -10866,6 +10866,7 @@ TEST_F(FeaturesTest, InvalidGroupLabel) {
1086610866}
1086710867
1086810868TEST_F (FeaturesTest, DeprecatedFeature) {
10869+ pool_.AddDirectInputFile (" foo.proto" );
1086910870 BuildDescriptorMessagesInTestPool ();
1087010871 BuildFileInTestPool (pb::TestFeatures::descriptor ()->file ());
1087110872 BuildFileWithWarnings (
@@ -10875,8 +10876,11 @@ TEST_F(FeaturesTest, DeprecatedFeature) {
1087510876 edition: EDITION_2023
1087610877 dependency: "google/protobuf/unittest_features.proto"
1087710878 options {
10878- features {
10879- [pb.test] { removed_feature: VALUE9 }
10879+ uninterpreted_option {
10880+ name { name_part: "features" is_extension: false }
10881+ name { name_part: "pb.test" is_extension: true }
10882+ name { name_part: "removed_feature" is_extension: false }
10883+ identifier_value: "VALUE9"
1088010884 }
1088110885 }
1088210886 )pb" ,
@@ -10890,6 +10894,68 @@ TEST_F(FeaturesTest, DeprecatedFeature) {
1089010894 pb::VALUE9);
1089110895}
1089210896
10897+ TEST_F (FeaturesTest, IgnoreDeprecatedFeature) {
10898+ BuildDescriptorMessagesInTestPool ();
10899+ BuildFileInTestPool (pb::TestFeatures::descriptor ()->file ());
10900+ BuildFileWithWarnings (
10901+ R"pb(
10902+ name: "foo.proto"
10903+ syntax: "editions"
10904+ edition: EDITION_2023
10905+ dependency: "google/protobuf/unittest_features.proto"
10906+ options {
10907+ uninterpreted_option {
10908+ name { name_part: "features" is_extension: false }
10909+ name { name_part: "pb.test" is_extension: true }
10910+ name { name_part: "removed_feature" is_extension: false }
10911+ identifier_value: "VALUE9"
10912+ }
10913+ }
10914+ )pb" ,
10915+ " " );
10916+ }
10917+
10918+ TEST_F (FeaturesTest, IgnoreTransitiveFeature) {
10919+ pool_.AddDirectInputFile (" bar.proto" );
10920+ BuildDescriptorMessagesInTestPool ();
10921+ BuildFileInTestPool (pb::TestFeatures::descriptor ()->file ());
10922+ BuildFileWithWarnings (
10923+ R"pb(
10924+ name: "foo.proto"
10925+ syntax: "editions"
10926+ edition: EDITION_2023
10927+ dependency: "google/protobuf/unittest_features.proto"
10928+ options {
10929+ uninterpreted_option {
10930+ name { name_part: "features" is_extension: false }
10931+ name { name_part: "pb.test" is_extension: true }
10932+ name { name_part: "removed_feature" is_extension: false }
10933+ identifier_value: "VALUE9"
10934+ }
10935+ }
10936+ message_type { name: "Foo" }
10937+ )pb" ,
10938+ " " );
10939+ BuildFileWithWarnings (
10940+ R"pb(
10941+ name: "bar.proto"
10942+ syntax: "editions"
10943+ edition: EDITION_2023
10944+ dependency: "foo.proto"
10945+ message_type {
10946+ name: "Bar"
10947+ field {
10948+ name: "bar"
10949+ number: 1
10950+ label: LABEL_OPTIONAL
10951+ type: TYPE_MESSAGE
10952+ type_name: ".Foo"
10953+ }
10954+ }
10955+ )pb" ,
10956+ " " );
10957+ }
10958+
1089310959TEST_F (FeaturesTest, RemovedFeature) {
1089410960 BuildDescriptorMessagesInTestPool ();
1089510961 BuildFileInTestPool (pb::TestFeatures::descriptor ()->file ());
0 commit comments