X-Git-Url: https://pd.if.org/git/?p=nbds;a=blobdiff_plain;f=test%2Ftxn_test.c;h=b721f2d8a353699b27209bc0411842406693cc48;hp=dee5151cf4092f3fb0cf669581db8973147432cc;hb=f3a053a46bbb4ba460bcff0920b93dfc8263e02e;hpb=f1098084dd54496a61f9a254541190df77edd166 diff --git a/test/txn_test.c b/test/txn_test.c index dee5151..b721f2d 100644 --- a/test/txn_test.c +++ b/test/txn_test.c @@ -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; } -