6364329: jstat displays "invalid argument count" with usage
authoregahlin
Tue, 02 Dec 2014 16:21:33 +0100
changeset 28099 44dfaff3cc59
parent 28098 fbc3debb3d50
child 28100 d3f16ee13562
6364329: jstat displays "invalid argument count" with usage Reviewed-by: jbachorik Contributed-by: Yuri Gaevsky <gaevsky@azulsystems.com>
jdk/src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java
jdk/test/sun/tools/jstat/jstatHelp.sh
--- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java	Mon Dec 01 09:49:44 2014 +0100
+++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java	Tue Dec 02 16:21:33 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -141,8 +141,9 @@
     public Arguments(String[] args) throws IllegalArgumentException {
         int argc = 0;
 
-        if (args.length < 1) {
-            throw new IllegalArgumentException("invalid argument count");
+        if (args.length == 0) {
+            help = true;
+            return;
         }
 
         if ((args[0].compareTo("-?") == 0)
--- a/jdk/test/sun/tools/jstat/jstatHelp.sh	Mon Dec 01 09:49:44 2014 +0100
+++ b/jdk/test/sun/tools/jstat/jstatHelp.sh	Tue Dec 02 16:21:33 2014 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -22,9 +22,9 @@
 #
 
 # @test
-# @bug 4990825
+# @bug 4990825 6364329
 # @run shell jstatHelp.sh
-# @summary Test that output of 'jstat -?' matches the usage.out file
+# @summary Test that output of 'jstat -?', 'jstat -help' and 'jstat' matches the usage.out file
 
 . ${TESTSRC-.}/../../jvmstat/testlibrary/utils.sh
 
@@ -38,7 +38,7 @@
 diff -w jstat.out ${TESTSRC}/usage.out
 if [ $? != 0 ]
 then
-  echo "Output of jstat -? differ from expected output. Failed."
+  echo "Output of jstat -? differs from expected output. Failed."
   exit 1
 fi
 
@@ -48,7 +48,17 @@
 diff -w jstat.out ${TESTSRC}/usage.out
 if [ $? != 0 ]
 then
-  echo "Output of jstat -help differ from expected output. Failed."
+  echo "Output of jstat -help differs from expected output. Failed."
+  exit 1
+fi
+
+rm -f jstat.out 2>/dev/null
+${JSTAT} -J-XX:+UsePerfData > jstat.out 2>&1
+
+diff -w jstat.out ${TESTSRC}/usage.out
+if [ $? != 0 ]
+then
+  echo "Output of jstat differs from expected output. Failed."
   exit 1
 fi