X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Frun-13-delete.c;h=3b464d927ef9bd9460db9f6405573b618ff72edc;hp=8322ff50c863702d1f2de552a9a6affdc5f9bb07;hb=0753972a623c7bf24f13578a5ceb3995ea307876;hpb=efdf0f2d8f34b4c01c82c558b350ec36c7329b1e diff --git a/ccan/tdb2/test/run-13-delete.c b/ccan/tdb2/test/run-13-delete.c index 8322ff50..3b464d92 100644 --- a/ccan/tdb2/test/run-13-delete.c +++ b/ccan/tdb2/test/run-13-delete.c @@ -12,7 +12,7 @@ /* We rig the hash so adjacent-numbered records always clash. */ static uint64_t clash(const void *key, size_t len, uint64_t seed, void *priv) { - return ((uint64_t)*(unsigned int *)key) + return ((uint64_t)*(const unsigned int *)key) << (64 - TDB_TOPLEVEL_HASH_BITS - 1); } @@ -33,9 +33,7 @@ static bool store_records(struct tdb_context *tdb) if (tdb_store(tdb, key, data, TDB_REPLACE) != 0) return false; tdb_fetch(tdb, key, &d); - if (d.dsize != data.dsize) - return false; - if (memcmp(d.dptr, data.dptr, d.dsize) != 0) + if (!tdb_deq(d, data)) return false; free(d.dptr); } @@ -148,11 +146,11 @@ int main(int argc, char *argv[]) uint64_t seed = 16014841315512641303ULL; union tdb_attribute clash_hattr = { .hash = { .base = { TDB_ATTRIBUTE_HASH }, - .hash_fn = clash } }; + .fn = clash } }; union tdb_attribute fixed_hattr = { .hash = { .base = { TDB_ATTRIBUTE_HASH }, - .hash_fn = fixedhash, - .hash_private = &seed } }; + .fn = fixedhash, + .data = &seed } }; int flags[] = { TDB_INTERNAL, TDB_DEFAULT, TDB_NOMMAP, TDB_INTERNAL|TDB_CONVERT, TDB_CONVERT, TDB_NOMMAP|TDB_CONVERT }; @@ -180,7 +178,8 @@ int main(int argc, char *argv[]) /* Check mixed bitpattern. */ test_val(tdb, 0x123456789ABCDEF0ULL); - ok1(tdb->allrecord_lock.count == 0 && tdb->num_lockrecs == 0); + ok1(!tdb->file || (tdb->file->allrecord_lock.count == 0 + && tdb->file->num_lockrecs == 0)); tdb_close(tdb); /* Deleting these entries in the db gave problems. */