static void test_backend(enum coll_eng engine, enum hash_alg hash_alg) { fputs("\tcheck insert ... ", stdout); fflush(stdout); check_insert(engine, hash_alg); fputs("\tcheck remove ... ", stdout); fflush(stdout); check_remove(engine, hash_alg); fputs("\tcheck get/remove ... ", stdout); fflush(stdout); check_get_remove(engine, hash_alg); fputs("\tcheck iterator... ", stdout); fflush(stdout); check_iterator(engine, hash_alg); }
void check_remove(struct hash *hash, struct node *n, struct tree *r) { struct tree_node *t; t = tree_first(n->provide->root); while (t) { check_remove(hash, t->n, r); t = tree_next(t); } if (tree_count(n->providedby) == 1) add_all_neededby(hash, n, r); }