From 9471b92e1bbaaedf7c7e2c604c7fa4494ec790a9 Mon Sep 17 00:00:00 2001 From: Sears Russell Date: Wed, 2 Mar 2005 05:14:59 +0000 Subject: [PATCH] forgot to add this earlier... --- test/lladd/check_errorHandling.c | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 test/lladd/check_errorHandling.c diff --git a/test/lladd/check_errorHandling.c b/test/lladd/check_errorHandling.c new file mode 100644 index 0000000..37206a8 --- /dev/null +++ b/test/lladd/check_errorHandling.c @@ -0,0 +1,65 @@ +#include +#include +#include +#include +#include + +#include +#include "../check_includes.h" +#include + +#define LOG_NAME "check_errorhandling.log" + +START_TEST(simpleDeadlockTest) { + printf("\n"); + Tinit(); + setupLockManagerCallbacksPage(); + + int xid = Tbegin(); + + recordid rid = Talloc(xid, sizeof(int)); + recordid rid2 = Talloc(xid, sizeof(int)); + + Tcommit(xid); + assert(!compensation_error()); + + xid = Tbegin(); + int xid2 = Tbegin(); + + int i; + + Tread(xid, rid, &i); + + Tread(xid2, rid, &i); + + assert(!compensation_error()); + + Tset(xid, rid, &i); + + assert(compensation_error()==LLADD_DEADLOCK); + compensation_set_error(0); + Tabort(xid); + Tabort(xid2); + assert(!compensation_error()); + +} END_TEST + +Suite * check_suite(void) { + Suite *s = suite_create("error_handling"); + /* Begin a new test */ + TCase *tc = tcase_create("deadlocks"); + + /* Sub tests are added, one per line, here */ + + tcase_add_test(tc, simpleDeadlockTest); + + /* --------------------------------------------- */ + + tcase_add_checked_fixture(tc, setup, teardown); + + + suite_add_tcase(s, tc); + return s; +} + +#include "../check_setup.h"