X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fhtable%2Ftest%2Frun.c;h=7fc05e24f6bfac4b38748491911c6741d0b841a8;hb=e0529e15e0c7f9251af5465ef03f208d279affc1;hp=1a9e2de4cb6e7f98fe5e75485e06b37c73de26d5;hpb=0c3590dc33d644f73bb8587db454c491830aaf26;p=ccan diff --git a/ccan/htable/test/run.c b/ccan/htable/test/run.c index 1a9e2de4..7fc05e24 100644 --- a/ccan/htable/test/run.c +++ b/ccan/htable/test/run.c @@ -97,7 +97,7 @@ static bool check_mask(struct htable *ht, uint64_t val[], unsigned num) int main(int argc, char *argv[]) { - unsigned int i; + unsigned int i, weight; uintptr_t perfect_bit; struct htable ht; uint64_t val[NUM_VALS]; @@ -121,7 +121,14 @@ int main(int argc, char *argv[]) add_vals(&ht, val, 0, 1); ok1(ht.bits == 1); ok1(ht.max == 1); - ok1(ht.common_mask == -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); /* Mask should be set. */ ok1(check_mask(&ht, val, 1));