summaryrefslogtreecommitdiff
path: root/tests/test_def.c
diff options
context:
space:
mode:
authorJosh Haberman <jhaberman@gmail.com>2013-10-24 12:43:19 -0700
committerJosh Haberman <jhaberman@gmail.com>2013-10-24 12:43:19 -0700
commit26d98ca94f2f049e8767b4a9a33d185a3d7ea0fd (patch)
tree340bcf495f06ed05c9f3fb423f210caf4edce2b1 /tests/test_def.c
parent61109fca1f967771c21dc7184aee35f3b439c577 (diff)
Merge from Google-internal development:
- rewritten decoder; interpreted decoder is bytecode-based, JIT decoder no longer falls back to the interpreter. - C++ improvements: C++11-compatible iterators, upb::reffed_ptr for RAII refcounting, better upcast/downcast support. - removed the gross upb_value abstraction from public upb.h.
Diffstat (limited to 'tests/test_def.c')
-rw-r--r--tests/test_def.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/tests/test_def.c b/tests/test_def.c
index 7c6e6cc..9d3805c 100644
--- a/tests/test_def.c
+++ b/tests/test_def.c
@@ -75,7 +75,7 @@ static void test_fielddef_unref() {
upb_symtab_unref(s, &s);
upb_msgdef_unref(md, &md);
// Check that md is still alive.
- ASSERT(strcmp(upb_def_fullname(upb_upcast(md)), "A") == 0);
+ ASSERT(strcmp(upb_msgdef_fullname(md), "A") == 0);
// Check that unref of fielddef frees the whole remaining graph.
upb_fielddef_unref(f, &f);
@@ -123,13 +123,13 @@ static upb_fielddef *newfield(
static upb_msgdef *upb_msgdef_newnamed(const char *name, void *owner) {
upb_msgdef *m = upb_msgdef_new(owner);
- upb_def_setfullname(upb_upcast(m), name, NULL);
+ upb_msgdef_setfullname(m, name, NULL);
return m;
}
static upb_enumdef *upb_enumdef_newnamed(const char *name, void *owner) {
upb_enumdef *e = upb_enumdef_new(owner);
- upb_def_setfullname(upb_upcast(e), name, NULL);
+ upb_enumdef_setfullname(e, name, NULL);
return e;
}
@@ -143,15 +143,15 @@ static void test_replacement() {
upb_msgdef *m2 = upb_msgdef_newnamed("MyMessage2", &s);
upb_enumdef *e = upb_enumdef_newnamed("MyEnum", &s);
- upb_def *newdefs[] = {upb_upcast(m), upb_upcast(m2), upb_upcast(e)};
+ upb_def *newdefs[] = {UPB_UPCAST(m), UPB_UPCAST(m2), UPB_UPCAST(e)};
upb_status status = UPB_STATUS_INIT;
ASSERT_STATUS(upb_symtab_add(s, newdefs, 3, &s, &status), &status);
// Try adding a new definition of MyEnum, MyMessage should get replaced with
// a new version.
upb_enumdef *e2 = upb_enumdef_new(&s);
- upb_def_setfullname(upb_upcast(e2), "MyEnum", NULL);
- upb_def *newdefs2[] = {upb_upcast(e2)};
+ upb_enumdef_setfullname(e2, "MyEnum", NULL);
+ upb_def *newdefs2[] = {UPB_UPCAST(e2)};
ASSERT_STATUS(upb_symtab_add(s, newdefs2, 1, &s, &status), &status);
const upb_msgdef *m3 = upb_symtab_lookupmsg(s, "MyMessage", &m3);
@@ -184,7 +184,7 @@ static void test_freeze_free() {
upb_fielddef_settype(f, UPB_TYPE_MESSAGE);
ASSERT(upb_fielddef_setnumber(f, 1, NULL));
ASSERT(upb_fielddef_setname(f, "foo", NULL));
- ASSERT(upb_fielddef_setsubdef(f, upb_upcast(m4), NULL));
+ ASSERT(upb_fielddef_setmsgsubdef(f, m4, NULL));
ASSERT(upb_msgdef_addfield(m1, f, &f, NULL));
@@ -197,9 +197,9 @@ static void test_freeze_free() {
ASSERT(upb_fielddef_setnumber(f, 1, NULL));
ASSERT(upb_fielddef_setname(f, "foo", NULL));
- ASSERT(upb_fielddef_setsubdef(f, upb_upcast(m1), NULL));
- ASSERT(upb_fielddef_setsubdef(f, upb_upcast(m2), NULL));
- ASSERT(upb_fielddef_setsubdef(f, upb_upcast(m3), NULL));
+ ASSERT(upb_fielddef_setmsgsubdef(f, m1, NULL));
+ ASSERT(upb_fielddef_setmsgsubdef(f, m2, NULL));
+ ASSERT(upb_fielddef_setmsgsubdef(f, m3, NULL));
// Make M3 cyclic with itself.
ASSERT(upb_msgdef_addfield(m3, f, &f, NULL));
@@ -211,8 +211,8 @@ static void test_freeze_free() {
upb_msgdef_unref(m2, &m2);
// Test that they are still alive (NOT allowed by the API).
- ASSERT(strcmp("M1", upb_def_fullname(upb_upcast(m1))) == 0);
- ASSERT(strcmp("M2", upb_def_fullname(upb_upcast(m2))) == 0);
+ ASSERT(strcmp("M1", upb_msgdef_fullname(m1)) == 0);
+ ASSERT(strcmp("M2", upb_msgdef_fullname(m2)) == 0);
// Freeze M3. If the test leaked no memory, then freeing m1 and m2 was
// successful.
@@ -232,20 +232,20 @@ static void test_partial_freeze() {
upb_fielddef_settype(f1, UPB_TYPE_MESSAGE);
ASSERT(upb_fielddef_setnumber(f1, 1, NULL));
ASSERT(upb_fielddef_setname(f1, "f1", NULL));
- ASSERT(upb_fielddef_setsubdef(f1, upb_upcast(m1), NULL));
+ ASSERT(upb_fielddef_setmsgsubdef(f1, m1, NULL));
upb_fielddef *f2 = upb_fielddef_new(&f2);
upb_fielddef_settype(f2, UPB_TYPE_MESSAGE);
ASSERT(upb_fielddef_setnumber(f2, 2, NULL));
ASSERT(upb_fielddef_setname(f2, "f2", NULL));
- ASSERT(upb_fielddef_setsubdef(f2, upb_upcast(m2), NULL));
+ ASSERT(upb_fielddef_setmsgsubdef(f2, m2, NULL));
ASSERT(upb_msgdef_addfield(m3, f1, &f1, NULL));
ASSERT(upb_msgdef_addfield(m3, f2, &f2, NULL));
// Freeze M1 and M2, which should cause the group to be split
// and m3 (left mutable) to take references on m1 and m2.
- upb_def *defs[] = {upb_upcast(m1), upb_upcast(m2)};
+ upb_def *defs[] = {UPB_UPCAST(m1), UPB_UPCAST(m2)};
ASSERT(upb_def_freeze(defs, 2, NULL));
ASSERT(upb_msgdef_isfrozen(m1));
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback