diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2015-12-11 17:09:20 -0800 |
---|---|---|
committer | Feng Xiao <xfxyjwf@gmail.com> | 2015-12-11 17:10:28 -0800 |
commit | e841bac4fcf47f809e089a70d5f84ac37b3883df (patch) | |
tree | d25dc5fc814db182c04c5f276ff1a609c5965a5a /conformance/conformance_cpp.cc | |
parent | 99a6a95c751a28a3cc33dd2384959179f83f682c (diff) | |
download | protobuf-e841bac4fcf47f809e089a70d5f84ac37b3883df.tar.gz protobuf-e841bac4fcf47f809e089a70d5f84ac37b3883df.tar.bz2 protobuf-e841bac4fcf47f809e089a70d5f84ac37b3883df.zip |
Down-integrate from internal code base.
Diffstat (limited to 'conformance/conformance_cpp.cc')
-rw-r--r-- | conformance/conformance_cpp.cc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/conformance/conformance_cpp.cc b/conformance/conformance_cpp.cc index 863b6a5b..1a265493 100644 --- a/conformance/conformance_cpp.cc +++ b/conformance/conformance_cpp.cc @@ -108,7 +108,11 @@ void DoTest(const ConformanceRequest& request, ConformanceResponse* response) { return; } - GOOGLE_CHECK(test_message.ParseFromString(proto_binary)); + if (!test_message.ParseFromString(proto_binary)) { + response->set_runtime_error( + "Parsing JSON generates invalid proto output."); + return; + } break; } @@ -132,9 +136,18 @@ void DoTest(const ConformanceRequest& request, ConformanceResponse* response) { GOOGLE_CHECK(test_message.SerializeToString(&proto_binary)); Status status = BinaryToJsonString(type_resolver, *type_url, proto_binary, response->mutable_json_payload()); - GOOGLE_CHECK(status.ok()); + if (!status.ok()) { + response->set_serialize_error( + string("Failed to serialize JSON output: ") + + status.error_message().as_string()); + return; + } break; } + + default: + GOOGLE_LOG(FATAL) << "Unknown output format: " + << request.requested_output_format(); } } |