diff options
author | Joshua Haberman <jhaberman@gmail.com> | 2018-09-06 12:57:16 -0700 |
---|---|---|
committer | Joshua Haberman <jhaberman@gmail.com> | 2018-09-06 12:57:16 -0700 |
commit | f7713ebc391d247617b0dff788a76e5c3383ae94 (patch) | |
tree | 3542a54abd18ed5d1eef586ac331b1d66f7c612e /tests | |
parent | 694d51f4d6cb8adf4a2f7975e5bb899327875de7 (diff) |
Changed C API to use inline functions and computed offsets.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/conformance_upb.c | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/tests/conformance_upb.c b/tests/conformance_upb.c index 5c79b48..a2e1d7a 100644 --- a/tests/conformance_upb.c +++ b/tests/conformance_upb.c @@ -50,26 +50,26 @@ void DoTest( const conformance_ConformanceRequest* request, conformance_ConformanceResponse *response, upb_arena *arena) { - if (!stringview_eql(request->message_type, proto3_msg)) { + if (!stringview_eql(conformance_ConformanceRequest_message_type(request), + proto3_msg)) { static const char msg[] = "Only proto3 for now."; - response->result_case = conformance_ConformanceResponse_result_skipped; - response->result.skipped = upb_stringview_make(msg, sizeof(msg)); + conformance_ConformanceResponse_set_skipped( + response, upb_stringview_make(msg, sizeof(msg))); return; } protobuf_test_messages_proto3_TestAllTypesProto3 *test_message; - switch (request->payload_case) { + switch (conformance_ConformanceRequest_payload_case(request)) { case conformance_ConformanceRequest_payload_protobuf_payload: { - upb_stringview payload = request->payload.protobuf_payload; + upb_stringview payload = conformance_ConformanceRequest_protobuf_payload(request); test_message = protobuf_test_messages_proto3_TestAllTypesProto3_parsenew( payload, arena); if (!test_message) { static const char msg[] = "Parse error"; - response->result_case = - conformance_ConformanceResponse_result_parse_error; - response->result.parse_error = upb_stringview_make(msg, sizeof(msg)); + conformance_ConformanceResponse_set_parse_error( + response, upb_stringview_make(msg, sizeof(msg))); return; } break; @@ -77,17 +77,22 @@ void DoTest( case conformance_ConformanceRequest_payload_json_payload: { static const char msg[] = "JSON support not yet implemented."; - response->result_case = conformance_ConformanceResponse_result_skipped; - response->result.skipped = upb_stringview_make(msg, sizeof(msg)); + conformance_ConformanceResponse_set_skipped( + response, upb_stringview_make(msg, sizeof(msg))); return; } case conformance_ConformanceRequest_payload_NOT_SET: fprintf(stderr, "conformance_upb: Request didn't have payload.\n"); return; + + default: + fprintf(stderr, "conformance_upb: Unexpected case: %d\n", + conformance_ConformanceRequest_payload_case(request)); + exit(1); } - switch (request->requested_output_format) { + switch (conformance_ConformanceRequest_requested_output_format(request)) { case conformance_UNSPECIFIED: fprintf(stderr, "conformance_upb: Unspecified output format.\n"); exit(1); @@ -99,29 +104,25 @@ void DoTest( test_message, arena, &serialized_len); if (!serialized) { static const char msg[] = "Error serializing."; - response->result_case = - conformance_ConformanceResponse_result_serialize_error; - response->result.serialize_error = - upb_stringview_make(msg, sizeof(msg)); + conformance_ConformanceResponse_set_serialize_error( + response, upb_stringview_make(msg, sizeof(msg))); return; } - response->result_case = - conformance_ConformanceResponse_result_protobuf_payload; - response->result.protobuf_payload = - upb_stringview_make(serialized, serialized_len); + conformance_ConformanceResponse_set_protobuf_payload( + response, upb_stringview_make(serialized, serialized_len)); break; } case conformance_JSON: { static const char msg[] = "JSON support not yet implemented."; - response->result_case = conformance_ConformanceResponse_result_skipped; - response->result.skipped = upb_stringview_make(msg, sizeof(msg)); + conformance_ConformanceResponse_set_skipped( + response, upb_stringview_make(msg, sizeof(msg))); break; } default: fprintf(stderr, "conformance_upb: Unknown output format: %d\n", - request->requested_output_format); + conformance_ConformanceRequest_requested_output_format(request)); exit(1); } |