From 08b4a91204ff7174c381f887d87878d8bb1181ff Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Sat, 5 Dec 2009 19:54:38 -0800 Subject: Add a test for circularly-linked descriptors. The test currently triggers valgrind-detected memory errors. --- tests/test_vs_proto2.cc | 4 ++-- tests/tests.c | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/test_vs_proto2.cc b/tests/test_vs_proto2.cc index 926d731..58c8e50 100644 --- a/tests/test_vs_proto2.cc +++ b/tests/test_vs_proto2.cc @@ -131,8 +131,8 @@ void compare(const google::protobuf::Message& proto2_msg, const google::protobuf::Descriptor *d = proto2_msg.GetDescriptor(); struct upb_msgdef *def = upb_msg->def; - ASSERT((uint32_t)d->field_count() == def->num_fields); - for(uint32_t i = 0; i < def->num_fields; i++) { + ASSERT((upb_field_count_t)d->field_count() == def->num_fields); + for(upb_field_count_t i = 0; i < def->num_fields; i++) { struct upb_fielddef *upb_f = &def->fields[i]; const google::protobuf::FieldDescriptor *proto2_f = d->FindFieldByNumber(upb_f->number); diff --git a/tests/tests.c b/tests/tests.c index 9fbfa3a..3580c2e 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -228,9 +228,18 @@ static void test_get_f_uint32_t() } static void test_upb_symtab() { - struct upb_symtab *c = upb_symtab_new(); - ASSERT(c); - upb_symtab_unref(c); + struct upb_symtab *s = upb_symtab_new(); + ASSERT(s); + struct upb_string *descriptor = upb_strreadfile("tests/test.proto.pb"); + if(!descriptor) { + fprintf(stderr, "Couldn't read input file tests/test.proto.pb\n"); + exit(1); + } + struct upb_status status = UPB_STATUS_INIT; + upb_symtab_add_desc(s, descriptor, &status); + ASSERT(upb_ok(&status)); + upb_string_unref(descriptor); + upb_symtab_unref(s); } -- cgit v1.2.3