This looks a lot better. Just few more comments: ToolConfig.java L72 - "getToolOptins" -> "getToolOptions" L35 - why is port stored as a String? Also, could be renamed to rmiRegistryPort to clarify what it is for.
Why are some tool-specific options added in getToolOptins() and some in the getJpsCmd()/getJstatdCmd()/... methods? Maybe changing getToolOptins() to only return the host part of the options and moving the rest of the setup to getJpsCmd()/getJstatdCmd()/...? Thanks, /Staffan On 24 okt 2013, at 15:57, Yekaterina Kantserova <yekaterina.kantser...@oracle.com> wrote: > Hi, > > I've done following big changes after the Staffan's review: > - ported JDKToolLauncher, JDKToolFinder, Plattform from hotspot testlibrary > (http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot) for re-using in ToolConfig > - changed "verifiy output form jps, jstat"-methods to ignore warnings from VM > - tools will be launched without -vmoptions > > plus made fixes for all minor comments. > > If it's a good idea to push testlibrary changes separately I can make a > separate patch for them. > > Webrev: > http://cr.openjdk.java.net/~ykantser/8022229/webrev.02/ > > Primal bug: > https://bugs.openjdk.java.net/browse/JDK-8022229 > > Similar bugs: > https://bugs.openjdk.java.net/browse/JDK-8019630 > https://bugs.openjdk.java.net/browse/JDK-6636094 > https://bugs.openjdk.java.net/browse/JDK-6543979 > > Thanks, > Katja > > > > On 10/23/2013 12:55 PM, Staffan Larsen wrote: >> test/lib/testlibrary/jdk/testlibrary/Asserts.java >> Same code as already exists in the hotspot testlibrary. >> No further comments. >> >> >> test/lib/testlibrary/jdk/testlibrary/ProcessThread.java >> L33: stating -> starting >> L66: staring -> starting >> >> >> test/lib/testlibrary/jdk/testlibrary/TestThread.java >> This code comes from an internal test library. >> No further comments. >> >> >> test/lib/testlibrary/jdk/testlibrary/Utils.java >> No comments. >> >> >> test/lib/testlibrary/jdk/testlibrary/XRun.java >> This code comes from an internal test library. >> No further comments. >> >> >> test/sun/tools/jstatd/JstatGcutilParser.java >> The parse() method could be made more robust by discarding any lines that >> come before the header lines. This can happen if the JVM outputs a warning >> message for some reason before running jstat. >> >> I don't like the special-case for the CCS column in verify() - took me a >> while to find it. Should we add a new enum called PERCENTAGE_OR_DASH to >> handle that instead? >> >> L67: getType() should be private. >> >> >> test/sun/tools/jstatd/JstatdHelper.java: >> L54: Does verifyJpsOutput() work correctly with output of the form: >> >> 1234 -- main class information unavailable >> 1235 -- process information unavailable >> >> Also: same comment here as for JstatGcutilParser.java: sometimes the JVM >> outputs warning messages before the output from the tool. >> >> L46: "attach" is probably not the best way to describe the operation of >> jps. It does not attach to the process, it merely lists the running >> processes. Perhaps runJps() is a better name? >> >> >> test/sun/tools/jstatd/TestJstatdDefaults.java >> test/sun/tools/jstatd/TestJstatdExternalRegistry.java >> test/sun/tools/jstatd/TestJstatdPort.java >> test/sun/tools/jstatd/TestJstatdPortAndServer.java >> test/sun/tools/jstatd/TestJstatdServer.java >> No comments. >> >> >> test/sun/tools/jstatd/TestJstatdUsage.java >> Same comment here as for JstatGcutilParser.java: sometimes the JVM outputs >> warning messages before the output from the tool. >> >> >> test/sun/tools/jstatd/ToolConfig.java >> ToolConfig + Utils.get(Forward)VmOptions() seem to be doing similar things >> to JDKToolLauncher in the hotspot testlibrary. It is unfortunate if we have >> two ways to do similar things in the two different testlibraries. Would it >> be possible to reuse the hotspot code here instead? >> >> You have also changed the test. Previously the tools were not launched >> with the jtreg -vmoptions (test.vm.opts), whereas now they will be. Is this >> intentional? >> >> >> General comments: >> >> Can't we do: >> * @library /lib/testlibrary >> instead of >> * @library ../../../lib/testlibrary >> ? >> >> It seems that at least some of the functionality should be reused for >> re-writing the jstat and jps tests as well. I guess we can look at that at a >> later time, though. >> >> While I applaud the move from shell scripts to Java code, I can't shake the >> feeling that the shell scripts were easier to read and follow. The Java code >> is much more verbose and spread out over multiple helpers and libraries, >> making it harder to grasp. That may be the price we have to pay, though. >> >> >> Thanks, >> /Staffan >