test/sun/tools/jstatd/jstatdExternalRegistry.sh

Print this page




  27 # @summary Test functionality of 'jstatd -p<port>&' with an external RMI registry
  28 
  29 . ${TESTSRC-.}/../../jvmstat/testlibrary/utils.sh
  30 
  31 setup
  32 verify_os
  33 
  34 cleanup() {
  35   kill_proc ${RMIREGISTRY_PID}
  36   kill_proc ${JSTATD_PID}
  37 }
  38 
  39 trap 'cleanup' 0 HUP INT QUIT TERM
  40 
  41 RMIREGISTRY="${TESTJAVA}/bin/rmiregistry"
  42 JSTATD="${TESTJAVA}/bin/jstatd"
  43 JPS="${TESTJAVA}/bin/jps"
  44 JSTAT="${TESTJAVA}/bin/jstat"
  45 
  46 HOSTNAME=`uname -n`
  47 PORT=2099




  48 
  49 RMIREGISTRY_OUT="rmiregistry_$$.out"
  50 JSTATD_OUT="jstatd_$$.out"
  51 
  52 ${RMIREGISTRY} ${PORT} > ${RMIREGISTRY_OUT} 2>&1 &
  53 RMIREGISTRY_PID=$!
  54 
  55 echo "rmiregistry started on port ${PORT} as pid ${RMIREGISTRY_PID}"
  56 sleep 3
  57 
  58 ${JSTATD} -J-Djava.security.policy=${TESTSRC}/all.policy -p ${PORT} > ${JSTATD_OUT} 2>&1 &
  59 JSTATD_PID=$!
  60 
  61 echo "jstatd started as pid ${JSTATD_PID}"
  62 sleep 3
  63 
  64 ${JPS} ${HOSTNAME}:${PORT} 2>&1 | awk -f ${TESTSRC}/jpsOutput1.awk
  65 
  66 if [ $? -ne 0 ]
  67 then
  68     echo "Output of jps differs from expected output. Failed."
  69     exit 1
  70 fi
  71 
  72 # get the process id for the target app (jstatd). note, don't rely
  73 # on JSTATD_PID as mks interposes a shell when starting a process in
  74 # the background
  75 TARGET_PID=`${JPS} | grep "Jstatd" | cut -d" " -f1`
  76 
  77 ${JSTAT} -gcutil ${TARGET_PID}@${HOSTNAME}:${PORT} 250 5 2>&1 | awk -f ${TESTSRC}/jstatGcutilOutput1.awk
  78 RC=$?
  79 
  80 if [ ${RC} -ne 0 ]
  81 then
  82     echo "jstat output differs from expected output"
  83 fi
  84 
  85 if [ -s ${JSTATD_OUT} ]
  86 then
  87     echo "jstatd generated unexpected output: see ${JSTATD_OUT}"
  88     RC=1
  89 fi
  90 
  91 if [ -s ${RMIREGISTRY_OUT} ]
  92 then
  93     echo "rmiregistry generated unexpected output: see ${RMIREGISTRY_OUT}"
  94     RC=1
  95 fi
  96 
  97 exit ${RC}


  27 # @summary Test functionality of 'jstatd -p<port>&' with an external RMI registry
  28 
  29 . ${TESTSRC-.}/../../jvmstat/testlibrary/utils.sh
  30 
  31 setup
  32 verify_os
  33 
  34 cleanup() {
  35   kill_proc ${RMIREGISTRY_PID}
  36   kill_proc ${JSTATD_PID}
  37 }
  38 
  39 trap 'cleanup' 0 HUP INT QUIT TERM
  40 
  41 RMIREGISTRY="${TESTJAVA}/bin/rmiregistry"
  42 JSTATD="${TESTJAVA}/bin/jstatd"
  43 JPS="${TESTJAVA}/bin/jps"
  44 JSTAT="${TESTJAVA}/bin/jstat"
  45 
  46 HOSTNAME=`uname -n`
  47 PORT=`freePort`
  48 if [ "${PORT}" = "0" ] ; then
  49   echo "Cannot get free port"
  50   exit 1
  51 fi
  52 
  53 RMIREGISTRY_OUT="rmiregistry_$$.out"
  54 JSTATD_OUT="jstatd_$$.out"
  55 
  56 ${RMIREGISTRY} ${PORT} > ${RMIREGISTRY_OUT} 2>&1 &
  57 RMIREGISTRY_PID=$!
  58 
  59 echo "rmiregistry started on port ${PORT} as pid ${RMIREGISTRY_PID}"
  60 sleep 3
  61 
  62 ${JSTATD} -J-Djava.security.policy=${TESTSRC}/all.policy -p ${PORT} > ${JSTATD_OUT} 2>&1 &
  63 JSTATD_PID=$!
  64 
  65 echo "jstatd started as pid ${JSTATD_PID}"
  66 sleep 3
  67 
  68 ${JPS} ${HOSTNAME}:${PORT} 2>&1 | awk -f ${TESTSRC}/jpsOutput1.awk
  69 
  70 if [ $? -ne 0 ]
  71 then
  72     echo "Output of jps differs from expected output. Failed."
  73     exit 1
  74 fi
  75 
  76 ${JSTAT} -gcutil ${JSTATD_PID}@${HOSTNAME}:${PORT} 250 5 2>&1 | awk -f ${TESTSRC}/jstatGcutilOutput1.awk





  77 RC=$?
  78 
  79 if [ ${RC} -ne 0 ]
  80 then
  81     echo "jstat output differs from expected output"
  82 fi
  83 
  84 if [ -s ${JSTATD_OUT} ]
  85 then
  86     echo "jstatd generated unexpected output: see ${JSTATD_OUT}"
  87     RC=1
  88 fi
  89 
  90 if [ -s ${RMIREGISTRY_OUT} ]
  91 then
  92     echo "rmiregistry generated unexpected output: see ${RMIREGISTRY_OUT}"
  93     RC=1
  94 fi
  95 
  96 exit ${RC}