summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJosh Haberman <jhaberman@gmail.com>2017-01-21 10:47:58 -0800
committerJosh Haberman <jhaberman@gmail.com>2017-01-21 10:47:58 -0800
commit47da2afd52b0f108085439e3dc8ad5236809fbae (patch)
treecc35bd4029e6204b43062e6b5788c4337f2d49e5 /tests
parentc850bc0a4e62c1c9c21c1f6cfe3b8293e64831cf (diff)
Make upb::SymbolTable no longer reference-counted.
This transitions it from shared ownership to unique ownership.
Diffstat (limited to 'tests')
-rw-r--r--tests/bindings/lua/test_upb.lua11
-rw-r--r--tests/test_cpp.cc6
-rw-r--r--tests/test_def.c27
3 files changed, 14 insertions, 30 deletions
diff --git a/tests/bindings/lua/test_upb.lua b/tests/bindings/lua/test_upb.lua
index 65439bc..261328d 100644
--- a/tests/bindings/lua/test_upb.lua
+++ b/tests/bindings/lua/test_upb.lua
@@ -401,17 +401,6 @@ function test_symtab()
local msgdef3 = symtab:lookup("ContainingMessage2")
assert_not_nil(msgdef3)
assert_equal(msgdef3:field("field5"):subdef(), msgdef2)
-
- -- Freeze the symtab and verify that mutating operations are not allowed.
- assert_false(symtab:is_frozen())
- symtab:freeze()
- assert_true(symtab:is_frozen())
- assert_error_match("frozen", function() symtab:freeze() end)
- assert_error_match("frozen", function()
- symtab:add{
- upb.MessageDef{full_name = "Foo"}
- }
- end)
end
function test_symtab_add_extension()
diff --git a/tests/test_cpp.cc b/tests/test_cpp.cc
index 220e69f..2cd9802 100644
--- a/tests/test_cpp.cc
+++ b/tests/test_cpp.cc
@@ -154,15 +154,12 @@ static void TestSymbolTable(const char *descriptor_file) {
exit(1);
}
- upb::reffed_ptr<upb::SymbolTable> s(upb::SymbolTable::New());
+ upb::SymbolTable* s = upb::SymbolTable::New();
for (size_t i = 0; i < files.size(); i++) {
ASSERT(s->AddFile(files[i].get(), &status));
}
- ASSERT(!s->IsFrozen());
- s->Freeze();
- ASSERT(s->IsFrozen());
upb::reffed_ptr<const upb::MessageDef> md(s->LookupMessage("C"));
ASSERT(md.get());
@@ -180,6 +177,7 @@ static void TestSymbolTable(const char *descriptor_file) {
#endif
ASSERT(md.get());
+ upb::SymbolTable::Free(s);
}
static void TestCasts1() {
diff --git a/tests/test_def.c b/tests/test_def.c
index 93622c1..29c459a 100644
--- a/tests/test_def.c
+++ b/tests/test_def.c
@@ -13,13 +13,13 @@
const char *descriptor_file;
static void test_empty_symtab() {
- upb_symtab *s = upb_symtab_new(&s);
+ upb_symtab *s = upb_symtab_new();
upb_symtab_iter i;
for (upb_symtab_begin(&i, s, UPB_DEF_ANY); !upb_symtab_done(&i);
upb_symtab_next(&i)) {
ASSERT(false); /* Should not get here. */
}
- upb_symtab_unref(s, &s);
+ upb_symtab_free(s);
}
static void test_noreftracking() {
@@ -39,8 +39,8 @@ static void test_noreftracking() {
upb_msgdef_unref(md, &md);
}
-static upb_symtab *load_test_proto(void *owner) {
- upb_symtab *s = upb_symtab_new(owner);
+static upb_symtab *load_test_proto() {
+ upb_symtab *s = upb_symtab_new();
upb_status status = UPB_STATUS_INIT;
size_t len;
char *data = upb_readfile(descriptor_file, &len);
@@ -64,15 +64,12 @@ static upb_symtab *load_test_proto(void *owner) {
upb_gfree(files);
- ASSERT(!upb_symtab_isfrozen(s));
- upb_symtab_freeze(s);
- ASSERT(upb_symtab_isfrozen(s));
return s;
}
static void test_cycles() {
bool ok;
- upb_symtab *s = load_test_proto(&s);
+ upb_symtab *s = load_test_proto();
const upb_msgdef *m;
const upb_fielddef *f;
const upb_def *def;
@@ -84,7 +81,7 @@ static void test_cycles() {
upb_def_ref(def, &def);
ASSERT(def);
ASSERT(upb_def_isfrozen(def));
- upb_symtab_unref(s, &s);
+ upb_symtab_free(s);
/* Message A has only one subfield: "optional B b = 1". */
m = upb_downcast_msgdef(def);
@@ -162,7 +159,7 @@ static void test_symbol_resolution() {
upb_msgdef_unref(m3, &m3);
upb_msgdef_unref(m2, &m2);
upb_msgdef_unref(m1, &m1);
- upb_symtab_unref(symtab, &symtab);
+ upb_symtab_free(symtab);
}
static void test_fielddef_unref() {
@@ -173,7 +170,7 @@ static void test_fielddef_unref() {
upb_fielddef_ref(f, &f);
/* Unref symtab; now fielddef is the only thing keeping the msgdef alive. */
- upb_symtab_unref(s, &s);
+ upb_symtab_free(s);
/* Check that md is still alive. */
ok = strcmp(upb_msgdef_fullname(md), "A") == 0;
ASSERT(ok);
@@ -256,7 +253,7 @@ static void test_replacement() {
* are reachable from it. */
ASSERT(m3 == m2);
- upb_symtab_unref(s, &s);
+ upb_symtab_free(s);
}
static void test_cycles_in_replacement() {
@@ -269,7 +266,7 @@ static void test_cycles_in_replacement() {
&s, NULL);
ASSERT_STATUS(upb_symtab_add(s, (upb_def**)&m, 1, &s, &status), &status);
ASSERT_STATUS(upb_symtab_add(s, NULL, 0, &s, &status), &status);
- upb_symtab_unref(s, &s);
+ upb_symtab_free(s);
}
static void test_freeze_free() {
@@ -413,7 +410,7 @@ static void test_mapentry_check() {
upb_symtab_add(symtab, defs, 2, NULL, &s);
ASSERT(upb_ok(&s));
- upb_symtab_unref(symtab, &symtab);
+ upb_symtab_free(symtab);
upb_msgdef_unref(subm, &subm);
upb_msgdef_unref(m, &m);
}
@@ -470,7 +467,7 @@ static void test_oneofs() {
lookup_field = upb_oneofdef_ntofz(o, "field1");
ASSERT(lookup_field != NULL && upb_fielddef_number(lookup_field) == 1);
- upb_symtab_unref(symtab, &symtab);
+ upb_symtab_free(symtab);
upb_oneofdef_unref(o, &o);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback