From b7cad62b5f4a7f5fd2b4337bbdeae54132d9a8ae Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Mon, 27 Aug 2018 20:07:33 -0700 Subject: Got CMake build working on macOS, and updated CMake build. --- tests/conformance_upb.c | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/conformance_upb.c b/tests/conformance_upb.c index 70ea300..5c0ce88 100644 --- a/tests/conformance_upb.c +++ b/tests/conformance_upb.c @@ -39,17 +39,30 @@ void CheckedWrite(int fd, const void *buf, size_t len) { } } +static const char *proto3_msg = + "protobuf_test_messages.proto3.TestAllTypesProto3"; + void DoTest( const conformance_ConformanceRequest* request, conformance_ConformanceResponse *response, upb_env *env) { - conformance_ConformanceResponse_new(env); - protobuf_test_messages_proto3_TestAllTypes *test_message; + upb_stringview message_type = + conformance_ConformanceRequest_message_type(request); + if (strcmp(message_type.data, proto3_msg) != 0) { + static const char msg[] = "Only proto3 for now."; + conformance_ConformanceResponse_set_skipped( + response, upb_stringview_make(msg, sizeof(msg))); + return; + } + + protobuf_test_messages_proto3_TestAllTypesProto3 *test_message; switch (conformance_ConformanceRequest_payload_case(request)) { - case conformance_ConformanceRequest_payload_protobuf_payload: - test_message = protobuf_test_messages_proto3_TestAllTypes_parsenew( - conformance_ConformanceRequest_protobuf_payload(request), env); + case conformance_ConformanceRequest_payload_protobuf_payload: { + upb_stringview payload = + conformance_ConformanceRequest_protobuf_payload(request); + test_message = protobuf_test_messages_proto3_TestAllTypesProto3_parsenew( + payload, env); if (!test_message) { /* TODO(haberman): return details. */ @@ -59,6 +72,7 @@ void DoTest( return; } break; + } case conformance_ConformanceRequest_payload_json_payload: { static const char msg[] = "JSON support not yet implemented."; @@ -79,8 +93,9 @@ void DoTest( case conformance_PROTOBUF: { size_t serialized_len; - char *serialized = protobuf_test_messages_proto3_TestAllTypes_serialize( - test_message, env, &serialized_len); + char *serialized = + protobuf_test_messages_proto3_TestAllTypesProto3_serialize( + test_message, env, &serialized_len); if (!serialized) { static const char msg[] = "Error serializing."; conformance_ConformanceResponse_set_serialize_error( -- cgit v1.2.3