diff --git a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java index 0c1d6a1e677..c1e9d5ffb82 100644 --- a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java +++ b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java @@ -78,8 +78,16 @@ public class JInfo { } if (useSA) { + // SA only supports -flags or -sysprops + if (args[0].startsWith("-")) { + if (!(args[0].equals("-flags") || args[0].equals("-sysprops"))) { + usage(1); + } + } + // invoke SA which does it's own argument parsing runTool(args); + } else { // Now we can parse arguments for the non-SA case String pid = null; diff --git a/jdk/test/sun/tools/jinfo/Basic.sh b/jdk/test/sun/tools/jinfo/Basic.sh index 8d4b01238fd..445ccf333f5 100644 --- a/jdk/test/sun/tools/jinfo/Basic.sh +++ b/jdk/test/sun/tools/jinfo/Basic.sh @@ -40,6 +40,7 @@ startApplication SimpleApplication "${PORTFILE}" # all return statuses are checked in this test set +e +set -x failed=0 @@ -71,16 +72,6 @@ if [ $runSA = true ]; then # no option ${JINFO} -J-XX:+UsePerfData -F $appJavaPid if [ $? != 0 ]; then failed=1; fi - - # -flag option - ${JINFO} -J-XX:+UsePerfData -F -flag +PrintGC $appJavaPid - if [ $? != 0 ]; then failed=1; fi - - ${JINFO} -J-XX:+UsePerfData -F -flag -PrintGC $appJavaPid - if [ $? != 0 ]; then failed=1; fi - - ${JINFO} -J-XX:+UsePerfData -F -flag PrintGC $appJavaPid - if [ $? != 0 ]; then failed=1; fi fi # -sysprops option