X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Frun-tdb1-no-lock-during-traverse.c;h=b2b7a781db602d690184035ee09f8ddddb07d049;hb=6bc8ea012391198bc3898ae2937558b60dd55906;hp=c1cb40a49e160cb9b41c691a1fd1c9e34bdc2903;hpb=22d0e0dc59fc9d7e0046fec6971ef478c2d604fd;p=ccan diff --git a/ccan/tdb2/test/run-tdb1-no-lock-during-traverse.c b/ccan/tdb2/test/run-tdb1-no-lock-during-traverse.c index c1cb40a4..b2b7a781 100644 --- a/ccan/tdb2/test/run-tdb1-no-lock-during-traverse.c +++ b/ccan/tdb2/test/run-tdb1-no-lock-during-traverse.c @@ -8,13 +8,13 @@ #include #include #include -#include "tdb1-logging.h" +#include "logging.h" #undef fcntl #define NUM_ENTRIES 10 -static bool prepare_entries(struct tdb1_context *tdb) +static bool prepare_entries(struct tdb_context *tdb) { unsigned int i; TDB_DATA key, data; @@ -25,13 +25,13 @@ static bool prepare_entries(struct tdb1_context *tdb) data.dsize = strlen("world"); data.dptr = (void *)"world"; - if (tdb1_store(tdb, key, data, 0) != 0) + if (tdb_store(tdb, key, data, 0) != TDB_SUCCESS) return false; } return true; } -static void delete_entries(struct tdb1_context *tdb) +static void delete_entries(struct tdb_context *tdb) { unsigned int i; TDB_DATA key; @@ -40,67 +40,72 @@ static void delete_entries(struct tdb1_context *tdb) key.dsize = sizeof(i); key.dptr = (void *)&i; - ok1(tdb1_delete(tdb, key) == 0); + ok1(tdb_delete(tdb, key) == TDB_SUCCESS); } } /* We don't know how many times this will run. */ -static int delete_other(struct tdb1_context *tdb, TDB_DATA key, TDB_DATA data, +static int delete_other(struct tdb_context *tdb, TDB_DATA key, TDB_DATA data, void *private_data) { unsigned int i; memcpy(&i, key.dptr, 4); i = (i + 1) % NUM_ENTRIES; key.dptr = (void *)&i; - if (tdb1_delete(tdb, key) != 0) + if (tdb_delete(tdb, key) != TDB_SUCCESS) (*(int *)private_data)++; return 0; } -static int delete_self(struct tdb1_context *tdb, TDB_DATA key, TDB_DATA data, +static int delete_self(struct tdb_context *tdb, TDB_DATA key, TDB_DATA data, void *private_data) { - ok1(tdb1_delete(tdb, key) == 0); + ok1(tdb_delete(tdb, key) == TDB_SUCCESS); return 0; } int main(int argc, char *argv[]) { - struct tdb1_context *tdb; + struct tdb_context *tdb; int errors = 0; + union tdb_attribute hsize; - plan_tests(41); - tdb = tdb1_open_ex("run-no-lock-during-traverse.tdb", - 1024, TDB_DEFAULT, O_CREAT|O_TRUNC|O_RDWR, - 0600, &taplogctx, NULL); + hsize.base.attr = TDB_ATTRIBUTE_TDB1_HASHSIZE; + hsize.base.next = &tap_log_attr; + hsize.tdb1_hashsize.hsize = 1024; + + plan_tests(40); + tdb = tdb_open("run-no-lock-during-traverse.tdb1", + TDB_VERSION1, O_CREAT|O_TRUNC|O_RDWR, + 0600, &hsize); ok1(tdb); ok1(prepare_entries(tdb)); ok1(locking_errors1 == 0); - ok1(tdb1_lockall(tdb) == 0); + ok1(tdb_lockall(tdb) == 0); ok1(locking_errors1 == 0); - tdb1_traverse(tdb, delete_other, &errors); + ok1(tdb_traverse(tdb, delete_other, &errors) >= 0); ok1(errors == 0); ok1(locking_errors1 == 0); - ok1(tdb1_unlockall(tdb) == 0); + tdb_unlockall(tdb); ok1(prepare_entries(tdb)); ok1(locking_errors1 == 0); - ok1(tdb1_lockall(tdb) == 0); + ok1(tdb_lockall(tdb) == 0); ok1(locking_errors1 == 0); - tdb1_traverse(tdb, delete_self, NULL); + ok1(tdb_traverse(tdb, delete_self, NULL) == NUM_ENTRIES); ok1(locking_errors1 == 0); - ok1(tdb1_unlockall(tdb) == 0); + tdb_unlockall(tdb); ok1(prepare_entries(tdb)); ok1(locking_errors1 == 0); - ok1(tdb1_lockall(tdb) == 0); + ok1(tdb_lockall(tdb) == 0); ok1(locking_errors1 == 0); delete_entries(tdb); ok1(locking_errors1 == 0); - ok1(tdb1_unlockall(tdb) == 0); + tdb_unlockall(tdb); - ok1(tdb1_close(tdb) == 0); + ok1(tdb_close(tdb) == 0); return exit_status(); }