static void test_ctree_insert() { struct ctree *t = ctree_new(); UT_ASSERT(t != NULL); Rcounter_malloc = TEST_INSERT; UT_ASSERT(ctree_is_empty(t)); /* leaf Malloc fail */ UT_ASSERT(ctree_insert(t, TEST_VAL_A, 0) != 0); /* all OK root */ UT_ASSERT(ctree_insert(t, TEST_VAL_B, 0) == 0); /* insert +2 mallocs */ /* accessor Malloc fail */ UT_ASSERT(ctree_insert(t, TEST_VAL_A, 0) != 0); /* insert duplicate */ UT_ASSERT(ctree_insert(t, TEST_VAL_B, 0) != 0); /* all OK second */ UT_ASSERT(ctree_insert(t, TEST_VAL_A, 0) == 0); UT_ASSERT(!ctree_is_empty(t)); ctree_delete(t); }
/* * bucket_is_empty -- checks whether the bucket is empty */ int bucket_is_empty(struct bucket *b) { return ctree_is_empty(b->tree); }
/* * bucket_tree_is_empty -- (internal) checks whether the bucket is empty */ static int bucket_tree_is_empty(struct block_container *bc) { struct block_container_ctree *c = (struct block_container_ctree *)bc; return ctree_is_empty(c->tree); }