added basic testing of tdb_transaction_prepare_commit() in tdbtorture (cherry picked...
authorAndrew Tridgell <tridge@samba.org>
Tue, 31 Mar 2009 02:59:03 +0000 (13:59 +1100)
committerStefan Metzmacher <metze@samba.org>
Wed, 16 Dec 2009 07:03:50 +0000 (08:03 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
lib/tdb/tools/tdbtorture.c

index 3eb22d7872f4571eaa6865391bcfa0d051ea3c9b..a4a9fed246336437c01aaeace186d46601c6a45a 100644 (file)
@@ -18,6 +18,7 @@
 #define STORE_PROB 4
 #define APPEND_PROB 6
 #define TRANSACTION_PROB 10
+#define TRANSACTION_PREPARE_PROB 2
 #define LOCKSTORE_PROB 5
 #define TRAVERSE_PROB 20
 #define TRAVERSE_READ_PROB 20
@@ -121,6 +122,11 @@ static void addrec_db(void)
                goto next;
        }
        if (in_transaction && random() % TRANSACTION_PROB == 0) {
+               if (random() % TRANSACTION_PREPARE_PROB == 0) {
+                       if (tdb_transaction_prepare_commit(db) != 0) {
+                               fatal("tdb_transaction_prepare_commit failed");
+                       }
+               }
                if (tdb_transaction_commit(db) != 0) {
                        fatal("tdb_transaction_commit failed");
                }