added basic testing of tdb_transaction_prepare_commit() in tdbtorture
authorAndrew Tridgell <tridge@samba.org>
Tue, 31 Mar 2009 02:59:03 +0000 (13:59 +1100)
committerAndrew Tridgell <tridge@samba.org>
Tue, 31 Mar 2009 02:59:03 +0000 (13:59 +1100)
lib/tdb/tools/tdbtorture.c

index 9265cf07aa27976f36c54801758e2f6862e2b613..0c9bbd613d8b35a470cbf987540a8737eec0c977 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
@@ -109,6 +110,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");
                }