X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Frun-tdb1-corrupt.c;h=35bc4c3f229554938790ea8bb5a14b1d5e160e11;hp=5aa37ec46cadf2c65a3c66fa0aa6e60b2110b926;hb=56023cca5f66a40646a1e807c3d10af6e5913623;hpb=60210a73ec08a7b34ba637ad19e6749cf6dc1952 diff --git a/ccan/tdb2/test/run-tdb1-corrupt.c b/ccan/tdb2/test/run-tdb1-corrupt.c index 5aa37ec4..35bc4c3f 100644 --- a/ccan/tdb2/test/run-tdb1-corrupt.c +++ b/ccan/tdb2/test/run-tdb1-corrupt.c @@ -2,7 +2,7 @@ #include #include #include -#include "tdb1-logging.h" +#include "logging.h" static int check(TDB_DATA key, TDB_DATA data, void *private) { @@ -23,7 +23,7 @@ static int check(TDB_DATA key, TDB_DATA data, void *private) return 0; } -static void tdb1_flip_bit(struct tdb1_context *tdb, unsigned int bit) +static void tdb1_flip_bit(struct tdb_context *tdb, unsigned int bit) { unsigned int off = bit / CHAR_BIT; unsigned char mask = (1 << (bit % CHAR_BIT)); @@ -40,12 +40,12 @@ static void tdb1_flip_bit(struct tdb1_context *tdb, unsigned int bit) } } -static void check_test(struct tdb1_context *tdb) +static void check_test(struct tdb_context *tdb) { TDB_DATA key, data; unsigned int i, verifiable, corrupt, sizes[2], dsize, ksize; - ok1(tdb1_check(tdb, NULL, NULL) == 0); + ok1(tdb_check(tdb, NULL, NULL) == TDB_SUCCESS); key.dptr = (void *)"hello"; data.dsize = strlen("world"); @@ -58,7 +58,7 @@ static void check_test(struct tdb1_context *tdb) for (key.dsize = 1; key.dsize <= 5; key.dsize++) { ksize += key.dsize; dsize += data.dsize; - if (tdb1_store(tdb, key, data, TDB_INSERT) != 0) + if (tdb_store(tdb, key, data, TDB_INSERT) != TDB_SUCCESS) abort(); } @@ -81,7 +81,7 @@ static void check_test(struct tdb1_context *tdb) for (i = 0, corrupt = 0; i < tdb->file->map_size * CHAR_BIT; i++) { tdb1_flip_bit(tdb, i); memset(sizes, 0, sizeof(sizes)); - if (tdb1_check(tdb, check, sizes) != 0) + if (tdb_check(tdb, check, sizes) == TDB_ERR_CORRUPT) corrupt++; else if (sizes[0] != ksize || sizes[1] != dsize) corrupt++; @@ -93,26 +93,31 @@ static void check_test(struct tdb1_context *tdb) int main(int argc, char *argv[]) { - struct tdb1_context *tdb; + struct tdb_context *tdb; + union tdb_attribute hsize; + + hsize.base.attr = TDB_ATTRIBUTE_TDB1_HASHSIZE; + hsize.base.next = &tap_log_attr; + hsize.tdb1_hashsize.hsize = 2; plan_tests(4); /* This should use mmap. */ - tdb = tdb1_open_ex("run-corrupt.tdb", 2, TDB_DEFAULT, - O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); + tdb = tdb_open("run-corrupt.tdb1", TDB_VERSION1, + O_CREAT|O_TRUNC|O_RDWR, 0600, &hsize); if (!tdb) abort(); check_test(tdb); - tdb1_close(tdb); + tdb_close(tdb); /* This should not. */ - tdb = tdb1_open_ex("run-corrupt.tdb", 2, TDB_NOMMAP, - O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); + tdb = tdb_open("run-corrupt.tdb1", TDB_VERSION1|TDB_NOMMAP, + O_CREAT|O_TRUNC|O_RDWR, 0600, &hsize); if (!tdb) abort(); check_test(tdb); - tdb1_close(tdb); + tdb_close(tdb); return exit_status(); }