X-Git-Url: https://pd.if.org/git/?p=nbds;a=blobdiff_plain;f=test%2Ftxn_test.c;h=b721f2d8a353699b27209bc0411842406693cc48;hp=6e9044fbbdf29c2e5eb8e227380a215414d048e8;hb=f3a053a46bbb4ba460bcff0920b93dfc8263e02e;hpb=7378edffa5751159d35eab31eceb76a1f16231d0 diff --git a/test/txn_test.c b/test/txn_test.c index 6e9044f..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); - 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", 4, 2); - tm_set(t1, "abc", 4, 3); - ASSERT_EQUAL( DOES_NOT_EXIST, tm_get(t2, "abc", 4) ); - tm_set(t2, "abc", 4, 4); - ASSERT_EQUAL( 3, tm_get(t1, "abc", 4) ); - ASSERT_EQUAL( 4, tm_get(t2, "abc", 4) ); + 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; } -