summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2018-08-27 20:07:33 -0700
committerJoshua Haberman <jhaberman@gmail.com>2018-08-27 20:07:33 -0700
commitb7cad62b5f4a7f5fd2b4337bbdeae54132d9a8ae (patch)
tree49be0ca24a18ffd4062c3b276e49399e963d237a /tests
parent62318cadcefec2d2bfd0d84fdd628be313ff6201 (diff)
Got CMake build working on macOS, and updated CMake build.
Diffstat (limited to 'tests')
-rw-r--r--tests/conformance_upb.c29
1 files changed, 22 insertions, 7 deletions
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(
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback