]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/test/run-03-coalesce.c
tdb2: provide tdb_layout_write() rather than implying it by new_tdb_layout arg.
[ccan] / ccan / tdb2 / test / run-03-coalesce.c
index 93b817284467c03361859065d8016bc6206899b9..c64b2bc57c0df1f5782f430e89d9d7c809f52f11 100644 (file)
@@ -32,11 +32,14 @@ int main(int argc, char *argv[])
        key = tdb_mkdata("hello", 5);
 
        /* No coalescing can be done due to EOF */
-       layout = new_tdb_layout("run-03-coalesce.tdb");
+       layout = new_tdb_layout();
        tdb_layout_add_freetable(layout);
        len = 1024;
        tdb_layout_add_free(layout, len, 0);
-       tdb = tdb_layout_get(layout, &tap_log_attr);
+       tdb_layout_write(layout, &tap_log_attr, "run-03-coalesce.tdb");
+       /* NOMMAP is for lockcheck. */
+       tdb = tdb_open("run-03-coalesce.tdb", TDB_NOMMAP, O_RDWR, 0,
+                      &tap_log_attr);
        ok1(tdb_check(tdb, NULL, NULL) == 0);
        ok1(free_record_length(tdb, layout->elem[1].base.off) == len);
 
@@ -55,11 +58,14 @@ int main(int argc, char *argv[])
        tdb_layout_free(layout);
 
        /* No coalescing can be done due to used record */
-       layout = new_tdb_layout("run-03-coalesce.tdb");
+       layout = new_tdb_layout();
        tdb_layout_add_freetable(layout);
        tdb_layout_add_free(layout, 1024, 0);
        tdb_layout_add_used(layout, key, data, 6);
-       tdb = tdb_layout_get(layout, &tap_log_attr);
+       tdb_layout_write(layout, &tap_log_attr, "run-03-coalesce.tdb");
+       /* NOMMAP is for lockcheck. */
+       tdb = tdb_open("run-03-coalesce.tdb", TDB_NOMMAP, O_RDWR, 0,
+                      &tap_log_attr);
        ok1(free_record_length(tdb, layout->elem[1].base.off) == 1024);
        ok1(tdb_check(tdb, NULL, NULL) == 0);
 
@@ -78,11 +84,14 @@ int main(int argc, char *argv[])
        tdb_layout_free(layout);
 
        /* Coalescing can be done due to two free records, then EOF */
-       layout = new_tdb_layout("run-03-coalesce.tdb");
+       layout = new_tdb_layout();
        tdb_layout_add_freetable(layout);
        tdb_layout_add_free(layout, 1024, 0);
        tdb_layout_add_free(layout, 2048, 0);
-       tdb = tdb_layout_get(layout, &tap_log_attr);
+       tdb_layout_write(layout, &tap_log_attr, "run-03-coalesce.tdb");
+       /* NOMMAP is for lockcheck. */
+       tdb = tdb_open("run-03-coalesce.tdb", TDB_NOMMAP, O_RDWR, 0,
+                      &tap_log_attr);
        ok1(free_record_length(tdb, layout->elem[1].base.off) == 1024);
        ok1(free_record_length(tdb, layout->elem[2].base.off) == 2048);
        ok1(tdb_check(tdb, NULL, NULL) == 0);
@@ -104,12 +113,15 @@ int main(int argc, char *argv[])
        tdb_layout_free(layout);
 
        /* Coalescing can be done due to two free records, then data */
-       layout = new_tdb_layout("run-03-coalesce.tdb");
+       layout = new_tdb_layout();
        tdb_layout_add_freetable(layout);
        tdb_layout_add_free(layout, 1024, 0);
        tdb_layout_add_free(layout, 512, 0);
        tdb_layout_add_used(layout, key, data, 6);
-       tdb = tdb_layout_get(layout, &tap_log_attr);
+       tdb_layout_write(layout, &tap_log_attr, "run-03-coalesce.tdb");
+       /* NOMMAP is for lockcheck. */
+       tdb = tdb_open("run-03-coalesce.tdb", TDB_NOMMAP, O_RDWR, 0,
+                      &tap_log_attr);
        ok1(free_record_length(tdb, layout->elem[1].base.off) == 1024);
        ok1(free_record_length(tdb, layout->elem[2].base.off) == 512);
        ok1(tdb_check(tdb, NULL, NULL) == 0);
@@ -130,12 +142,15 @@ int main(int argc, char *argv[])
        tdb_layout_free(layout);
 
        /* Coalescing can be done due to three free records, then EOF */
-       layout = new_tdb_layout("run-03-coalesce.tdb");
+       layout = new_tdb_layout();
        tdb_layout_add_freetable(layout);
        tdb_layout_add_free(layout, 1024, 0);
        tdb_layout_add_free(layout, 512, 0);
        tdb_layout_add_free(layout, 256, 0);
-       tdb = tdb_layout_get(layout, &tap_log_attr);
+       tdb_layout_write(layout, &tap_log_attr, "run-03-coalesce.tdb");
+       /* NOMMAP is for lockcheck. */
+       tdb = tdb_open("run-03-coalesce.tdb", TDB_NOMMAP, O_RDWR, 0,
+                      &tap_log_attr);
        ok1(free_record_length(tdb, layout->elem[1].base.off) == 1024);
        ok1(free_record_length(tdb, layout->elem[2].base.off) == 512);
        ok1(free_record_length(tdb, layout->elem[3].base.off) == 256);