|
13 | 13 |
|
14 | 14 | #include "google/protobuf/descriptor.pb.h" |
15 | 15 | #include <gtest/gtest.h> |
| 16 | +#include "absl/strings/string_view.h" |
16 | 17 | #include "absl/strings/substitute.h" |
17 | 18 | #include "google/protobuf/compiler/parser.h" |
18 | 19 | #include "google/protobuf/dynamic_message.h" |
@@ -160,6 +161,12 @@ TEST(RetentionTest, Method) { |
160 | 161 | .GetExtension(protobuf_unittest::method_option)); |
161 | 162 | } |
162 | 163 |
|
| 164 | +class SimpleErrorCollector : public io::ErrorCollector { |
| 165 | + public: |
| 166 | + SimpleErrorCollector() = default; |
| 167 | + void RecordError(int line, io::ColumnNumber column, |
| 168 | + absl::string_view message) override{}; |
| 169 | +}; |
163 | 170 |
|
164 | 171 | TEST(RetentionTest, StripSourceRetentionOptionsWithSourceCodeInfo) { |
165 | 172 | // The tests above make assertions against the generated code, but this test |
@@ -202,7 +209,7 @@ TEST(RetentionTest, StripSourceRetentionOptionsWithSourceCodeInfo) { |
202 | 209 | FileDescriptorSet::descriptor()->file()->name()); |
203 | 210 | io::ArrayInputStream input_stream(proto_file.data(), |
204 | 211 | static_cast<int>(proto_file.size())); |
205 | | - io::ErrorCollector error_collector; |
| 212 | + SimpleErrorCollector error_collector; |
206 | 213 | io::Tokenizer tokenizer(&input_stream, &error_collector); |
207 | 214 | compiler::Parser parser; |
208 | 215 | FileDescriptorProto file_descriptor; |
@@ -242,7 +249,7 @@ TEST(RetentionTest, RemoveEmptyOptions) { |
242 | 249 | FileDescriptorSet::descriptor()->file()->name()); |
243 | 250 | io::ArrayInputStream input_stream(proto_file.data(), |
244 | 251 | static_cast<int>(proto_file.size())); |
245 | | - io::ErrorCollector error_collector; |
| 252 | + SimpleErrorCollector error_collector; |
246 | 253 | io::Tokenizer tokenizer(&input_stream, &error_collector); |
247 | 254 | compiler::Parser parser; |
248 | 255 | FileDescriptorProto file_descriptor; |
@@ -282,7 +289,7 @@ TEST(RetentionTest, InvalidDescriptor) { |
282 | 289 | FileDescriptorSet::descriptor()->file()->name()); |
283 | 290 | io::ArrayInputStream input_stream(proto_file.data(), |
284 | 291 | static_cast<int>(proto_file.size())); |
285 | | - io::ErrorCollector error_collector; |
| 292 | + SimpleErrorCollector error_collector; |
286 | 293 | io::Tokenizer tokenizer(&input_stream, &error_collector); |
287 | 294 | compiler::Parser parser; |
288 | 295 | FileDescriptorProto file_descriptor_proto; |
@@ -331,7 +338,7 @@ TEST(RetentionTest, MissingRequiredField) { |
331 | 338 | FileDescriptorSet::descriptor()->file()->name()); |
332 | 339 | io::ArrayInputStream input_stream(proto_file.data(), |
333 | 340 | static_cast<int>(proto_file.size())); |
334 | | - io::ErrorCollector error_collector; |
| 341 | + SimpleErrorCollector error_collector; |
335 | 342 | io::Tokenizer tokenizer(&input_stream, &error_collector); |
336 | 343 | compiler::Parser parser; |
337 | 344 | FileDescriptorProto file_descriptor_proto; |
@@ -387,7 +394,7 @@ TEST(RetentionTest, InvalidRecursionDepth) { |
387 | 394 | FileDescriptorSet::descriptor()->file()->name()); |
388 | 395 | io::ArrayInputStream input_stream(proto_file.data(), |
389 | 396 | static_cast<int>(proto_file.size())); |
390 | | - io::ErrorCollector error_collector; |
| 397 | + SimpleErrorCollector error_collector; |
391 | 398 | io::Tokenizer tokenizer(&input_stream, &error_collector); |
392 | 399 | compiler::Parser parser; |
393 | 400 | FileDescriptorProto file_descriptor_proto; |
|
0 commit comments