X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fhtable%2Ftest%2Frun-debug.c;h=399910354da21675f8767525a763d7bc44abfb14;hb=7218ee2476d8a7e4f9413781e2bedcd2daaa8190;hp=d2d6b0ffac609bc496951c1fa6e355e2f23ee0e8;hpb=6a8bb2092789b5b8cf9430bc188597074a17d995;p=ccan diff --git a/ccan/htable/test/run-debug.c b/ccan/htable/test/run-debug.c index d2d6b0ff..39991035 100644 --- a/ccan/htable/test/run-debug.c +++ b/ccan/htable/test/run-debug.c @@ -107,7 +107,7 @@ static bool check_mask(struct htable *ht, uint64_t val[], unsigned num) int main(void) { - unsigned int i, weight; + unsigned int i; uintptr_t perfect_bit; struct htable ht; uint64_t val[NUM_VALS]; @@ -121,7 +121,7 @@ int main(void) dne = i; htable_init(&ht, hash, NULL); - ok1(ht.max == 0); + ok1(ht_max(&ht) == 0); ok1(ht.bits == 0); /* We cannot find an entry which doesn't exist. */ @@ -130,15 +130,8 @@ int main(void) /* This should increase it once. */ add_vals(&ht, val, 0, 1); ok1(ht.bits == 1); - ok1(ht.max == 1); - weight = 0; - for (i = 0; i < sizeof(ht.common_mask) * CHAR_BIT; i++) { - if (ht.common_mask & ((uintptr_t)1 << i)) { - weight++; - } - } - /* Only one bit should be clear. */ - ok1(weight == i-1); + ok1(ht_max(&ht) == 1); + ok1(ht.common_mask == -1); /* Mask should be set. */ ok1(check_mask(&ht, val, 1)); @@ -146,7 +139,7 @@ int main(void) /* This should increase it again. */ add_vals(&ht, val, 1, 1); ok1(ht.bits == 2); - ok1(ht.max == 3); + ok1(ht_max(&ht) == 3); /* Mask should be set. */ ok1(ht.common_mask != 0); @@ -194,29 +187,29 @@ int main(void) /* Corner cases: wipe out the perfect bit using bogus pointer. */ htable_clear(&ht); htable_add(&ht, hash(&val[NUM_VALS-1], NULL), &val[NUM_VALS-1]); - ok1(ht.perfect_bit); - perfect_bit = ht.perfect_bit; + ok1(ht_perfect_mask(&ht)); + perfect_bit = ht_perfect_mask(&ht); bad_pointer = (void *)((uintptr_t)&val[NUM_VALS-1] | perfect_bit); htable_add(&ht, 0, bad_pointer); - ok1(ht.perfect_bit == 0); + ok1(ht_perfect_mask(&ht) == 0); htable_del(&ht, 0, bad_pointer); /* Enlarging should restore it... */ add_vals(&ht, val, 0, NUM_VALS-1); - ok1(ht.perfect_bit != 0); + ok1(ht_perfect_mask(&ht) != 0); htable_clear(&ht); ok1(htable_init_sized(&ht, hash, NULL, 1024)); - ok1(ht.max >= 1024); + ok1(ht_max(&ht) >= 1024); htable_clear(&ht); ok1(htable_init_sized(&ht, hash, NULL, 1023)); - ok1(ht.max >= 1023); + ok1(ht_max(&ht) >= 1023); htable_clear(&ht); ok1(htable_init_sized(&ht, hash, NULL, 1025)); - ok1(ht.max >= 1025); + ok1(ht_max(&ht) >= 1025); htable_clear(&ht); return exit_status();