ntdb: respect TDB_NO_FSYNC flag for 'make test'
[ddiss/samba.git] / lib / ntdb / test / run-expand-in-transaction.c
index 54f9d81deca799d775cbb058a6bca879d4cf5e4b..07c7129f8c9159c5d50c12cd2bf5d2943ebda30f 100644 (file)
@@ -16,8 +16,9 @@ int main(int argc, char *argv[])
        for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {
                size_t size;
                NTDB_DATA k, d;
-               ntdb = ntdb_open("run-expand-in-transaction.ntdb", flags[i],
-                              O_RDWR|O_CREAT|O_TRUNC, 0600, &tap_log_attr);
+               ntdb = ntdb_open("run-expand-in-transaction.ntdb",
+                                flags[i]|MAYBE_NOSYNC,
+                                O_RDWR|O_CREAT|O_TRUNC, 0600, &tap_log_attr);
                ok1(ntdb);
                if (!ntdb)
                        continue;
@@ -25,7 +26,8 @@ int main(int argc, char *argv[])
                size = ntdb->file->map_size;
                /* Add a fake record to chew up the existing free space. */
                k = ntdb_mkdata("fake", 4);
-               d.dsize = ntdb->file->map_size - sizeof(struct new_database)- 8;
+               d.dsize = ntdb->file->map_size
+                       - NEW_DATABASE_HDR_SIZE(ntdb->hash_bits) - 8;
                d.dptr = malloc(d.dsize);
                memset(d.dptr, 0, d.dsize);
                ok1(ntdb_store(ntdb, k, d, NTDB_INSERT) == 0);