]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/test/run-tdb1-rwlock-check.c
tdb2: test: try (almost) all tests with TDB_VERSION1 flag.
[ccan] / ccan / tdb2 / test / run-tdb1-rwlock-check.c
index 5d438d3883c6fb82459e51af220081340835ca84..44a2eeb8c72111bd88db52108759c0041b05c887 100644 (file)
@@ -3,32 +3,38 @@
 #include <stdlib.h>
 #include <err.h>
 
-static void log_fn(struct tdb1_context *tdb, enum tdb1_debug_level level, const char *fmt, ...)
+static void log_fn(struct tdb_context *tdb, enum tdb_log_level level,
+                  enum TDB_ERROR ecode, const char *message, void *priv)
 {
-       unsigned int *count = tdb1_get_logging_private(tdb);
-       if (strstr(fmt, "spinlocks"))
+       unsigned int *count = priv;
+       if (strstr(message, "spinlocks"))
                (*count)++;
 }
 
 /* The code should barf on TDBs created with rwlocks. */
 int main(int argc, char *argv[])
 {
-       struct tdb1_context *tdb;
+       struct tdb_context *tdb;
        unsigned int log_count;
-       struct tdb1_logging_context log_ctx = { log_fn, &log_count };
+       union tdb_attribute log_attr;
+
+       log_attr.base.attr = TDB_ATTRIBUTE_LOG;
+       log_attr.base.next = NULL;
+       log_attr.log.fn = log_fn;
+       log_attr.log.data = &log_count;
 
        plan_tests(4);
 
        /* We should fail to open rwlock-using tdbs of either endian. */
        log_count = 0;
-       tdb = tdb1_open_ex("test/rwlock-le.tdb1", 0, 0, O_RDWR, 0,
-                         &log_ctx, NULL);
+       tdb = tdb_open("test/rwlock-le.tdb1", TDB_VERSION1, O_RDWR, 0,
+                      &log_attr);
        ok1(!tdb);
        ok1(log_count == 1);
 
        log_count = 0;
-       tdb = tdb1_open_ex("test/rwlock-be.tdb1", 0, 0, O_RDWR, 0,
-                         &log_ctx, NULL);
+       tdb = tdb_open("test/rwlock-be.tdb1", TDB_VERSION1, O_RDWR, 0,
+                      &log_attr);
        ok1(!tdb);
        ok1(log_count == 1);