summaryrefslogtreecommitdiff
path: root/tests/conformance_upb.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conformance_upb.c')
-rw-r--r--tests/conformance_upb.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/tests/conformance_upb.c b/tests/conformance_upb.c
index e0a7d8c..0eb1ff8 100644
--- a/tests/conformance_upb.c
+++ b/tests/conformance_upb.c
@@ -39,7 +39,7 @@ void CheckedWrite(int fd, const void *buf, size_t len) {
}
}
-bool stringview_eql(upb_stringview view, const char *str) {
+bool strview_eql(upb_strview view, const char *str) {
return view.size == strlen(str) && memcmp(view.data, str, view.size) == 0;
}
@@ -50,11 +50,11 @@ void DoTest(
const conformance_ConformanceRequest* request,
conformance_ConformanceResponse *response,
upb_arena *arena) {
- if (!stringview_eql(conformance_ConformanceRequest_message_type(request),
- proto3_msg)) {
+ if (!strview_eql(conformance_ConformanceRequest_message_type(request),
+ proto3_msg)) {
static const char msg[] = "Only proto3 for now.";
conformance_ConformanceResponse_set_skipped(
- response, upb_stringview_make(msg, sizeof(msg)));
+ response, upb_strview_make(msg, sizeof(msg)));
return;
}
@@ -62,14 +62,14 @@ void DoTest(
switch (conformance_ConformanceRequest_payload_case(request)) {
case conformance_ConformanceRequest_payload_protobuf_payload: {
- upb_stringview payload = conformance_ConformanceRequest_protobuf_payload(request);
+ upb_strview 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";
conformance_ConformanceResponse_set_parse_error(
- response, upb_stringview_make(msg, sizeof(msg)));
+ response, upb_strview_make(msg, sizeof(msg)));
return;
}
break;
@@ -78,7 +78,7 @@ void DoTest(
case conformance_ConformanceRequest_payload_json_payload: {
static const char msg[] = "JSON support not yet implemented.";
conformance_ConformanceResponse_set_skipped(
- response, upb_stringview_make(msg, sizeof(msg)));
+ response, upb_strview_make(msg, sizeof(msg)));
return;
}
@@ -105,18 +105,18 @@ void DoTest(
if (!serialized) {
static const char msg[] = "Error serializing.";
conformance_ConformanceResponse_set_serialize_error(
- response, upb_stringview_make(msg, sizeof(msg)));
+ response, upb_strview_make(msg, sizeof(msg)));
return;
}
conformance_ConformanceResponse_set_protobuf_payload(
- response, upb_stringview_make(serialized, serialized_len));
+ response, upb_strview_make(serialized, serialized_len));
break;
}
case conformance_JSON: {
static const char msg[] = "JSON support not yet implemented.";
conformance_ConformanceResponse_set_skipped(
- response, upb_stringview_make(msg, sizeof(msg)));
+ response, upb_strview_make(msg, sizeof(msg)));
break;
}
@@ -130,7 +130,7 @@ void DoTest(
}
bool DoTestIo() {
- upb_arena arena;
+ upb_arena *arena;
upb_alloc *alloc;
upb_status status;
char *serialized_input;
@@ -145,8 +145,8 @@ bool DoTestIo() {
return false;
}
- upb_arena_init(&arena);
- alloc = upb_arena_alloc(&arena);
+ arena = upb_arena_new();
+ alloc = upb_arena_alloc(arena);
serialized_input = upb_malloc(alloc, input_size);
if (!CheckedRead(STDIN_FILENO, serialized_input, input_size)) {
@@ -155,24 +155,26 @@ bool DoTestIo() {
}
request = conformance_ConformanceRequest_parsenew(
- upb_stringview_make(serialized_input, input_size), &arena);
- response = conformance_ConformanceResponse_new(&arena);
+ upb_strview_make(serialized_input, input_size), arena);
+ response = conformance_ConformanceResponse_new(arena);
if (request) {
- DoTest(request, response, &arena);
+ DoTest(request, response, arena);
} else {
fprintf(stderr, "conformance_upb: parse of ConformanceRequest failed: %s\n",
upb_status_errmsg(&status));
}
serialized_output = conformance_ConformanceResponse_serialize(
- response, &arena, &output_size);
+ response, arena, &output_size);
CheckedWrite(STDOUT_FILENO, &output_size, sizeof(uint32_t));
CheckedWrite(STDOUT_FILENO, serialized_output, output_size);
test_count++;
+ upb_arena_free(arena);
+
return true;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback