0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 export TESTNAME="test087_tmsrv"
0037
0038 PWD=`pwd`
0039 if [ `echo $PWD | grep $TESTNAME ` ]; then
0040
0041 echo > /dev/null
0042 else
0043
0044 pushd .
0045 echo "Doing cd"
0046 cd $TESTNAME
0047 fi;
0048
0049
0050
0051
0052 source ./funcs.sh
0053
0054
0055
0056
0057 export NDRX_XA_FLAGS="RECON:*:3:100"
0058
0059
0060
0061
0062 buildprograms "";
0063
0064 echo ""
0065 echo "************************************************************************"
0066 echo "Server XA end fails (of the first server in the chain)"
0067 echo "************************************************************************"
0068
0069 cat << EOF > lib1.rets
0070 xa_open_entry:0:1:0
0071 xa_close_entry:0:1:0
0072 xa_start_entry:0:1:0
0073 xa_end_entry:-4:2:0:atmiclt87
0074 xa_end_entry:0:1:0
0075 xa_rollback_entry:0:1:0
0076 xa_prepare_entry:0:1:0
0077 xa_commit_entry:0:1:0
0078 xa_recover_entry:0:1:0
0079 xa_forget_entry:0:2:0
0080 xa_complete_entry:0:1:0
0081 xa_open_entry:0:1:0
0082 xa_close_entry:0:1:0
0083 xa_start_entry:0:1:0
0084 EOF
0085
0086 cat << EOF > lib2.rets
0087 xa_open_entry:0:1:0
0088 xa_close_entry:0:1:0
0089 xa_start_entry:0:1:0
0090 xa_end_entry:0:1:0
0091 xa_rollback_entry:0:1:0
0092 xa_prepare_entry:0:1:0
0093 xa_commit_entry:0:1:0
0094 xa_recover_entry:0:1:0
0095 xa_forget_entry:0:1:0
0096 xa_complete_entry:0:1:0
0097 xa_open_entry:0:1:0
0098 xa_close_entry:0:1:0
0099 xa_start_entry:0:1:0
0100 EOF
0101
0102 clean_ulog;
0103
0104 xadmin start -y || go_out 1
0105
0106 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 2>&1`
0107 RET=$?
0108
0109 echo "[$ERR]"
0110
0111 if [ "X$RET" == "X0" ]; then
0112 echo "atmiclt87 must fail"
0113 go_out 1
0114 fi
0115
0116 if [[ $ERR != *"TPESYSTEM"* ]]; then
0117 echo "Expected TPESYSTEM"
0118 go_out 1
0119 fi
0120
0121
0122 verify_ulog "RM1" "xa_rollback" "1";
0123 verify_ulog "RM2" "xa_rollback" "0";
0124
0125 echo ""
0126 echo "************************************************************************"
0127 echo "xa_end() failure at tpcommit() entry"
0128 echo "************************************************************************"
0129
0130 cat << EOF > lib1.rets
0131 xa_open_entry:0:1:0
0132 xa_close_entry:0:1:0
0133 xa_start_entry:0:1:0
0134 xa_end_entry:0:1:-3:atmiclt87
0135 xa_end_entry:0:1:0
0136 xa_rollback_entry:0:1:0
0137 xa_prepare_entry:0:1:0
0138 xa_commit_entry:0:1:0
0139 xa_recover_entry:0:1:0
0140 xa_forget_entry:0:2:0
0141 xa_complete_entry:0:1:0
0142 xa_open_entry:0:1:0
0143 xa_close_entry:0:1:0
0144 xa_start_entry:0:1:0
0145 EOF
0146
0147 cat << EOF > lib2.rets
0148 xa_open_entry:0:1:0
0149 xa_close_entry:0:1:0
0150 xa_start_entry:0:1:0
0151 xa_end_entry:0:1:0
0152 xa_rollback_entry:0:1:0
0153 xa_prepare_entry:0:1:0
0154 xa_commit_entry:0:1:0
0155 xa_recover_entry:0:1:0
0156 xa_forget_entry:0:1:0
0157 xa_complete_entry:0:1:0
0158 xa_open_entry:0:1:0
0159 xa_close_entry:0:1:0
0160 xa_start_entry:0:1:0
0161 EOF
0162
0163
0164 clean_ulog;
0165
0166 xadmin sreload -y || go_out 1
0167
0168 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 2>&1`
0169 RET=$?
0170
0171 echo "[$ERR]"
0172
0173 if [ "X$RET" == "X0" ]; then
0174 echo "atmiclt87 must fail"
0175 go_out 1
0176 fi
0177
0178 if [[ $ERR != *"TPEABORT"* ]]; then
0179 echo "Expected TPEABORT"
0180 go_out 1
0181 fi
0182
0183 echo ""
0184 echo "************************************************************************"
0185 echo "Client abort OK, after end fails"
0186 echo "************************************************************************"
0187
0188 cat << EOF > lib1.rets
0189 xa_open_entry:0:1:0
0190 xa_close_entry:0:1:0
0191 xa_start_entry:0:1:0
0192 xa_end_entry:0:1:-3:atmiclt87
0193 xa_end_entry:0:1:0
0194 xa_rollback_entry:0:1:0
0195 xa_prepare_entry:0:1:0
0196 xa_commit_entry:0:1:0
0197 xa_recover_entry:0:1:0
0198 xa_forget_entry:0:2:0
0199 xa_complete_entry:0:1:0
0200 xa_open_entry:0:1:0
0201 xa_close_entry:0:1:0
0202 xa_start_entry:0:1:0
0203 EOF
0204
0205 cat << EOF > lib2.rets
0206 xa_open_entry:0:1:0
0207 xa_close_entry:0:1:0
0208 xa_start_entry:0:1:0
0209 xa_end_entry:0:1:0
0210 xa_rollback_entry:0:1:0
0211 xa_prepare_entry:0:1:0
0212 xa_commit_entry:0:1:0
0213 xa_recover_entry:0:1:0
0214 xa_forget_entry:0:1:0
0215 xa_complete_entry:0:1:0
0216 xa_open_entry:0:1:0
0217 xa_close_entry:0:1:0
0218 xa_start_entry:0:1:0
0219 EOF
0220
0221 clean_ulog;
0222
0223 xadmin sreload -y || go_out 1
0224
0225 NDRX_CCTAG="RM1" ./atmiclt87 A
0226 RET=$?
0227
0228 if [ "X$RET" != "X0" ]; then
0229 echo "Build atmiclt87 failed"
0230 go_out 1
0231 fi
0232
0233 verify_ulog "RM1" "xa_rollback" "1";
0234 verify_ulog "RM2" "xa_rollback" "1";
0235
0236
0237 echo ""
0238 echo "************************************************************************"
0239 echo "Forward abort only propagate"
0240 echo "************************************************************************"
0241
0242 cat << EOF > lib1.rets
0243 xa_open_entry:0:1:0
0244 xa_close_entry:0:1:0
0245 xa_start_entry:0:1:0
0246 xa_end_entry:-3:1:0:atmisv87_1
0247 xa_end_entry:0:1:0
0248 xa_rollback_entry:0:1:0
0249 xa_prepare_entry:0:1:0
0250 xa_commit_entry:0:1:0
0251 xa_recover_entry:0:1:0
0252 xa_forget_entry:0:2:0
0253 xa_complete_entry:0:1:0
0254 xa_open_entry:0:1:0
0255 xa_close_entry:0:1:0
0256 xa_start_entry:0:1:0
0257 EOF
0258
0259 cat << EOF > lib2.rets
0260 xa_open_entry:0:1:0
0261 xa_close_entry:0:1:0
0262 xa_start_entry:0:1:0
0263 xa_end_entry:0:1:0
0264 xa_rollback_entry:0:1:0
0265 xa_prepare_entry:0:1:0
0266 xa_commit_entry:0:1:0
0267 xa_recover_entry:0:1:0
0268 xa_forget_entry:0:1:0
0269 xa_complete_entry:0:1:0
0270 xa_open_entry:0:1:0
0271 xa_close_entry:0:1:0
0272 xa_start_entry:0:1:0
0273 EOF
0274
0275 clean_ulog;
0276
0277 xadmin sreload -y || go_out 1
0278
0279 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 2>&1`
0280 RET=$?
0281
0282 echo "[$ERR]"
0283
0284 if [ "X$RET" == "X0" ]; then
0285 echo "atmiclt87 must fail"
0286 go_out 1
0287 fi
0288
0289 if [[ $ERR != *"TPEABORT"* ]]; then
0290 echo "Expected TPEABORT"
0291 go_out 1
0292 fi
0293
0294 verify_ulog "RM1" "xa_rollback" "1";
0295 verify_ulog "RM2" "xa_rollback" "1";
0296
0297
0298 echo ""
0299 echo "************************************************************************"
0300 echo "Return abort propagate"
0301 echo "************************************************************************"
0302
0303 cat << EOF > lib1.rets
0304 xa_open_entry:0:1:0
0305 xa_close_entry:0:1:0
0306 xa_start_entry:0:1:0
0307 xa_end_entry:0:1:0
0308 xa_rollback_entry:0:1:0
0309 xa_prepare_entry:0:1:0
0310 xa_commit_entry:0:1:0
0311 xa_recover_entry:0:1:0
0312 xa_forget_entry:0:2:0
0313 xa_complete_entry:0:1:0
0314 xa_open_entry:0:1:0
0315 xa_close_entry:0:1:0
0316 xa_start_entry:0:1:0
0317 EOF
0318
0319 cat << EOF > lib2.rets
0320 xa_open_entry:0:1:0
0321 xa_close_entry:0:1:0
0322 xa_start_entry:0:1:0
0323 xa_end_entry:-3:1:0:atmisv87_2
0324 xa_end_entry:0:1:0
0325 xa_rollback_entry:0:1:0
0326 xa_prepare_entry:0:1:0
0327 xa_commit_entry:0:1:0
0328 xa_recover_entry:0:1:0
0329 xa_forget_entry:0:1:0
0330 xa_complete_entry:0:1:0
0331 xa_open_entry:0:1:0
0332 xa_close_entry:0:1:0
0333 xa_start_entry:0:1:0
0334 EOF
0335
0336
0337 clean_ulog;
0338
0339 xadmin sreload -y || go_out 1
0340
0341 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 2>&1`
0342 RET=$?
0343
0344 echo "[$ERR]"
0345
0346 if [ "X$RET" == "X0" ]; then
0347 echo "atmiclt87 must fail"
0348 go_out 1
0349 fi
0350
0351 if [[ $ERR != *"TPEABORT"* ]]; then
0352 echo "Expected TPEABORT"
0353 go_out 1
0354 fi
0355
0356 verify_ulog "RM1" "xa_rollback" "1";
0357 verify_ulog "RM2" "xa_rollback" "1";
0358
0359 echo ""
0360 echo "************************************************************************"
0361 echo "Forward abort propagate (normal)"
0362 echo "************************************************************************"
0363
0364 cat << EOF > lib1.rets
0365 xa_open_entry:0:1:0
0366 xa_close_entry:0:1:0
0367 xa_start_entry:0:1:0
0368 xa_end_entry:0:1:0
0369 xa_rollback_entry:0:1:0
0370 xa_prepare_entry:0:1:0
0371 xa_commit_entry:0:1:0
0372 xa_recover_entry:0:1:0
0373 xa_forget_entry:0:1:0
0374 xa_complete_entry:0:1:0
0375 xa_open_entry:0:1:0
0376 xa_close_entry:0:1:0
0377 xa_start_entry:0:1:0
0378 EOF
0379
0380 cat << EOF > lib2.rets
0381 xa_open_entry:0:1:0
0382 xa_close_entry:0:1:0
0383 xa_start_entry:0:1:0
0384 xa_end_entry:0:1:0
0385 xa_rollback_entry:0:1:0
0386 xa_prepare_entry:0:1:0
0387 xa_commit_entry:0:1:0
0388 xa_recover_entry:0:1:0
0389 xa_forget_entry:0:1:0
0390 xa_complete_entry:0:1:0
0391 xa_open_entry:0:1:0
0392 xa_close_entry:0:1:0
0393 xa_start_entry:0:1:0
0394 EOF
0395
0396 clean_ulog;
0397
0398 xadmin sreload -y || go_out 1
0399
0400 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 C TESTSVE1 2>&1`
0401 RET=$?
0402
0403 echo "[$ERR]"
0404
0405 if [ "X$RET" == "X0" ]; then
0406 echo "atmiclt87 must fail"
0407 go_out 1
0408 fi
0409
0410 if [[ $ERR != *"TPEABORT"* ]]; then
0411 echo "Expected TPEABORT"
0412 go_out 1
0413 fi
0414
0415 verify_ulog "RM1" "xa_rollback" "1";
0416 verify_ulog "RM2" "xa_rollback" "1";
0417
0418 echo ""
0419 echo "************************************************************************"
0420 echo "Return abort propagate (normal)"
0421 echo "************************************************************************"
0422
0423 cat << EOF > lib1.rets
0424 xa_open_entry:0:1:0
0425 xa_close_entry:0:1:0
0426 xa_start_entry:0:1:0
0427 xa_end_entry:0:1:0
0428 xa_rollback_entry:0:1:0
0429 xa_prepare_entry:0:1:0
0430 xa_commit_entry:0:1:0
0431 xa_recover_entry:0:1:0
0432 xa_forget_entry:0:1:0
0433 xa_complete_entry:0:1:0
0434 xa_open_entry:0:1:0
0435 xa_close_entry:0:1:0
0436 xa_start_entry:0:1:0
0437 EOF
0438
0439 cat << EOF > lib2.rets
0440 xa_open_entry:0:1:0
0441 xa_close_entry:0:1:0
0442 xa_start_entry:0:1:0
0443 xa_end_entry:0:1:0
0444 xa_rollback_entry:0:1:0
0445 xa_prepare_entry:0:1:0
0446 xa_commit_entry:0:1:0
0447 xa_recover_entry:0:1:0
0448 xa_forget_entry:0:1:0
0449 xa_complete_entry:0:1:0
0450 xa_open_entry:0:1:0
0451 xa_close_entry:0:1:0
0452 xa_start_entry:0:1:0
0453 EOF
0454
0455
0456 clean_ulog;
0457
0458 xadmin sreload -y || go_out 1
0459
0460 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 C TESTSVE1_RET 2>&1`
0461 RET=$?
0462
0463 echo "[$ERR]"
0464
0465 if [ "X$RET" == "X0" ]; then
0466 echo "atmiclt87 must fail"
0467 go_out 1
0468 fi
0469
0470 if [[ $ERR != *"TPEABORT"* ]]; then
0471 echo "Expected TPEABORT"
0472 go_out 1
0473 fi
0474
0475 verify_ulog "RM1" "xa_rollback" "1";
0476 verify_ulog "RM2" "xa_rollback" "1";
0477
0478 echo ""
0479 echo "************************************************************************"
0480 echo "No return from the server"
0481 echo "************************************************************************"
0482
0483 cat << EOF > lib1.rets
0484 xa_open_entry:0:1:0
0485 xa_close_entry:0:1:0
0486 xa_start_entry:0:1:0
0487 xa_end_entry:0:1:0
0488 xa_rollback_entry:0:1:0
0489 xa_prepare_entry:0:1:0
0490 xa_commit_entry:0:1:0
0491 xa_recover_entry:0:1:0
0492 xa_forget_entry:0:1:0
0493 xa_complete_entry:0:1:0
0494 xa_open_entry:0:1:0
0495 xa_close_entry:0:1:0
0496 xa_start_entry:0:1:0
0497 EOF
0498
0499 cat << EOF > lib2.rets
0500 xa_open_entry:0:1:0
0501 xa_close_entry:0:1:0
0502 xa_start_entry:0:1:0
0503 xa_end_entry:0:1:0
0504 xa_rollback_entry:0:1:0
0505 xa_prepare_entry:0:1:0
0506 xa_commit_entry:0:1:0
0507 xa_recover_entry:0:1:0
0508 xa_forget_entry:0:1:0
0509 xa_complete_entry:0:1:0
0510 xa_open_entry:0:1:0
0511 xa_close_entry:0:1:0
0512 xa_start_entry:0:1:0
0513 EOF
0514
0515 clean_ulog;
0516
0517 xadmin stop -y || go_out 1
0518 export NDRX_TOUT=5
0519 xadmin start -y || go_out 1
0520
0521 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 C TESTSVE1_NORET 2>&1`
0522 RET=$?
0523
0524 echo "[$ERR]"
0525
0526 if [ "X$RET" == "X0" ]; then
0527 echo "atmiclt87 must fail"
0528 go_out 1
0529 fi
0530
0531 if [[ $ERR != *"TPETIME"* ]]; then
0532 echo "Expected TPETIME"
0533 go_out 1
0534 fi
0535
0536
0537
0538
0539 verify_ulog "RM1" "xa_rollback" "1";
0540 verify_ulog "RM2" "xa_rollback" "0";
0541
0542
0543
0544
0545
0546 export NDRX_TOUT=10
0547
0548 echo ""
0549 echo "************************************************************************"
0550 echo "SUSPEND failed"
0551 echo "************************************************************************"
0552
0553 cat << EOF > lib1.rets
0554 xa_open_entry:0:1:0
0555 xa_close_entry:0:1:0
0556 xa_start_entry:0:1:0
0557 xa_end_entry:-4:1:0
0558 xa_rollback_entry:0:1:0
0559 xa_prepare_entry:0:1:0
0560 xa_commit_entry:0:1:0
0561 xa_recover_entry:0:1:0
0562 xa_forget_entry:0:1:0
0563 xa_complete_entry:0:1:0
0564 xa_open_entry:0:1:0
0565 xa_close_entry:0:1:0
0566 xa_start_entry:0:1:0
0567 EOF
0568
0569 cat << EOF > lib2.rets
0570 xa_open_entry:0:1:0
0571 xa_close_entry:0:1:0
0572 xa_start_entry:0:1:0
0573 xa_end_entry:0:1:0
0574 xa_rollback_entry:0:1:0
0575 xa_prepare_entry:0:1:0
0576 xa_commit_entry:0:1:0
0577 xa_recover_entry:0:1:0
0578 xa_forget_entry:0:1:0
0579 xa_complete_entry:0:1:0
0580 xa_open_entry:0:1:0
0581 xa_close_entry:0:1:0
0582 xa_start_entry:0:1:0
0583 EOF
0584
0585 clean_ulog;
0586
0587 xadmin stop -y || go_out 1
0588 xadmin start -y || go_out 1
0589
0590 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 C SUSPEND 2>&1`
0591 RET=$?
0592
0593 echo "[$ERR]"
0594
0595 if [ "X$RET" == "X0" ]; then
0596 echo "atmiclt87 must fail"
0597 go_out 1
0598 fi
0599
0600 if [[ $ERR != *"TPEABORT"* ]]; then
0601 echo "Expected TPEABORT"
0602 go_out 1
0603 fi
0604
0605
0606
0607
0608 verify_ulog "RM1" "xa_rollback" "1";
0609 verify_ulog "RM2" "xa_rollback" "0";
0610
0611 echo ""
0612 echo "************************************************************************"
0613 echo "Validate participant commit/abort rejection"
0614 echo "************************************************************************"
0615
0616 cat << EOF > lib1.rets
0617 xa_open_entry:0:1:0
0618 xa_close_entry:0:1:0
0619 xa_start_entry:0:1:0
0620 xa_end_entry:0:1:0
0621 xa_rollback_entry:0:1:0
0622 xa_prepare_entry:0:1:0
0623 xa_commit_entry:0:1:0
0624 xa_recover_entry:0:1:0
0625 xa_forget_entry:0:1:0
0626 xa_complete_entry:0:1:0
0627 xa_open_entry:0:1:0
0628 xa_close_entry:0:1:0
0629 xa_start_entry:0:1:0
0630 EOF
0631
0632 cat << EOF > lib2.rets
0633 xa_open_entry:0:1:0
0634 xa_close_entry:0:1:0
0635 xa_start_entry:0:1:0
0636 xa_end_entry:0:1:0
0637 xa_rollback_entry:0:1:0
0638 xa_prepare_entry:0:1:0
0639 xa_commit_entry:0:1:0
0640 xa_recover_entry:0:1:0
0641 xa_forget_entry:0:1:0
0642 xa_complete_entry:0:1:0
0643 xa_open_entry:0:1:0
0644 xa_close_entry:0:1:0
0645 xa_start_entry:0:1:0
0646 EOF
0647
0648 clean_ulog;
0649
0650 xadmin sreload -y || go_out 1
0651
0652 NDRX_CCTAG="RM1" ./atmiclt87 C TEST1_PART
0653 RET=$?
0654
0655 if [ "X$RET" != "X0" ]; then
0656 echo "Build atmiclt87 failed"
0657 go_out 1
0658 fi
0659
0660 verify_ulog "RM1" "xa_rollback" "0";
0661 verify_ulog "RM2" "xa_rollback" "0";
0662
0663 verify_ulog "RM1" "xa_commit" "1";
0664 verify_ulog "RM2" "xa_commit" "0";
0665
0666 echo ""
0667 echo "************************************************************************"
0668 echo "Server starts transaction and performs tpreturn"
0669 echo "************************************************************************"
0670
0671 cat << EOF > lib1.rets
0672 xa_open_entry:0:1:0
0673 xa_close_entry:0:1:0
0674 xa_start_entry:0:1:0
0675 xa_end_entry:0:1:0
0676 xa_rollback_entry:0:1:0
0677 xa_prepare_entry:0:1:0
0678 xa_commit_entry:0:1:0
0679 xa_recover_entry:0:1:0
0680 xa_forget_entry:0:1:0
0681 xa_complete_entry:0:1:0
0682 xa_open_entry:0:1:0
0683 xa_close_entry:0:1:0
0684 xa_start_entry:0:1:0
0685 EOF
0686
0687 cat << EOF > lib2.rets
0688 xa_open_entry:0:1:0
0689 xa_close_entry:0:1:0
0690 xa_start_entry:0:1:0
0691 xa_end_entry:0:1:0
0692 xa_rollback_entry:0:1:0
0693 xa_prepare_entry:0:1:0
0694 xa_commit_entry:0:1:0
0695 xa_recover_entry:0:1:0
0696 xa_forget_entry:0:1:0
0697 xa_complete_entry:0:1:0
0698 xa_open_entry:0:1:0
0699 xa_close_entry:0:1:0
0700 xa_start_entry:0:1:0
0701 EOF
0702
0703 clean_ulog;
0704
0705 xadmin sreload -y || go_out 1
0706
0707 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 N TESTSVE1_TRANRET 2>&1`
0708 RET=$?
0709
0710 echo "[$ERR]"
0711
0712 if [ "X$RET" == "X0" ]; then
0713 echo "atmiclt87 must fail"
0714 go_out 1
0715 fi
0716
0717 if [[ $ERR != *"TPESVCERR"* ]]; then
0718 echo "Expected TPESVCERR"
0719 go_out 1
0720 fi
0721
0722 verify_ulog "RM1" "xa_start" "1";
0723 verify_ulog "RM2" "xa_start" "0";
0724
0725 verify_ulog "RM1" "xa_rollback" "1";
0726 verify_ulog "RM2" "xa_rollback" "0";
0727
0728 verify_ulog "RM1" "xa_commit" "0";
0729 verify_ulog "RM2" "xa_commit" "0";
0730
0731
0732 echo ""
0733 echo "************************************************************************"
0734 echo "Server starts transaction and performs tpforward"
0735 echo "************************************************************************"
0736
0737 cat << EOF > lib1.rets
0738 xa_open_entry:0:1:0
0739 xa_close_entry:0:1:0
0740 xa_start_entry:0:1:0
0741 xa_end_entry:0:1:0
0742 xa_rollback_entry:0:1:0
0743 xa_prepare_entry:0:1:0
0744 xa_commit_entry:0:1:0
0745 xa_recover_entry:0:1:0
0746 xa_forget_entry:0:1:0
0747 xa_complete_entry:0:1:0
0748 xa_open_entry:0:1:0
0749 xa_close_entry:0:1:0
0750 xa_start_entry:0:1:0
0751 EOF
0752
0753 cat << EOF > lib2.rets
0754 xa_open_entry:0:1:0
0755 xa_close_entry:0:1:0
0756 xa_start_entry:0:1:0
0757 xa_end_entry:0:1:0
0758 xa_rollback_entry:0:1:0
0759 xa_prepare_entry:0:1:0
0760 xa_commit_entry:0:1:0
0761 xa_recover_entry:0:1:0
0762 xa_forget_entry:0:1:0
0763 xa_complete_entry:0:1:0
0764 xa_open_entry:0:1:0
0765 xa_close_entry:0:1:0
0766 xa_start_entry:0:1:0
0767 EOF
0768
0769 clean_ulog;
0770
0771 xadmin sreload -y || go_out 1
0772
0773 ERR=`NDRX_CCTAG="RM1" ./atmiclt87 N TESTSVE1_TRANFWD 2>&1`
0774 RET=$?
0775
0776 echo "[$ERR]"
0777
0778 if [ "X$RET" == "X0" ]; then
0779 echo "atmiclt87 must fail"
0780 go_out 1
0781 fi
0782
0783 if [[ $ERR != *"TPESVCERR"* ]]; then
0784 echo "Expected TPESVCERR"
0785 go_out 1
0786 fi
0787
0788 verify_ulog "RM1" "xa_start" "1";
0789 verify_ulog "RM2" "xa_start" "0";
0790
0791 verify_ulog "RM1" "xa_rollback" "1";
0792 verify_ulog "RM2" "xa_rollback" "0";
0793
0794 verify_ulog "RM1" "xa_commit" "0";
0795 verify_ulog "RM2" "xa_commit" "0";
0796
0797
0798 go_out 0
0799
0800