summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2018-09-06 12:57:16 -0700
committerJoshua Haberman <jhaberman@gmail.com>2018-09-06 12:57:16 -0700
commitf7713ebc391d247617b0dff788a76e5c3383ae94 (patch)
tree3542a54abd18ed5d1eef586ac331b1d66f7c612e /tests
parent694d51f4d6cb8adf4a2f7975e5bb899327875de7 (diff)
Changed C API to use inline functions and computed offsets.
Diffstat (limited to 'tests')
-rw-r--r--tests/conformance_upb.c45
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);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback