]> pd.if.org Git - nbds/blobdiff - test/txn_test.c
add iterators to hashtable, skiplist, and list
[nbds] / test / txn_test.c
index dee5151cf4092f3fb0cf669581db8973147432cc..b721f2d8a353699b27209bc0411842406693cc48 100644 (file)
@@ -4,26 +4,30 @@
 #include "common.h"
 #include "runtime.h"
 #include "txn.h"
+#include "map.h"
+#include "hashtable.h"
 
 #define ASSERT_EQUAL(x, y) CuAssertIntEquals(tc, x, y)
 
 void test1 (CuTest* tc) {
-    map_t *map = map_alloc(MAP_TYPE_LIST, NULL, NULL, NULL);
-    txn_t *t1 = txn_begin(TXN_READ_WRITE, TXN_REPEATABLE_READ, map);
-    txn_t *t2 = txn_begin(TXN_READ_WRITE, TXN_REPEATABLE_READ, map);
-    tm_set(t1, "abc", 2);
-    tm_set(t1, "abc", 3);
-    ASSERT_EQUAL( DOES_NOT_EXIST, tm_get(t2, "abc") );
-    tm_set(t2, "abc", 4);
-    ASSERT_EQUAL( 3, tm_get(t1, "abc") );
-    ASSERT_EQUAL( 4, tm_get(t2, "abc") );
+    map_t *map = map_alloc(&ht_map_impl, NULL);
+    txn_t *t1 = txn_begin(TXN_REPEATABLE_READ, map);
+    txn_t *t2 = txn_begin(TXN_REPEATABLE_READ, map);
+    void *k1 = (void *)1;
+    tm_set(t1, k1, 2);
+    tm_set(t1, k1, 3);
+    ASSERT_EQUAL( DOES_NOT_EXIST, tm_get(t2, k1) );
+    tm_set(t2, k1, 4);
+    ASSERT_EQUAL( 3, tm_get(t1, k1) );
+    ASSERT_EQUAL( 4, tm_get(t2, k1) );
     ASSERT_EQUAL( TXN_VALIDATED, txn_commit(t2));
-    ASSERT_EQUAL( TXN_ABORTED, txn_commit(t1));
+    ASSERT_EQUAL( TXN_ABORTED,   txn_commit(t1));
 }
 
 int main (void) {
 
     nbd_init();
+    txn_init();
 
     CuString *output = CuStringNew();
     CuSuite* suite = CuSuiteNew();
@@ -34,4 +38,3 @@ int main (void) {
 
     return 0;
 }
-