Back to home page

Enduro/X

 
 

    


0001 #!/bin/bash
0002 ##
0003 ## @brief Test auto-transaction functionality - test launcher
0004 ##
0005 ## @file run.sh
0006 ##
0007 ## -----------------------------------------------------------------------------
0008 ## Enduro/X Middleware Platform for Distributed Transaction Processing
0009 ## Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.
0010 ## Copyright (C) 2017-2023, Mavimax, Ltd. All Rights Reserved.
0011 ## This software is released under one of the following licenses:
0012 ## AGPL (with Java and Go exceptions) or Mavimax's license for commercial use.
0013 ## See LICENSE file for full text.
0014 ## -----------------------------------------------------------------------------
0015 ## AGPL license:
0016 ## 
0017 ## This program is free software; you can redistribute it and/or modify it under
0018 ## the terms of the GNU Affero General Public License, version 3 as published
0019 ## by the Free Software Foundation;
0020 ##
0021 ## This program is distributed in the hope that it will be useful, but WITHOUT ANY
0022 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
0023 ## PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3
0024 ## for more details.
0025 ##
0026 ## You should have received a copy of the GNU Affero General Public License along 
0027 ## with this program; if not, write to the Free Software Foundation, Inc., 
0028 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0029 ##
0030 ## -----------------------------------------------------------------------------
0031 ## A commercial use license is available from Mavimax, Ltd
0032 ## contact@mavimax.com
0033 ## -----------------------------------------------------------------------------
0034 ##
0035 
0036 export TESTNAME="test082_autotran"
0037 
0038 PWD=`pwd`
0039 if [ `echo $PWD | grep $TESTNAME ` ]; then
0040     # Do nothing 
0041     echo > /dev/null
0042 else
0043     # started from parent folder
0044     pushd .
0045     echo "Doing cd"
0046     cd $TESTNAME
0047 fi;
0048 
0049 . ../testenv.sh
0050 
0051 export TESTDIR="$NDRX_APPHOME/atmitest/$TESTNAME"
0052 export PATH=$PATH:$TESTDIR
0053 export NDRX_ULOG=$TESTDIR
0054 export NDRX_TOUT=20
0055 export NDRX_SILENT=Y
0056 
0057 export NDRX_LIBEXT="so"
0058 if [ "$(uname)" == "Darwin" ]; then
0059     export NDRX_XA_RMLIB=libndrxxaqdisk.dylib
0060     export NDRX_LIBEXT="dylib"
0061 fi
0062 
0063 #
0064 # Domain 1 - here client will live
0065 #
0066 set_dom1() {
0067     echo "Setting domain 1"
0068     . ../dom1.sh
0069     export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom1.xml
0070     export NDRX_DMNLOG=$TESTDIR/ndrxd-dom1.log
0071     export NDRX_LOG=$TESTDIR/ndrx-dom1.log
0072     export NDRX_DEBUG_CONF=$TESTDIR/debug-dom1.conf
0073 }
0074 
0075 #
0076 # Domain 2 - here client will live
0077 #
0078 set_dom2() {
0079     echo "Setting domain 2"
0080     . ../dom2.sh
0081     export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom2.xml
0082     export NDRX_DMNLOG=$TESTDIR/ndrxd-dom2.log
0083     export NDRX_LOG=$TESTDIR/ndrx-dom2.log
0084     export NDRX_DEBUG_CONF=$TESTDIR/debug-dom2.conf
0085 }
0086 
0087 #
0088 # Generic exit function
0089 #
0090 function go_out {
0091     echo "Test exiting with: $1"
0092     
0093     set_dom1;
0094     xadmin stop -y
0095     xadmin down -y
0096 
0097     set_dom2;
0098     xadmin stop -y
0099     xadmin down -y
0100 
0101     # If some alive stuff left...
0102     xadmin killall atmiclt82
0103 
0104     popd 2>/dev/null
0105     exit $1
0106 }
0107 
0108 
0109 rm -rf ${TESTDIR}/RM1 2>/dev/null
0110 mkdir ${TESTDIR}/RM1
0111 
0112 rm -rf ${TESTDIR}/RM2 2>/dev/null
0113 mkdir ${TESTDIR}/RM2
0114 
0115 rm -rf ${TESTDIR}/QSPACE1 2>/dev/null
0116 mkdir ${TESTDIR}/QSPACE1
0117 
0118 for TEST_MODE in 2 1
0119 do
0120 
0121 # have a fresh start...
0122 rm *.log
0123 rm ULOG*
0124 
0125 # Clean up the stuff
0126 xadmin killall tpbridge
0127 set_dom2;
0128 xadmin down -y
0129 
0130 xadmin killall tpbridge
0131 set_dom1;
0132 xadmin down -y
0133 xadmin start -y || go_out 1
0134 
0135 
0136 if [ $TEST_MODE -eq 2 ]; then
0137 
0138     echo "Testing domain mode..."
0139     set_dom2;
0140     xadmin start -y
0141     echo "Wait for connection..."
0142     sleep 30
0143     set_dom1;
0144 
0145     # do not use server 2 locally.., only remote
0146     xadmin stop -s atmi.sv82_2
0147 
0148 fi
0149 
0150 set_dom1;
0151 xadmin psc
0152 set_dom2;
0153 xadmin psc
0154 set_dom1;
0155 
0156 RET=0
0157 
0158 xadmin psc
0159 xadmin ppm
0160 echo "Running off client"
0161 
0162 set_dom1;
0163 
0164 ################################################################################
0165 echo "*** Running ABORT2 case... (DDR)"
0166 
0167 ./atmiclt82 ABORT2
0168 
0169 RET=$?
0170 
0171 if [[ "X$RET" != "X0" ]]; then
0172     echo "./atmiclt82 ABORT2 failed"
0173     go_out $RET
0174 fi
0175 
0176 echo "Checking ABORT2 case..."
0177 # count the results
0178 CNT=`./atmiclt82 COUNT | grep ABORT2 | wc -l | awk '{print $1}'`
0179 
0180 RET=$?
0181 
0182 if [[ "X$RET" != "X0" ]]; then
0183     echo "Failed to run COUNT"
0184     go_out $RET
0185 fi
0186 
0187 if [[ "X$CNT" != "X0" ]]; then
0188     echo "Got invalid count: $CNT"
0189     go_out -1
0190 fi
0191 
0192 ################################################################################
0193 echo "*** Running ABORT3 case... (DDR)"
0194 
0195 ./atmiclt82 ABORT3
0196 
0197 RET=$?
0198 
0199 if [[ "X$RET" != "X0" ]]; then
0200     echo "./atmiclt82 ABORT3 failed"
0201     go_out $RET
0202 fi
0203 
0204 echo "Checking ABORT3 case..."
0205 # count the results
0206 CNT=`./atmiclt82 COUNT | grep ABORT3 | wc -l | awk '{print $1}'`
0207 
0208 RET=$?
0209 
0210 if [[ "X$RET" != "X0" ]]; then
0211     echo "Failed to run COUNT"
0212     go_out $RET
0213 fi
0214 
0215 if [[ "X$CNT" != "X0" ]]; then
0216     echo "Got invalid count: $CNT"
0217     go_out -1
0218 fi
0219 
0220 ################################################################################
0221 echo "*** Running OK1 (tpacall, TPNORPLY) case..."
0222 
0223 ./atmiclt82 OK1 A
0224 
0225 RET=$?
0226 
0227 if [[ "X$RET" != "X0" ]]; then
0228     echo "./atmiclt82 OK A failed"
0229     go_out $RET
0230 fi
0231 
0232 echo "Checking OK case..."
0233 # count the results
0234 CNT=`./atmiclt82 COUNT | grep OK1 | wc -l | awk '{print $1}'`
0235 
0236 RET=$?
0237 
0238 if [[ "X$RET" != "X0" ]]; then
0239     echo "Failed to run COUNT"
0240     go_out $RET
0241 fi
0242 
0243 if [[ "X$CNT" != "X1" ]]; then
0244     echo "Got invalid count: $CNT"
0245     set_dom2;
0246     xadmin psc
0247 
0248     set_dom1;
0249     xadmin psc
0250     go_out -1
0251 fi
0252 
0253 xadmin pt
0254 ################################################################################
0255 echo "*** Running FAIL (tpacall, TPNORPLY) case..."
0256 
0257 ./atmiclt82 FAIL A
0258 
0259 RET=$?
0260 
0261 if [[ "X$RET" != "X0" ]]; then
0262     echo "./atmiclt82 FAIL A failed"
0263     go_out $RET
0264 fi
0265 
0266 echo "Checking OK case..."
0267 # count the results
0268 CNT=`./atmiclt82 COUNT | grep FAIL | wc -l | awk '{print $1}'`
0269 
0270 RET=$?
0271 
0272 if [[ "X$RET" != "X0" ]]; then
0273     echo "Failed to run COUNT"
0274     go_out $RET
0275 fi
0276 
0277 if [[ "X$CNT" != "X0" ]]; then
0278     echo "Got invalid count: $CNT"
0279     go_out -1
0280 fi
0281 
0282 echo "Checking active transactions - must be 0"
0283 
0284 xadmin pt
0285 
0286 CNT=`xadmin pt | wc -l | awk '{print $1}'`
0287 
0288 RET=$?
0289 
0290 if [[ "X$RET" != "X0" ]]; then
0291     echo "Failed to run COUNT"
0292     go_out $RET
0293 fi
0294 
0295 if [[ "X$CNT" != "X0" ]]; then
0296     echo "Got invalid count: $CNT"
0297     go_out -1
0298 fi
0299 
0300 ################################################################################
0301 echo "*** Running RETURN (tpacall, TPNORPLY + illegal return from service func) case..."
0302 
0303 ./atmiclt82 RETURN A
0304 
0305 RET=$?
0306 
0307 if [[ "X$RET" != "X0" ]]; then
0308     echo "./atmiclt82 RETURN A failed"
0309     go_out $RET
0310 fi
0311 
0312 echo "Checking RETURN case..."
0313 # count the results
0314 CNT=`./atmiclt82 COUNT | grep RETURN | wc -l | awk '{print $1}'`
0315 
0316 RET=$?
0317 
0318 if [[ "X$RET" != "X0" ]]; then
0319     echo "Failed to run COUNT"
0320     go_out $RET
0321 fi
0322 
0323 if [[ "X$CNT" != "X0" ]]; then
0324     echo "Got invalid count: $CNT"
0325     go_out -1
0326 fi
0327 
0328 echo "Checking active transactions - must be 0"
0329 
0330 xadmin pt
0331 
0332 CNT=`xadmin pt | wc -l | awk '{print $1}'`
0333 
0334 RET=$?
0335 
0336 if [[ "X$RET" != "X0" ]]; then
0337     echo "Failed to run COUNT"
0338     go_out $RET
0339 fi
0340 
0341 if [[ "X$CNT" != "X0" ]]; then
0342     echo "Got invalid count: $CNT"
0343     go_out -1
0344 fi
0345 
0346 ################################################################################
0347 echo "*** Running RETURN Z (tpconnect, illegal return from service func) case..."
0348 
0349 # set timeout for shorter period, so that tmsrv does not abort..
0350 export NDRX_TOUT=5
0351 ./atmiclt82 RETURN Z
0352 
0353 RET=$?
0354 
0355 if [[ "X$RET" != "X0" ]]; then
0356     echo "./atmiclt82 RETURN Z failed"
0357     go_out $RET
0358 fi
0359 
0360 # let abort to work out...
0361 sleep 3
0362 
0363 # restore back....
0364 export NDRX_TOUT=20
0365 
0366 echo "Checking RETURN Z case..."
0367 # count the results
0368 CNT=`./atmiclt82 COUNT | grep RETURN | wc -l | awk '{print $1}'`
0369 
0370 RET=$?
0371 
0372 if [[ "X$RET" != "X0" ]]; then
0373     echo "Failed to run COUNT"
0374     go_out $RET
0375 fi
0376 
0377 if [[ "X$CNT" != "X0" ]]; then
0378     echo "Got invalid count: $CNT"
0379     go_out -1
0380 fi
0381 
0382 echo "Checking active transactions - must be 0"
0383 
0384 echo "----------------------------------------"
0385 xadmin pt
0386 echo "----------------------------------------"
0387 CNT=`xadmin pt | wc -l | awk '{print $1}'`
0388 echo "----------------------------------------"
0389 echo "CNT=$CNT"
0390 
0391 if [[ "X$CNT" != "X0" ]]; then
0392     echo "Got invalid count: $CNT"
0393     go_out -1
0394 fi
0395 
0396 ################################################################################
0397 echo "*** Running OK case..."
0398 
0399 ./atmiclt82 OK
0400 
0401 RET=$?
0402 
0403 if [[ "X$RET" != "X0" ]]; then
0404     echo "./atmiclt82 OK failed"
0405     go_out $RET
0406 fi
0407 
0408 echo "Checking OK case..."
0409 # count the results
0410 CNT=`./atmiclt82 COUNT | grep OK | wc -l | awk '{print $1}'`
0411 
0412 RET=$?
0413 
0414 if [[ "X$RET" != "X0" ]]; then
0415     echo "Failed to run COUNT"
0416     go_out $RET
0417 fi
0418 
0419 if [[ "X$CNT" != "X2" ]]; then
0420     echo "Got invalid count: $CNT"
0421     go_out -1
0422 fi
0423 
0424 ################################################################################
0425 echo "*** Running OK2 case..."
0426 
0427 ./atmiclt82 OK2
0428 
0429 RET=$?
0430 
0431 if [[ "X$RET" != "X0" ]]; then
0432     echo "./atmiclt82 OK2 failed"
0433     go_out $RET
0434 fi
0435 
0436 echo "Checking OK2 case..."
0437 # count the results
0438 CNT=`./atmiclt82 COUNT | grep OK | wc -l | awk '{print $1}'`
0439 
0440 RET=$?
0441 
0442 if [[ "X$RET" != "X0" ]]; then
0443     echo "Failed to run COUNT"
0444     go_out $RET
0445 fi
0446 
0447 if [[ "X$CNT" != "X2" ]]; then
0448     echo "Got invalid count: $CNT"
0449     go_out -1
0450 fi
0451 
0452 #
0453 # We allow to user code to perform commit/aborts, thus check, shal lbe no issues
0454 #
0455 ################################################################################
0456 echo "*** Running COMMIT case..."
0457 
0458 ./atmiclt82 COMMIT
0459 
0460 RET=$?
0461 
0462 if [[ "X$RET" != "X0" ]]; then
0463     echo "./atmiclt82 OK2 failed"
0464     go_out $RET
0465 fi
0466 
0467 echo "Checking COMMIT case..."
0468 # count the results
0469 CNT=`./atmiclt82 COUNT | grep COMMIT | wc -l | awk '{print $1}'`
0470 
0471 RET=$?
0472 
0473 if [[ "X$RET" != "X0" ]]; then
0474     echo "Failed to run COUNT"
0475     go_out $RET
0476 fi
0477 
0478 if [[ "X$CNT" != "X2" ]]; then
0479     echo "Got invalid count: $CNT"
0480     go_out -1
0481 fi
0482 
0483 ################################################################################
0484 echo "*** Running ABORT case..."
0485 
0486 ./atmiclt82 ABORT
0487 
0488 RET=$?
0489 
0490 if [[ "X$RET" != "X0" ]]; then
0491     echo "./atmiclt82 OK2 failed"
0492     go_out $RET
0493 fi
0494 
0495 echo "Checking ABORT case..."
0496 # count the results
0497 CNT=`./atmiclt82 COUNT | grep ABORT | wc -l | awk '{print $1}'`
0498 
0499 RET=$?
0500 
0501 if [[ "X$RET" != "X0" ]]; then
0502     echo "Failed to run COUNT"
0503     go_out $RET
0504 fi
0505 
0506 if [[ "X$CNT" != "X0" ]]; then
0507     echo "Got invalid count: $CNT"
0508     go_out -1
0509 fi
0510 
0511 ################################################################################
0512 echo "*** Checking tmsrv down..."
0513 
0514 xadmin stop -s tmsrv
0515 
0516 OUTERR=`./atmiclt82 OK3`
0517 
0518 RET=$?
0519 
0520 if [[ "X$RET" == "X0" ]]; then
0521     echo "./atmiclt82 OK3 must fail, but did not"
0522     go_out $RET
0523 fi
0524 RET=0
0525 
0526 if [[ $OUTERR != *"TPETRAN"* ]]; then
0527     echo "TPETRAN shall be provided as cannot start tran, but was [$OUTERR]"
0528     go_out -3
0529 fi
0530 
0531 echo "Checking OK3 case..."
0532 # count the results
0533 CNT=`./atmiclt82 COUNT | grep OK | wc -l | awk '{print $1}'`
0534 
0535 RET=$?
0536 
0537 if [[ "X$RET" != "X0" ]]; then
0538     echo "Failed to run COUNT"
0539     go_out $RET
0540 fi
0541 
0542 if [[ "X$CNT" != "X0" ]]; then
0543     echo "Got invalid count: $CNT"
0544     go_out -1
0545 fi
0546 
0547 xadmin start -s tmsrv
0548 # let ndrxd to replicat service tables
0549 # otherwise getting from node2: Service is not available @TM-1-1-50 by shm
0550 sleep 5
0551 
0552 ################################################################################
0553 echo "*** Checking commit fails transation timeout..."
0554 
0555 OUTERR=`NDRX_TOUT=45 ./atmiclt82 SLEEP`
0556 
0557 RET=$?
0558 
0559 if [[ "X$RET" == "X0" ]]; then
0560     echo "./atmiclt82 SLEEP must fail, but did not"
0561     go_out -1
0562 fi
0563 RET=0
0564 
0565 if [[ $OUTERR != *"TPESVCERR"* ]]; then
0566     echo "TPESVCERR shall be provided as cannot commit tran, but was [$OUTERR]"
0567     go_out -3
0568 fi
0569 
0570 echo "Checking SLEEP case..."
0571 # count the results
0572 CNT=`./atmiclt82 COUNT | wc -l | awk '{print $1}'`
0573 
0574 RET=$?
0575 
0576 if [[ "X$RET" != "X0" ]]; then
0577     echo "Failed to run COUNT"
0578     go_out $RET
0579 fi
0580 
0581 if [[ "X$CNT" != "X0" ]]; then
0582     echo "Got invalid count: $CNT"
0583     go_out -1
0584 fi
0585 
0586 xadmin start -s tmsrv
0587 
0588 ################################################################################
0589 echo "*** Normal fail test"
0590 
0591 OUTERR=`./atmiclt82 FAIL`
0592 
0593 RET=$?
0594 
0595 if [[ "X$RET" == "X0" ]]; then
0596     echo "./atmiclt82 FAIL must fail, but did not"
0597     go_out $RET
0598 fi
0599 RET=0
0600 
0601 if [[ $OUTERR != *"TPESVCFAIL"* ]]; then
0602     echo "TPESVCFAIL shall be provided as cannot start tran, but was [$OUTERR]"
0603     go_out -3
0604 fi
0605 
0606 echo "Checking FAIL case..."
0607 # count the results
0608 CNT=`./atmiclt82 COUNT | wc -l | awk '{print $1}'`
0609 
0610 RET=$?
0611 
0612 if [[ "X$RET" != "X0" ]]; then
0613     echo "Failed to run COUNT"
0614     go_out $RET
0615 fi
0616 
0617 if [[ "X$CNT" != "X0" ]]; then
0618     echo "Got invalid count: $CNT, expected 0"
0619     go_out -1
0620 fi
0621 
0622 ################################################################################
0623 echo "*** No transaction used.. get fail msgs stand alone commit in tmqueue"
0624 
0625 export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom1-notran.xml
0626 xadmin stop -y
0627 xadmin start -y
0628 
0629 
0630 if [ $TEST_MODE -eq 2 ]; then
0631     # do not use server 2 locally.., only remote
0632     xadmin stop -s atmi.sv82_2
0633     echo "Testing domain mode... wait for connection..."
0634 
0635     set_dom2;
0636 
0637     export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom2-notran.xml
0638     xadmin stop -y
0639     xadmin start -y
0640     
0641     set_dom1;
0642     
0643     sleep 30
0644 fi
0645 
0646 xadmin psc
0647 
0648 echo "*** Normal fail test"
0649 
0650 OUTERR=`./atmiclt82 FAIL`
0651 
0652 RET=$?
0653 
0654 if [[ "X$RET" == "X0" ]]; then
0655     echo "./atmiclt82 FAIL must fail, but did not"
0656     go_out $RET
0657 fi
0658 RET=0
0659 
0660 if [[ $OUTERR != *"TPESVCFAIL"* ]]; then
0661     echo "TPESVCFAIL shall be provided as cannot start tran, but was [$OUTERR]"
0662     go_out -3
0663 fi
0664 
0665 echo "Checking FAIL case..."
0666 # count the results
0667 CNT=`./atmiclt82 COUNT | wc -l | awk '{print $1}'`
0668 
0669 RET=$?
0670 
0671 if [[ "X$RET" != "X0" ]]; then
0672     echo "Failed to run COUNT"
0673     go_out $RET
0674 fi
0675 
0676 if [[ "X$CNT" != "X2" ]]; then
0677     echo "Got invalid count: $CNT, expected 2"
0678     go_out -1
0679 fi
0680 
0681 ################################################################################
0682 echo "*** CONV OK"
0683 
0684 export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom1.xml
0685 xadmin stop -y
0686 xadmin start -y
0687 
0688 if [ $TEST_MODE -eq 2 ]; then
0689     # do not use server 2 locally.., only remote
0690     xadmin stop -s atmi.sv82_2
0691     echo "Testing domain mode... wait for connection..."
0692 
0693     set_dom2;
0694     export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom2.xml
0695     xadmin stop -y
0696     xadmin start -y
0697 
0698     set_dom1;
0699 
0700     sleep 30
0701 fi
0702 
0703 xadmin psc
0704 
0705 ./atmiclt82 OK C
0706 
0707 RET=$?
0708 
0709 if [[ "X$RET" != "X0" ]]; then
0710     echo "./atmiclt82 OK C failed"
0711     go_out $RET
0712 fi
0713 
0714 echo "Checking OK case..."
0715 # count the results
0716 CNT=`./atmiclt82 COUNT | grep OK | wc -l | awk '{print $1}'`
0717 
0718 RET=$?
0719 
0720 if [[ "X$RET" != "X0" ]]; then
0721     echo "Failed to run COUNT"
0722     go_out $RET
0723 fi
0724 
0725 if [[ "X$CNT" != "X1" ]]; then
0726     echo "Got invalid count: $CNT"
0727     go_out -1
0728 fi
0729 
0730 ################################################################################
0731 echo "*** CONV start fail"
0732 
0733 xadmin stop -s tmsrv
0734 
0735 if [ $TEST_MODE -eq 2 ]; then
0736     set_dom2;
0737     xadmin stop -s tmsrv
0738     set_dom1;
0739 fi
0740 
0741 OUTERR=`./atmiclt82 OK C`
0742 
0743 RET=$?
0744 
0745 if [[ "X$RET" == "X0" ]]; then
0746     echo "./atmiclt82 OK2 C shall fail, but didn't"
0747     go_out -1
0748 fi
0749 
0750 RET=0
0751 
0752 echo "Output: [$OUTERR]"
0753 
0754 if [[ $OUTERR != *"TPETRAN"* ]]; then
0755     echo "TPETRAN shall be provided as cannot start tran, but was [$OUTERR]"
0756     go_out -3
0757 fi
0758 
0759 echo "CONV start fail check count 0"
0760 # count the results
0761 CNT=`./atmiclt82 COUNT | wc -l| awk '{print $1}'`
0762 
0763 RET=$?
0764 
0765 if [[ "X$RET" != "X0" ]]; then
0766     echo "Failed to run COUNT"
0767     go_out $RET
0768 fi
0769 
0770 if [[ "X$CNT" != "X0" ]]; then
0771     echo "Got invalid count: $CNT"
0772     go_out -1
0773 fi
0774 
0775 # print all queues after the failed to connect...
0776 echo "QUEUES:"
0777 xadmin pqa
0778 echo "QUEUES, END"
0779 
0780 if [ $TEST_MODE -eq 2 ]; then
0781     set_dom2;
0782     xadmin start -s tmsrv
0783     set_dom1;
0784 fi
0785 
0786 xadmin start -s tmsrv
0787 
0788 ################################################################################
0789 if [ $TEST_MODE -eq 2 ]; then
0790     echo "*** CONV start fail (TMSRV1 out of order TMSRV2 OK)"
0791 
0792     xadmin stop -s tmsrv
0793 
0794     OUTERR=`./atmiclt82 OK C`
0795 
0796     RET=$?
0797 
0798     if [[ "X$RET" == "X0" ]]; then
0799         echo "./atmiclt82 OK2 C shall fail, but didn't"
0800         go_out -1
0801     fi
0802 
0803     RET=0
0804 
0805     echo "Output: [$OUTERR]"
0806 
0807     if [[ $OUTERR != *"TPEV_SVCERR"* ]]; then
0808         echo "TPEV_SVCERR shall be provided as cannot start tran, but was [$OUTERR]"
0809         go_out -3
0810     fi
0811 
0812     echo "CONV start fail check count 0"
0813     # count the results
0814     CNT=`./atmiclt82 COUNT | wc -l | awk '{print $1}'`
0815 
0816     RET=$?
0817 
0818     if [[ "X$RET" != "X0" ]]; then
0819         echo "Failed to run COUNT"
0820         go_out $RET
0821     fi
0822 
0823     if [[ "X$CNT" != "X0" ]]; then
0824         echo "Got invalid count: $CNT"
0825         go_out -1
0826     fi
0827 
0828     xadmin start -s tmsrv
0829 
0830     if [ $TEST_MODE -eq 2 ]; then
0831         set_dom2;
0832         xadmin start -s tmsrv
0833         set_dom1;
0834     fi
0835 
0836 fi
0837 ################################################################################
0838 
0839 ################################################################################
0840 # common stats
0841 ################################################################################
0842 # print all queues after the failed to connect...
0843 echo "QUEUES:"
0844 xadmin pqa
0845 echo "QUEUES, END"
0846 
0847 ################################################################################
0848 echo "*** CONV fails to commit.. (timeout)"
0849 
0850 OUTERR=`NDRX_TOUT=45 ./atmiclt82 SLEEP C`
0851 
0852 RET=$?
0853 
0854 if [[ "X$RET" == "X0" ]]; then
0855     echo "./atmiclt82 SLEEP C shall fail, but didn't"
0856     go_out -1
0857 fi
0858 
0859 RET=0
0860 
0861 echo "Output: [$OUTERR]"
0862 
0863 if [[ $OUTERR != *"TPEV_SVCERR"* ]]; then
0864     echo "TPEV_SVCERR shall be provided as cannot start tran, but was [$OUTERR]"
0865     go_out -3
0866 fi
0867 
0868 echo "CONV start fail check count 0"
0869 
0870 # count the results
0871 CNT=`./atmiclt82 COUNT | wc -l | awk '{print $1}'`
0872 
0873 RET=$?
0874 
0875 if [[ "X$RET" != "X0" ]]; then
0876     echo "Failed to run COUNT"
0877     go_out $RET
0878 fi
0879 
0880 if [[ "X$CNT" != "X0" ]]; then
0881     echo "Got invalid count: $CNT"
0882     go_out -1
0883 fi
0884 
0885 ################################################################################
0886 echo "*** CONV fails to commit.. (timeout) using tpsend() as event generator"
0887 
0888 OUTERR=`NDRX_TOUT=45 ./atmiclt82 SLEEP S`
0889 
0890 RET=$?
0891 
0892 if [[ "X$RET" == "X0" ]]; then
0893     echo "./atmiclt82 SLEEP C S shall fail, but didn't"
0894     go_out -1
0895 fi
0896 
0897 RET=0
0898 
0899 echo "Output: [$OUTERR]"
0900 
0901 if [[ $OUTERR != *"TPEV_SVCERR"* ]]; then
0902     echo "TPEV_SVCERR shall be provided as cannot start tran, but was [$OUTERR]"
0903     go_out -3
0904 fi
0905 
0906 echo "CONV start fail check count 0"
0907 
0908 # count the results
0909 CNT=`./atmiclt82 COUNT | wc -l | awk '{print $1}'`
0910 
0911 RET=$?
0912 
0913 if [[ "X$RET" != "X0" ]]; then
0914     echo "Failed to run COUNT"
0915     go_out $RET
0916 fi
0917 
0918 if [[ "X$CNT" != "X0" ]]; then
0919     echo "Got invalid count: $CNT"
0920     go_out -1
0921 fi
0922 
0923 # master loop 2x configs local and remote...
0924 done
0925 
0926 ################################################################################
0927 # Catch is there is test error!!!
0928 if [ "X`grep TESTERROR *.log`" != "X" ]; then
0929     echo "Test error detected!"
0930     RET=-2
0931 fi
0932 
0933 
0934 go_out $RET
0935 
0936 
0937 # vim: set ts=4 sw=4 et smartindent:
0938