Eo: Added some hierarchy reference checks.

Check that objects are freed when they should be freed.

SVN revision: 71795
This commit is contained in:
Tom Hacohen 2012-06-07 10:54:17 +00:00
parent 84d2f4c322
commit 4cd64fc85a
1 changed files with 20 additions and 0 deletions

View File

@ -216,10 +216,30 @@ START_TEST(eo_refs)
fail_if(eo_ref_get(obj) != 1);
#endif
/* Check we don't seg if there's an extra xref. */
eo_xref(obj, obj2);
eo_unref(obj);
eo_unref(obj);
eo_unref(obj2);
eo_unref(obj3);
/* Check hierarchy */
obj = eo_add(SIMPLE_CLASS, NULL);
obj2 = eo_add(SIMPLE_CLASS, obj);
Eo *wref;
eo_do(obj2, eo_wref_add(&wref));
fail_if(!wref);
eo_unref(obj2);
fail_if(!wref); /* Parent is still holding a reference. */
eo_unref(obj);
fail_if(wref);
/* Just check it doesn't seg atm. */
obj = eo_add(SIMPLE_CLASS, NULL);
eo_ref(obj);