]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/test/run-tdb1-corrupt.c
check_type: fix incorrect documentation.
[ccan] / ccan / tdb2 / test / run-tdb1-corrupt.c
index 5aa37ec46cadf2c65a3c66fa0aa6e60b2110b926..35bc4c3f229554938790ea8bb5a14b1d5e160e11 100644 (file)
@@ -2,7 +2,7 @@
 #include <ccan/tap/tap.h>
 #include <stdlib.h>
 #include <err.h>
-#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();
 }