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 TESTNO="034"
0037 export TESTNAME_SHORT="shmreuse"
0038 export TESTNAME="test${TESTNO}_${TESTNAME_SHORT}"
0039
0040 PWD=`pwd`
0041 if [ `echo $PWD | grep $TESTNAME ` ]; then
0042
0043 echo > /dev/null
0044 else
0045
0046 pushd .
0047 echo "Doing cd"
0048 cd $TESTNAME
0049 fi;
0050
0051 . ../testenv.sh
0052
0053 export TESTDIR="$NDRX_APPHOME/atmitest/$TESTNAME"
0054 export PATH=$PATH:$TESTDIR
0055
0056 export NDRX_TOUT=10
0057 export NDRX_SILENT=Y
0058 export NDRX_SVCMAX=45
0059
0060
0061
0062
0063 function set_dom1 {
0064 echo "Setting domain 1"
0065 . ../dom1.sh
0066 export NDRX_CONFIG=$TESTDIR/ndrxconfig.xml
0067 export NDRX_DMNLOG=$TESTDIR/ndrxd.log
0068 export NDRX_LOG=$TESTDIR/ndrx.log
0069 export NDRX_DEBUG_CONF=$TESTDIR/debug.conf
0070 }
0071
0072
0073
0074
0075 function go_out {
0076 echo "Test exiting with: $1"
0077
0078 set_dom1;
0079 xadmin stop -y
0080 xadmin down -y
0081
0082
0083 xadmin killall atmiclt34
0084
0085 popd 2>/dev/null
0086 exit $1
0087 }
0088
0089
0090
0091
0092
0093 function chk_count {
0094
0095 xadmin start -i $1
0096 xadmin psc
0097
0098 CNT=`xadmin psc | grep T3 | wc -l | awk '{print $1}'`
0099 echo "Got: [$CNT]"
0100 if [ "X$CNT" != "X$2" ]; then
0101 echo "Invalid service count: $CNT (expected $2)"
0102 go_out -4
0103 fi
0104
0105
0106 xadmin stop -i $1
0107 CNT=`xadmin psc | grep T3 | wc -l | awk '{print $1}'`
0108 echo "Got: [$CNT] (after shutdown)"
0109 if [ "X$CNT" != "X0" ]; then
0110 echo "Invalid service count: $CNT (expected 0)"
0111 go_out -5
0112 fi
0113
0114 }
0115
0116
0117 rm *.log
0118
0119 set_dom1;
0120 xadmin down -y
0121 xadmin start -y || go_out 1
0122
0123 xadmin psc
0124 xadmin psvc
0125 xadmin ppm
0126
0127 echo "Run readv"
0128 (./atmiclt34 readv 2>&1) > ./atmiclt.log
0129 RETTMP=$?
0130
0131 if [ "X$RETTMP" != "X0" ]; then
0132
0133 echo "*** PSVC ***"
0134 xadmin psvc
0135
0136 echo "***PSC***"
0137 xadmin psc
0138
0139 go_out -1
0140 fi
0141
0142 xadmin stop -y
0143 xadmin down -y
0144 xadmin start -y || go_out 1
0145
0146 echo "Run chkfull 45 - shm limit"
0147 (./atmiclt34 chkfull 45 2>&1) > ./atmiclt_chkfull45.log
0148 RETTMP=$?
0149
0150 if [ "X$RETTMP" != "X0" ]; then
0151
0152 echo "*** PSVC ***"
0153 xadmin psvc
0154
0155 echo "***PSC***"
0156 xadmin psc
0157
0158 go_out -2
0159 fi
0160
0161 xadmin stop -y
0162
0163
0164
0165
0166 echo "Run chkfull 48 - per svc limit"
0167 export NDRX_SVCMAX=100
0168
0169 xadmin down -y
0170 xadmin start -y || go_out 1
0171
0172 (./atmiclt34 chkfull 48 2>&1) > ./atmiclt_chkfull48.log
0173 RETTMP=$?
0174
0175 if [ "X$RETTMP" != "X0" ]; then
0176
0177 echo "*** PSVC ***"
0178 xadmin psvc
0179
0180 echo "***PSC***"
0181 xadmin psc
0182
0183 go_out -3
0184 fi
0185
0186 echo "Direct SHM tests.."
0187 xadmin stop -y
0188 xadmin down -y
0189
0190 export NDRX_SVCMAX=200
0191 xadmin idle
0192 xadmin ldcf
0193 xadmin appconfig sanity 99999
0194 sleep 2
0195
0196 (./atmiclt34_2 2>&1) > ./atmiclt_2.log
0197 RETTMP=$?
0198
0199 if [ "X$RETTMP" != "X0" ]; then
0200
0201 echo "*** PSVC ***"
0202 xadmin psvc
0203
0204 echo "***PSC***"
0205 xadmin psc
0206
0207 go_out -4
0208 fi
0209
0210 echo "Testing static advertise limits"
0211
0212 xadmin stop -y
0213 xadmin down -y
0214
0215 export NDRX_SVCMAX=20
0216 xadmin idle
0217 xadmin ldcf
0218 xadmin start -i 201
0219
0220 echo "***PSC After startup***"
0221 xadmin psc
0222
0223 echo "***PSVC After startup (shall miss services above 19) ***"
0224 xadmin psvc
0225
0226 echo "***pqa -a After startup***"
0227 xadmin pqa -a
0228
0229
0230 echo "Check that we can call some service..."
0231 (./atmiclt34 call19 2>&1) > ./atmiclt_call19.log
0232 RETTMP=$?
0233
0234 if [ "X$RETTMP" != "X0" ]; then
0235
0236 echo "*** PSVC ***"
0237 xadmin psvc
0238
0239 echo "***PSC***"
0240 xadmin psc
0241
0242 go_out -3
0243 fi
0244
0245
0246 xadmin stop -i 201
0247
0248 echo "***PSC After shutdown***"
0249 xadmin psc
0250
0251 echo "***PSVC After shutdown ***"
0252 xadmin psvc
0253
0254 echo "***pqa -a After shutdown***"
0255 xadmin pqa -a
0256
0257
0258 echo "Checking aliasing limits..."
0259
0260
0261 echo "*** Cannot start as too many services in the tmdsptchtbl_t"
0262 chk_count 1000, 0
0263
0264 echo "*** Check single function aliased"
0265 chk_count 1001, 2
0266
0267 echo "*** 25*2 funcs advertised (all full)"
0268 chk_count 1002, 0
0269
0270 echo "*** 24*2 funcs advertised (have space)"
0271 chk_count 1003, 48
0272
0273 echo "*** 25*2 alias advertised (all full)"
0274 chk_count 1004, 0
0275
0276 echo "*** 24*2 alias advertised (have space)"
0277 chk_count 1005, 48
0278
0279 echo "*** 23*2 alias advertised (have space)"
0280 chk_count 1006, 46
0281
0282
0283
0284 if [ "X`grep TESTERROR *.log`" != "X" ]; then
0285 echo "Test error detected!"
0286 go_out -99
0287 fi
0288
0289 go_out 0
0290
0291