void trans_check(MS_Mon_Transid_Type trans) { if (!TRANSID_EQUALS(trans, exp_trans)) { char exp_transbuf[100]; char transbuf[100]; util_format_transid(exp_transbuf, exp_trans); util_format_transid(transbuf, trans); printf("client=%d, expected trans=%s, actual trans=%s\n", client, exp_transbuf, transbuf); } assert(TRANSID_EQUALS(trans, exp_trans)); }
int tmlib(MS_Mon_Tmlib_Fun_Type fun, MS_Mon_Transid_Type transid, MS_Mon_Transid_Type *transid_out) { const char *funp; MS_Mon_Transid_Type ltransid; if (exp_fun < 0) { printf("client=%d, cb not expected\n", client); assert(false); // callback not expected } else fun_check(fun); switch (fun) { case TMLIB_FUN_REG_TX: funp = "REG"; trans_set_curr(transid); break; case TMLIB_FUN_CLEAR_TX: funp = "CLEAR"; TRANSID_SET_NULL(ltransid); trans_set_curr(ltransid); break; case TMLIB_FUN_REINSTATE_TX: funp = "REINSTATE"; if (client) trans_check(transid); trans_set_curr(transid); break; case TMLIB_FUN_GET_TX: funp = "GET"; break; default: funp = "<unknown>"; TRANSID_SET_NULL(ltransid); trans_set_curr(ltransid); break; } if (print) { char transidbuf[100]; char curr_transidbuf[100]; const char *clientp = client ? "client" : "server"; util_format_transid(transidbuf, transid); util_format_transid(curr_transidbuf, curr_transid); printf("%s tmlib callback, fun=%s(%d), transid=%s, curr-transid=%s\n", clientp, funp, fun, transidbuf, curr_transidbuf); } fun_set(exp_fun_next, -1); if (fun == TMLIB_FUN_GET_TX) *transid_out = curr_transid; return 0; }
void trans_check(MS_Mon_Transid_Type trans, MS_Mon_Transseq_Type startid) { if (!TRANSID_EQUALS(trans, exp_trans) || !TRANSSEQ_EQUALS(startid, exp_startid)) { char exp_startidbuf[100]; char exp_transbuf[100]; char transbuf[100]; char startidbuf[100]; util_format_transid(exp_transbuf, exp_trans); util_format_startid(exp_startidbuf, exp_startid); util_format_transid(transbuf, trans); util_format_startid(startidbuf, startid); printf("client=%d, expected trans=%s, actual trans=%s, expected startid=%s, startid=%s\n", client, exp_transbuf, transbuf, exp_startidbuf, startidbuf); } assert(TRANSID_EQUALS(trans, exp_trans)); assert(TRANSSEQ_EQUALS(startid, exp_startid)); }