# HG changeset patch # User tyan # Date 1386110205 28800 # Node ID 50d3bc97c22447f65f4ed2b415e549a3b6c7a405 # Parent 97758de70fbd98c01247500b46f355bd3fc7f238 7190106: java/rmi/reliability/benchmark fails intermittently because of use of fixed port Reviewed-by: smarks, mduigou diff -r 97758de70fbd -r 50d3bc97c224 jdk/test/ProblemList.txt --- a/jdk/test/ProblemList.txt Tue Dec 03 16:20:44 2013 -0500 +++ b/jdk/test/ProblemList.txt Tue Dec 03 14:36:45 2013 -0800 @@ -205,9 +205,6 @@ # 7146541 java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java linux-all -# 7190106 -java/rmi/reliability/benchmark/runRmiBench.sh generic-all - # 7191877 java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java generic-all diff -r 97758de70fbd -r 50d3bc97c224 jdk/test/java/rmi/reliability/benchmark/bench/rmi/Main.java --- a/jdk/test/java/rmi/reliability/benchmark/bench/rmi/Main.java Tue Dec 03 16:20:44 2013 -0500 +++ b/jdk/test/java/rmi/reliability/benchmark/bench/rmi/Main.java Tue Dec 03 14:36:45 2013 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2013, 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 @@ -21,8 +21,27 @@ * questions. */ -/* - * +/** + * @test + * @summary The RMI benchmark test. This java class is used to run the test + * under JTREG. + * @library ../../../../testlibrary ../../ + * @build TestLibrary bench.BenchInfo bench.HtmlReporter bench.Util + * bench.Benchmark bench.Reporter bench.XmlReporter bench.ConfigFormatException + * bench.Harness bench.TextReporter bench.rmi.BenchServer + * bench.rmi.DoubleArrayCalls bench.rmi.LongCalls bench.rmi.ShortCalls + * bench.rmi.BenchServerImpl bench.rmi.DoubleCalls bench.rmi.Main + * bench.rmi.SmallObjTreeCalls bench.rmi.BooleanArrayCalls + * bench.rmi.ExceptionCalls bench.rmi.NullCalls bench.rmi.BooleanCalls + * bench.rmi.ExportObjs bench.rmi.ObjArrayCalls bench.rmi.ByteArrayCalls + * bench.rmi.FloatArrayCalls bench.rmi.ObjTreeCalls bench.rmi.ByteCalls + * bench.rmi.FloatCalls bench.rmi.ProxyArrayCalls bench.rmi.CharArrayCalls + * bench.rmi.IntArrayCalls bench.rmi.RemoteObjArrayCalls bench.rmi.CharCalls + * bench.rmi.IntCalls bench.rmi.ClassLoading bench.rmi.LongArrayCalls + * bench.rmi.ShortArrayCalls + * bench.rmi.altroot.Node + * @run main/othervm/policy=policy.all/timeout=1800 bench.rmi.Main -server -c config + * @author Mike Warres, Nigel Daley */ package bench.rmi; @@ -33,21 +52,27 @@ import bench.Reporter; import bench.TextReporter; import bench.XmlReporter; +import static bench.rmi.Main.OutputFormat.*; +import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; +import java.rmi.AlreadyBoundException; +import java.rmi.NotBoundException; import java.rmi.RemoteException; -import java.rmi.RMISecurityManager; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.RemoteObject; +import java.util.ArrayList; +import java.util.List; import java.util.Timer; import java.util.TimerTask; -/* +/** * RMI/Serialization benchmark tests. */ public class Main { @@ -66,19 +91,20 @@ /** * Cleanup both client and server side in between each benchmark. */ + @Override protected void cleanup() { System.gc(); if (Main.runmode == CLIENT) { try { Main.server.gc(); - } catch (Exception e) { + } catch (RemoteException e) { System.err.println("Warning: server gc failed: " + e); } } } } - static final String CONFFILE = "/bench/rmi/config"; + static final String CONFFILE = "config"; static final String VERSION = "1.3"; static final String REGNAME = "server"; @@ -86,9 +112,32 @@ static final int CLIENT = 1; static final int SERVER = 2; - static final int TEXT = 0; - static final int HTML = 1; - static final int XML = 2; + static enum OutputFormat { + + TEXT { + @Override + Reporter getReport(String title) { + return new TextReporter(repstr, title); + } + }, + HTML { + + @Override + Reporter getReport(String title) { + return new HtmlReporter(repstr, title); + } + }, + XML { + @Override + Reporter getReport(String title) { + return new XmlReporter(repstr, title); + } + }; + + abstract Reporter getReport(String title); + }; + + static final String TEST_SRC_PATH = System.getProperty("test.src") + File.separator; static boolean verbose; static boolean list; @@ -96,9 +145,11 @@ static int testDurationSeconds; static volatile boolean exitRequested; static Timer timer; - static int format = TEXT; + static OutputFormat format = TEXT; static int runmode; + static String confFile; static InputStream confstr; + static String repFile; static OutputStream repstr; static String host; static int port; @@ -109,6 +160,8 @@ /** * Returns reference to benchmark server. + * + * @return a benchmark server */ public static BenchServer getBenchServer() { return server; @@ -126,44 +179,29 @@ p.println(" -l list configuration file"); p.println(" -t repeat benchmarks for specified number of hours"); p.println(" -o specify output file"); - p.println(" -c specify (non-default) " + - "configuration file"); - p.println(" -html format output as html " + - "(default is text)"); + p.println(" -c specify (non-default) " + + "configuration file"); + p.println(" -html format output as html " + + "(default is text)"); p.println(" -xml format output as xml"); - p.println(" -client run benchmark client using server " + - "on specified host/port"); - p.println(" -server run benchmark server on given port"); + p.println(" -server run benchmark server "); + p.println(" -client run benchmark client using server " + + "on specified host/port"); } /** - * Print error message and exit. + * Throw RuntimeException that wrap message. + * + * @param mesg a message will be wrapped in the RuntimeException. */ static void die(String mesg) { - System.err.println(mesg); - System.exit(1); - } - - /** - * Stop server and exit. - */ - public static void exit() { - switch (runmode) { - case CLIENT: - if (server != null) { - try { - server.terminate(0); - } catch (RemoteException re) { - // ignore - } - } - default: - System.exit(0); - } + throw new RuntimeException(mesg); } /** * Benchmark mainline. + * + * @param args */ public static void main(String[] args) { setupSecurity(); @@ -173,21 +211,78 @@ listConfig(); } else { setupServer(); - if (runmode != SERVER) { - setupHarness(); - setupReporter(); - if (exitOnTimer) { - setupTimer(testDurationSeconds); - while (true) { + switch (runmode) { + case SAMEVM: + case CLIENT: + setupHarness(); + setupReporter(); + if (exitOnTimer) { + setupTimer(testDurationSeconds); + do { + runBenchmarks(); + } while (!exitRequested); + } else { runBenchmarks(); - if (exitRequested) { - exit(); - } + } + break; + case SERVER: + //Setup for client mode, server will fork client process + //after its initiation. + List clientProcessStr = new ArrayList<>(); + clientProcessStr.add(System.getProperty("test.jdk") + + File.separator + "bin" + File.separator + "java"); + String classpath = System.getProperty("java.class.path"); + if (classpath != null) { + clientProcessStr.add("-cp"); + clientProcessStr.add(classpath); + } + clientProcessStr.add("-Djava.security.policy=" + TEST_SRC_PATH + "policy.all"); + clientProcessStr.add("-Dtest.src=" + TEST_SRC_PATH); + clientProcessStr.add("bench.rmi.Main"); //Client mode + if (verbose) { + clientProcessStr.add("-v"); + } + if (list) { + clientProcessStr.add("-l"); + } + clientProcessStr.add("-client"); + clientProcessStr.add("localhost:" + port); + + if (exitOnTimer) { + clientProcessStr.add("-t"); + clientProcessStr.add(String.valueOf(testDurationSeconds / 3600)); } - } else { - runBenchmarks(); - exit(); - } + if (repFile != null) { + clientProcessStr.add("-o"); + clientProcessStr.add(repFile); + } + if (confFile != null) { + clientProcessStr.add("-c"); + clientProcessStr.add(confFile); + } + switch (format) { + case HTML: + clientProcessStr.add("-html"); + break; + case XML: + clientProcessStr.add("-xml"); + break; + } + + try { + Process client = new ProcessBuilder(clientProcessStr). + inheritIO().start(); + client.waitFor(); + int exitValue = client.exitValue(); + if (0 != exitValue) { + die("Error: error happened in client process, exitValue = " + exitValue); + } + } catch (IOException ex) { + die("Error: Unable start client process, ex=" + ex.getMessage()); + } catch (InterruptedException ex) { + die("Error: Error happening to client process, ex=" + ex.getMessage()); + } + break; } } } @@ -197,78 +292,107 @@ */ static void parseArgs(String[] args) { for (int i = 0; i < args.length; i++) { - if (args[i].equals("-h")) { - usage(); - System.exit(0); - } else if (args[i].equals("-v")) { - verbose = true; - } else if (args[i].equals("-l")) { - list = true; - } else if (args[i].equals("-t")) { - if (++i >= args.length) - die("Error: no timeout value specified"); - try { - exitOnTimer = true; - testDurationSeconds = Integer.parseInt(args[i]) * 3600; - } catch (Exception e) { - die("Error: unable to determine timeout value"); - } - } else if (args[i].equals("-o")) { - if (++i >= args.length) - die("Error: no output file specified"); - try { - repstr = new FileOutputStream(args[i]); - } catch (IOException e) { - die("Error: unable to open \"" + args[i] + "\""); - } - } else if (args[i].equals("-c")) { - if (++i >= args.length) - die("Error: no config file specified"); - try { - confstr = new FileInputStream(args[i]); - } catch (IOException e) { - die("Error: unable to open \"" + args[i] + "\""); - } - } else if (args[i].equals("-html")) { - if (format != TEXT) - die("Error: conflicting formats"); - format = HTML; - } else if (args[i].equals("-xml")) { - if (format != TEXT) - die("Error: conflicting formats"); - format = XML; - } else if (args[i].equals("-client")) { - if (runmode == CLIENT) - die("Error: multiple -client options"); - if (runmode == SERVER) - die("Error: -client and -server options conflict"); - if (++i >= args.length) - die("Error: -client missing host/port"); - try { - int sepi = args[i].indexOf(':'); - host = args[i].substring(0, sepi); - port = Integer.parseInt(args[i].substring(sepi + 1)); - } catch (Exception e) { - die("Error: illegal host/port specified for -client"); - } - runmode = CLIENT; - } else if (args[i].equals("-server")) { - if (runmode == CLIENT) - die("Error: -client and -server options conflict"); - if (runmode == SERVER) - die("Error: multiple -server options"); - if (++i >= args.length) - die("Error: -server missing port"); - try { - port = Integer.parseInt(args[i]); - } catch (Exception e) { - die("Error: illegal port specified for -server"); - } - runmode = SERVER; - } else { - System.err.println("Illegal option: \"" + args[i] + "\""); - usage(); - System.exit(1); + switch (args[i]) { + case "-h": + usage(); + System.exit(0); + break; + case "-v": + verbose = true; + break; + case "-l": + list = true; + break; + case "-t": + if (++i >= args.length) { + die("Error: no timeout value specified"); + } + try { + exitOnTimer = true; + testDurationSeconds = Integer.parseInt(args[i]) * 3600; + } catch (NumberFormatException e) { + die("Error: unable to determine timeout value"); + } + break; + case "-o": + if (++i >= args.length) { + die("Error: no output file specified"); + } + try { + repFile = args[i]; + repstr = new FileOutputStream(repFile); + } catch (FileNotFoundException e) { + die("Error: unable to open \"" + args[i] + "\""); + } + break; + case "-c": + if (++i >= args.length) { + die("Error: no config file specified"); + } + confFile = args[i]; + String confFullPath = TEST_SRC_PATH + confFile; + try { + confstr = new FileInputStream(confFullPath); + } catch (FileNotFoundException e) { + die("Error: unable to open \"" + confFullPath + "\""); + } + break; + case "-html": + if (format != TEXT) { + die("Error: conflicting formats"); + } + format = HTML; + break; + case "-xml": + if (format != TEXT) { + die("Error: conflicting formats"); + } + format = XML; + break; + case "-client": + if (runmode == CLIENT) { + die("Error: multiple -client options"); + } + if (runmode == SERVER) { + die("Error: -client and -server options conflict"); + } + if (++i >= args.length) { + die("Error: -client missing host/port"); + } + try { + String[] hostAndPort = args[i].split(":"); + if (hostAndPort.length != 2) { + die("Error: Invalid format host/port:" + args[i]); + } + host = hostAndPort[0]; + port = Integer.parseInt(hostAndPort[1]); + } catch (NumberFormatException e) { + die("Error: illegal host/port specified for -client"); + } + runmode = CLIENT; + break; + case "-server": + if (runmode == CLIENT) { + die("Error: -client and -server options conflict"); + } + if (runmode == SERVER) { + die("Error: multiple -server options"); + } + try { + //This is the hack code because named package class has + //difficulty in accessing unamed package class. This + //should be removed ater JDK-8003358 is finished. + port = (int) Class.forName("TestLibrary") + .getMethod("getUnusedRandomPort") + .invoke(null); + } catch (ReflectiveOperationException ex) { + die("Error: can't get a free port " + ex); + } + runmode = SERVER; + break; + default: + usage(); + die("Illegal option: \"" + args[i] + "\""); } } } @@ -277,27 +401,31 @@ * Set up security manager and policy, if not set already. */ static void setupSecurity() { - if (System.getSecurityManager() != null) + if (System.getSecurityManager() != null) { return; + } /* As of 1.4, it is too late to set the security policy * file at this point so these line have been commented out. */ //System.setProperty("java.security.policy", // Main.class.getResource("/bench/rmi/policy.all").toString()); - System.setSecurityManager(new RMISecurityManager()); + System.setSecurityManager(new SecurityManager()); } /** * Set up configuration file and report streams, if not set already. */ static void setupStreams() { - if (repstr == null) + if (repstr == null) { repstr = System.out; - if (confstr == null) - confstr = (new Main()).getClass().getResourceAsStream(CONFFILE); - if (confstr == null) + } + if (confstr == null) { + confstr = Main.class.getResourceAsStream(TEST_SRC_PATH + CONFFILE); + } + if (confstr == null) { die("Error: unable to find default config file"); + } } /** @@ -323,7 +451,7 @@ try { serverImpl = new BenchServerImpl(); server = (BenchServer) RemoteObject.toStub(serverImpl); - } catch (Exception e) { + } catch (RemoteException e) { die("Error: failed to create local server: " + e); } if (verbose) @@ -334,7 +462,7 @@ try { Registry reg = LocateRegistry.getRegistry(host, port); server = (BenchServer) reg.lookup(REGNAME); - } catch (Exception e) { + } catch (NotBoundException | RemoteException e) { die("Error: failed to connect to server: " + e); } if (server == null) { @@ -351,7 +479,7 @@ Registry reg = LocateRegistry.createRegistry(port); serverImpl = new BenchServerImpl(); reg.bind(REGNAME, serverImpl); - } catch (Exception e) { + } catch (AlreadyBoundException | RemoteException e) { die("Error: failed to initialize server: " + e); } if (verbose) { @@ -368,18 +496,19 @@ /** * Set up the timer to end the test. * - * @param delay the amount of delay, in seconds, before requesting - * the process exit + * @param delay the amount of delay, in seconds, before requesting the + * process exit */ static void setupTimer(int delay) { timer = new Timer(true); timer.schedule( - new TimerTask() { - public void run() { - exitRequested = true; - } - }, - delay * 1000); + new TimerTask() { + @Override + public void run() { + exitRequested = true; + } + }, + delay * 1000); } /** @@ -404,23 +533,7 @@ * Setup benchmark reporter. */ static void setupReporter() { - String title = "RMI Benchmark, v" + VERSION; - switch (format) { - case TEXT: - reporter = new TextReporter(repstr, title); - break; - - case HTML: - reporter = new HtmlReporter(repstr, title); - break; - - case XML: - reporter = new XmlReporter(repstr, title); - break; - - default: - die("Error: unrecognized format type"); - } + reporter = format.getReport("RMI Benchmark, v" + VERSION); } /** diff -r 97758de70fbd -r 50d3bc97c224 jdk/test/java/rmi/reliability/benchmark/bench/serial/Main.java --- a/jdk/test/java/rmi/reliability/benchmark/bench/serial/Main.java Tue Dec 03 16:20:44 2013 -0500 +++ b/jdk/test/java/rmi/reliability/benchmark/bench/serial/Main.java Tue Dec 03 14:36:45 2013 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2013, 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,7 +22,29 @@ */ /* - * + * @test + * @summary The Serialization benchmark test. This java class is used to run the + * test under JTREG. + * @library ../../ + * @build bench.BenchInfo bench.HtmlReporter bench.Util bench.Benchmark + * @build bench.Reporter bench.XmlReporter bench.ConfigFormatException + * @build bench.Harness bench.TextReporter + * @build bench.serial.BooleanArrays bench.serial.Booleans + * @build bench.serial.ByteArrays bench.serial.Bytes bench.serial.CharArrays + * @build bench.serial.Chars bench.serial.ClassDesc bench.serial.Cons + * @build bench.serial.CustomDefaultObjTrees bench.serial.CustomObjTrees + * @build bench.serial.DoubleArrays bench.serial.Doubles + * @build bench.serial.ExternObjTrees bench.serial.FloatArrays + * @build bench.serial.Floats bench.serial.GetPutFieldTrees + * @build bench.serial.IntArrays bench.serial.Ints bench.serial.LongArrays + * @build bench.serial.Longs bench.serial.Main bench.serial.ObjArrays + * @build bench.serial.ObjTrees bench.serial.ProxyArrays + * @build bench.serial.ProxyClassDesc bench.serial.RepeatObjs + * @build bench.serial.ReplaceTrees bench.serial.ShortArrays + * @build bench.serial.Shorts bench.serial.SmallObjTrees + * @build bench.serial.StreamBuffer bench.serial.Strings + * @run main/othervm/timeout=1800 bench.serial.Main -c jtreg-config + * @author Mike Warres, Nigel Daley */ package bench.serial; @@ -33,7 +55,9 @@ import bench.Reporter; import bench.TextReporter; import bench.XmlReporter; +import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.io.IOException; @@ -47,8 +71,9 @@ */ public class Main { - static final String CONFFILE = "/bench/serial/config"; + static final String CONFFILE = "config"; static final String VERSION = "1.3"; + static final String TEST_SRC_PATH = System.getProperty("test.src") + File.separator; static final int TEXT = 0; static final int HTML = 1; @@ -84,15 +109,18 @@ } /** - * Print error message and exit. + * Throw RuntimeException that wrap message. + * + * @param mesg a message will be wrapped in the RuntimeException. */ static void die(String mesg) { - System.err.println(mesg); - System.exit(1); + throw new RuntimeException(mesg); } /** * Mainline parses command line, then hands off to benchmark harness. + * + * @param args */ public static void main(String[] args) { parseArgs(args); @@ -104,15 +132,11 @@ setupReporter(); if (exitOnTimer) { setupTimer(testDurationSeconds); - while (true) { + do { runBenchmarks(); - if (exitRequested) { - System.exit(0); - } - } + } while (!exitRequested); } else { runBenchmarks(); - System.exit(0); } } } @@ -122,50 +146,59 @@ */ static void parseArgs(String[] args) { for (int i = 0; i < args.length; i++) { - if (args[i].equals("-h")) { - usage(); - System.exit(0); - } else if (args[i].equals("-v")) { - verbose = true; - } else if (args[i].equals("-l")) { - list = true; - } else if (args[i].equals("-t")) { - if (++i >= args.length) - die("Error: no timeout value specified"); - try { - exitOnTimer = true; - testDurationSeconds = Integer.parseInt(args[i]) * 3600; - } catch (Exception e) { - die("Error: unable to determine timeout value"); - } - } else if (args[i].equals("-o")) { - if (++i >= args.length) - die("Error: no output file specified"); - try { - repstr = new FileOutputStream(args[i]); - } catch (IOException e) { - die("Error: unable to open \"" + args[i] + "\""); - } - } else if (args[i].equals("-c")) { - if (++i >= args.length) - die("Error: no config file specified"); - try { - confstr = new FileInputStream(args[i]); - } catch (IOException e) { - die("Error: unable to open \"" + args[i] + "\""); - } - } else if (args[i].equals("-html")) { - if (format != TEXT) - die("Error: conflicting formats"); - format = HTML; - } else if (args[i].equals("-xml")) { - if (format != TEXT) - die("Error: conflicting formats"); - format = XML; - } else { - System.err.println("Illegal option: \"" + args[i] + "\""); - usage(); - System.exit(1); + switch (args[i]) { + case "-h": + usage(); + System.exit(0); + break; + case "-v": + verbose = true; + break; + case "-l": + list = true; + break; + case "-t": + if (++i >= args.length) + die("Error: no timeout value specified"); + try { + exitOnTimer = true; + testDurationSeconds = Integer.parseInt(args[i]) * 3600; + } catch (NumberFormatException e) { + die("Error: unable to determine timeout value"); + } + break; + case "-o": + if (++i >= args.length) + die("Error: no output file specified"); + try { + repstr = new FileOutputStream(args[i]); + } catch (FileNotFoundException e) { + die("Error: unable to open \"" + args[i] + "\""); + } + break; + case "-c": + if (++i >= args.length) + die("Error: no config file specified"); + String confFileName = TEST_SRC_PATH + args[i]; + try { + confstr = new FileInputStream(confFileName); + } catch (FileNotFoundException e) { + die("Error: unable to open \"" + confFileName + "\""); + } + break; + case "-html": + if (format != TEXT) + die("Error: conflicting formats"); + format = HTML; + break; + case "-xml": + if (format != TEXT) + die("Error: conflicting formats"); + format = XML; + break; + default: + usage(); + die("Illegal option: \"" + args[i] + "\""); } } } @@ -177,7 +210,7 @@ if (repstr == null) repstr = System.out; if (confstr == null) - confstr = (new Main()).getClass().getResourceAsStream(CONFFILE); + confstr = Main.class.getResourceAsStream(TEST_SRC_PATH + CONFFILE); if (confstr == null) die("Error: unable to find default config file"); } @@ -206,6 +239,7 @@ timer = new Timer(true); timer.schedule( new TimerTask() { + @Override public void run() { exitRequested = true; } diff -r 97758de70fbd -r 50d3bc97c224 jdk/test/java/rmi/reliability/benchmark/runRmiBench.sh --- a/jdk/test/java/rmi/reliability/benchmark/runRmiBench.sh Tue Dec 03 16:20:44 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -# -# Copyright (c) 2005, 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 -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# @test -# -# @summary The RMI benchmark test. This script is only -# used to run the test under JTREG. -# -# @build bench.BenchInfo bench.HtmlReporter bench.Util bench.Benchmark -# bench.Reporter bench.XmlReporter bench.ConfigFormatException -# bench.Harness bench.TextReporter bench.rmi.BenchServer -# bench.rmi.DoubleArrayCalls bench.rmi.LongCalls bench.rmi.ShortCalls -# bench.rmi.BenchServerImpl bench.rmi.DoubleCalls -# bench.rmi.Main bench.rmi.SmallObjTreeCalls -# bench.rmi.BooleanArrayCalls bench.rmi.ExceptionCalls -# bench.rmi.NullCalls bench.rmi.BooleanCalls bench.rmi.ExportObjs -# bench.rmi.ObjArrayCalls bench.rmi.ByteArrayCalls -# bench.rmi.FloatArrayCalls bench.rmi.ObjTreeCalls -# bench.rmi.ByteCalls bench.rmi.FloatCalls bench.rmi.ProxyArrayCalls -# bench.rmi.CharArrayCalls bench.rmi.IntArrayCalls -# bench.rmi.RemoteObjArrayCalls bench.rmi.CharCalls bench.rmi.IntCalls -# bench.rmi.ClassLoading bench.rmi.LongArrayCalls -# bench.rmi.ShortArrayCalls bench.rmi.altroot.Node -# -# @run shell/timeout=1800 runRmiBench.sh -# -# @author Mike Warres, Nigel Daley - -echo "Starting RMI benchmark server " - -$TESTJAVA/bin/java \ - -server \ - -cp $TESTCLASSES \ - -Djava.security.policy=$TESTSRC/bench/rmi/policy.all \ - bench.rmi.Main \ - -server 2007 \ - -c $TESTSRC/bench/rmi/config & - -sleep 10 -echo "Starting RMI benchmark client " - -$TESTJAVA/bin/java \ - -client \ - -cp $TESTCLASSES \ - -Djava.security.policy=$TESTSRC/bench/rmi/policy.all \ - bench.rmi.Main \ - -client localhost:2007 \ - -c $TESTSRC/bench/rmi/config - diff -r 97758de70fbd -r 50d3bc97c224 jdk/test/java/rmi/reliability/benchmark/runSerialBench.sh --- a/jdk/test/java/rmi/reliability/benchmark/runSerialBench.sh Tue Dec 03 16:20:44 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -# -# Copyright (c) 2005, 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 -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# @test -# -# @summary The Serialization benchmark test. This script is only -# used to run the test under JTREG. -# -# @build bench.BenchInfo bench.HtmlReporter bench.Util bench.Benchmark -# @build bench.Reporter bench.XmlReporter bench.ConfigFormatException -# @build bench.Harness bench.TextReporter -# @build bench.serial.BooleanArrays bench.serial.Booleans -# @build bench.serial.ByteArrays bench.serial.Bytes bench.serial.CharArrays -# @build bench.serial.Chars bench.serial.ClassDesc bench.serial.Cons -# @build bench.serial.CustomDefaultObjTrees bench.serial.CustomObjTrees -# @build bench.serial.DoubleArrays bench.serial.Doubles -# @build bench.serial.ExternObjTrees bench.serial.FloatArrays -# @build bench.serial.Floats bench.serial.GetPutFieldTrees -# @build bench.serial.IntArrays bench.serial.Ints bench.serial.LongArrays -# @build bench.serial.Longs bench.serial.Main bench.serial.ObjArrays -# @build bench.serial.ObjTrees bench.serial.ProxyArrays -# @build bench.serial.ProxyClassDesc bench.serial.RepeatObjs -# @build bench.serial.ReplaceTrees bench.serial.ShortArrays -# @build bench.serial.Shorts bench.serial.SmallObjTrees -# @build bench.serial.StreamBuffer bench.serial.Strings -# -# @run shell/timeout=1800 runSerialBench.sh -# -# @author Mike Warres, Nigel Daley - -echo "Starting serialization benchmark " - -$TESTJAVA/bin/java \ - ${TESTVMOPTS} \ - -cp $TESTCLASSES \ - bench.serial.Main \ - -c $TESTSRC/bench/serial/jtreg-config & -