8009213: sun/management/jdp/JdpTest.sh fails with exit code 1
authordsamersoff
Thu, 03 Oct 2013 16:54:55 +0400
changeset 20509 9f5b0fa647cd
parent 20508 0c41e68de505
child 20510 46e33ac1d91b
8009213: sun/management/jdp/JdpTest.sh fails with exit code 1 Summary: There's no guarantee that the java process has executed far enough to be found by jps when we try to obtain it's pid. Reviewed-by: sla
jdk/test/sun/management/jdp/JdpTest.sh
--- a/jdk/test/sun/management/jdp/JdpTest.sh	Thu Oct 03 10:59:51 2013 +0200
+++ b/jdk/test/sun/management/jdp/JdpTest.sh	Thu Oct 03 16:54:55 2013 +0400
@@ -84,15 +84,29 @@
   ${TESTJAVA}/bin/java -server $* -cp ${_testclasses} ${testappname}  >> ${_logname} 2>&1 &
  _last_pid=$!
 
-  npid=`_get_pid`
-  if [ "${npid}" = "" ]
-  then
-     echo "ERROR: Test app not started. Please check machine resources before filing a bug."
-     if [ "${_jtreg}" = "yes" ]
-     then
-       exit 255
-     fi
-  fi
+# wait until VM is actually starts. 
+# please note, if vm doesn't start for some reason
+# jtreg kills the test by timeout. Don't file a bug.
+  cnt=1 
+  while true
+  do
+    npid=`_get_pid`
+    if [ "${npid}" != "" ]
+    then
+      break
+    fi
+    if [ "${cnt}" = "10" ]
+    then
+      echo "ERROR: Test app not started. Please check machine resources before filing a bug."
+      if [ "${_jtreg}" = "yes" ]
+      then
+          exit 255
+      fi
+      break
+    fi
+    cnt=`expr $cnt + 1`
+    sleep 1
+  done
 }
 
 _get_pid(){