58 static FilenameFilter logFilter = new FilenameFilter() {
59 @Override
60 public boolean accept(File dir, String name) {
61 return name.startsWith(logFileName);
62 }
63 };
64
65 public static void cleanLogs() {
66 for (File log : currentDirectory.listFiles(logFilter)) {
67 if (!log.delete()) {
68 throw new Error("Unable to delete " + log.getAbsolutePath());
69 }
70 }
71 }
72
73 public static void runTest(int numberOfFiles) throws Exception {
74
75 ArrayList<String> args = new ArrayList();
76 String[] logOpts = new String[]{
77 "-cp", System.getProperty("java.class.path"),
78 "-Xlog:gc=debug:" + logFileName + "::filesize=" + logFileSizeK + ",filecount=" + numberOfFiles,
79 "-XX:-DisableExplicitGC", // to ensure that System.gc() works
80 "-Xmx128M"};
81 // System.getProperty("test.java.opts") is '' if no options is set
82 // need to skip such empty
83 String[] externalVMopts = System.getProperty("test.java.opts").length() == 0
84 ? new String[0]
85 : System.getProperty("test.java.opts").split(" ");
86 args.addAll(Arrays.asList(externalVMopts));
87 args.addAll(Arrays.asList(logOpts));
88 args.add(GCLoggingGenerator.class.getName());
89 args.add(String.valueOf(numberOfFiles * logFileSizeK * 1024));
90 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(args.toArray(new String[0]));
91 pb.redirectErrorStream(true);
92 pb.redirectOutput(new File(GCLoggingGenerator.class.getName() + ".log"));
93 Process process = pb.start();
94 int result = process.waitFor();
95 if (result != 0) {
96 throw new Error("Unexpected exit code = " + result);
97 }
98 File[] logs = currentDirectory.listFiles(logFilter);
|
58 static FilenameFilter logFilter = new FilenameFilter() {
59 @Override
60 public boolean accept(File dir, String name) {
61 return name.startsWith(logFileName);
62 }
63 };
64
65 public static void cleanLogs() {
66 for (File log : currentDirectory.listFiles(logFilter)) {
67 if (!log.delete()) {
68 throw new Error("Unable to delete " + log.getAbsolutePath());
69 }
70 }
71 }
72
73 public static void runTest(int numberOfFiles) throws Exception {
74
75 ArrayList<String> args = new ArrayList();
76 String[] logOpts = new String[]{
77 "-cp", System.getProperty("java.class.path"),
78 "-Xlog:gc=debug:" + logFileName + "::filesize=" + logFileSizeK + "k,filecount=" + numberOfFiles,
79 "-XX:-DisableExplicitGC", // to ensure that System.gc() works
80 "-Xmx128M"};
81 // System.getProperty("test.java.opts") is '' if no options is set
82 // need to skip such empty
83 String[] externalVMopts = System.getProperty("test.java.opts").length() == 0
84 ? new String[0]
85 : System.getProperty("test.java.opts").split(" ");
86 args.addAll(Arrays.asList(externalVMopts));
87 args.addAll(Arrays.asList(logOpts));
88 args.add(GCLoggingGenerator.class.getName());
89 args.add(String.valueOf(numberOfFiles * logFileSizeK * 1024));
90 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(args.toArray(new String[0]));
91 pb.redirectErrorStream(true);
92 pb.redirectOutput(new File(GCLoggingGenerator.class.getName() + ".log"));
93 Process process = pb.start();
94 int result = process.waitFor();
95 if (result != 0) {
96 throw new Error("Unexpected exit code = " + result);
97 }
98 File[] logs = currentDirectory.listFiles(logFilter);
|