X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fhtable%2Ftest%2Frun-type.c;h=a3616a5a37b8fb1f2588d9d8e369136c6436665e;hp=11ce54bac7fd889338893264822ac6be022159ca;hb=04bcddcc084cf0ef05945c7a9d609e08e30387be;hpb=a0f174c63680a3dd8fc61333f79231ffdf7e96b1 diff --git a/ccan/htable/test/run-type.c b/ccan/htable/test/run-type.c index 11ce54ba..a3616a5a 100644 --- a/ccan/htable/test/run-type.c +++ b/ccan/htable/test/run-type.c @@ -83,7 +83,7 @@ static void del_vals(struct htable_obj *ht, } static void del_vals_bykey(struct htable_obj *ht, - const struct obj val[], unsigned int num) + const struct obj val[] UNNEEDED, unsigned int num) { unsigned int i; @@ -107,16 +107,16 @@ static bool check_mask(struct htable *ht, const struct obj val[], unsigned num) return true; } -int main(int argc, char *argv[]) +int main(void) { unsigned int i; - struct htable_obj ht; + struct htable_obj ht, ht2; struct obj val[NUM_VALS], *result; unsigned int dne; void *p; struct htable_obj_iter iter; - plan_tests(26); + plan_tests(29); for (i = 0; i < NUM_VALS; i++) val[i].key = i; dne = i; @@ -147,6 +147,10 @@ int main(int argc, char *argv[]) for (p = htable_obj_first(&ht,&iter); p; p = htable_obj_next(&ht, &iter)) i++; ok1(i == NUM_VALS); + i = 0; + for (p = htable_obj_prev(&ht,&iter); p; p = htable_obj_prev(&ht, &iter)) + i++; + ok1(i == NUM_VALS); /* Delete all. */ del_vals(&ht, val, NUM_VALS); @@ -167,8 +171,12 @@ int main(int argc, char *argv[]) find_vals(&ht, val, NUM_VALS); ok1(!htable_obj_get(&ht, &dne)); + /* Check copy. */ + ok1(htable_obj_copy(&ht2, &ht)); + /* Delete them all by key. */ del_vals_bykey(&ht, val, NUM_VALS); + del_vals_bykey(&ht2, val, NUM_VALS); /* Write two of the same value. */ val[1] = val[0]; @@ -197,5 +205,6 @@ int main(int argc, char *argv[]) } htable_obj_clear(&ht); + htable_obj_clear(&ht2); return exit_status(); }