108 * @param testVMMode VM mode for test
109 * @param additionalVMOpts additional options for VM
110 * @param seed for RNG used it tests
111 * @param iterations that will be used to invoke <b>expr</b>'s methods.
112 *
113 * @return OutputAnalyzer for executed test.
114 * @throws Throwable when something goes wrong.
115 */
116 public static OutputAnalyzer runTest(Class<? extends Expr> expr,
117 VMMode testVMMode,
118 String additionalVMOpts[],
119 long seed, int iterations)
120 throws Throwable {
121
122 List<String> vmOpts = new LinkedList<String>();
123
124 Collections.addAll(vmOpts, additionalVMOpts);
125 // Hide timestamps from warnings (e.g. due to potential AOT
126 // saved/runtime state mismatch), to avoid false positives when
127 // comparing output across runs.
128 vmOpts.add("-Xlog:all=warning:stdout:level,tags");
129 vmOpts.add("-Xlog:aot=off");
130
131 //setup mode-specific options
132 switch (testVMMode) {
133 case INT:
134 Collections.addAll(vmOpts, new String[] { "-Xint" });
135 break;
136 case COMP:
137 Collections.addAll(vmOpts, new String[] {
138 "-Xcomp",
139 "-XX:-TieredCompilation",
140 String.format("-XX:CompileCommand=compileonly,%s::*",
141 expr.getName())
142 });
143 break;
144 }
145
146 Collections.addAll(vmOpts, new String[] {
147 "-XX:+DisplayVMOutputToStderr",
148 "-D" + Utils.SEED_PROPERTY_NAME + "=" + seed,
149 Executor.class.getName(),
|
108 * @param testVMMode VM mode for test
109 * @param additionalVMOpts additional options for VM
110 * @param seed for RNG used it tests
111 * @param iterations that will be used to invoke <b>expr</b>'s methods.
112 *
113 * @return OutputAnalyzer for executed test.
114 * @throws Throwable when something goes wrong.
115 */
116 public static OutputAnalyzer runTest(Class<? extends Expr> expr,
117 VMMode testVMMode,
118 String additionalVMOpts[],
119 long seed, int iterations)
120 throws Throwable {
121
122 List<String> vmOpts = new LinkedList<String>();
123
124 Collections.addAll(vmOpts, additionalVMOpts);
125 // Hide timestamps from warnings (e.g. due to potential AOT
126 // saved/runtime state mismatch), to avoid false positives when
127 // comparing output across runs.
128 vmOpts.add("-Xlog:all=warning,aot=off:stdout:level,tags");
129
130 //setup mode-specific options
131 switch (testVMMode) {
132 case INT:
133 Collections.addAll(vmOpts, new String[] { "-Xint" });
134 break;
135 case COMP:
136 Collections.addAll(vmOpts, new String[] {
137 "-Xcomp",
138 "-XX:-TieredCompilation",
139 String.format("-XX:CompileCommand=compileonly,%s::*",
140 expr.getName())
141 });
142 break;
143 }
144
145 Collections.addAll(vmOpts, new String[] {
146 "-XX:+DisplayVMOutputToStderr",
147 "-D" + Utils.SEED_PROPERTY_NAME + "=" + seed,
148 Executor.class.getName(),
|