Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/hotspot/jtreg/gc/shenandoah/options/TestRegionSizeArgs.java
41153 views
1
/*
2
* Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*
23
*/
24
25
/*
26
* @test TestRegionSizeArgs
27
* @summary Test that Shenandoah region size args are checked
28
* @requires vm.gc.Shenandoah
29
* @library /test/lib
30
* @modules java.base/jdk.internal.misc
31
* java.management
32
* @run driver TestRegionSizeArgs
33
*/
34
35
import jdk.test.lib.process.ProcessTools;
36
import jdk.test.lib.process.OutputAnalyzer;
37
38
public class TestRegionSizeArgs {
39
public static void main(String[] args) throws Exception {
40
testInvalidRegionSizes();
41
testMinRegionSize();
42
testMaxRegionSize();
43
}
44
45
private static void testInvalidRegionSizes() throws Exception {
46
47
{
48
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
49
"-XX:+UseShenandoahGC",
50
"-Xms4m",
51
"-Xmx1g",
52
"-version");
53
OutputAnalyzer output = new OutputAnalyzer(pb.start());
54
output.shouldHaveExitValue(0);
55
}
56
57
{
58
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
59
"-XX:+UseShenandoahGC",
60
"-Xms8m",
61
"-Xmx1g",
62
"-version");
63
OutputAnalyzer output = new OutputAnalyzer(pb.start());
64
output.shouldHaveExitValue(0);
65
}
66
67
{
68
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
69
"-XX:+UseShenandoahGC",
70
"-Xms100m",
71
"-Xmx1g",
72
"-XX:ShenandoahRegionSize=200m",
73
"-version");
74
OutputAnalyzer output = new OutputAnalyzer(pb.start());
75
output.shouldMatch("Invalid -XX:ShenandoahRegionSize option");
76
output.shouldHaveExitValue(1);
77
}
78
79
{
80
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
81
"-XX:+UseShenandoahGC",
82
"-Xms100m",
83
"-Xmx1g",
84
"-XX:ShenandoahRegionSize=9m",
85
"-version");
86
OutputAnalyzer output = new OutputAnalyzer(pb.start());
87
output.shouldHaveExitValue(0);
88
}
89
90
{
91
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
92
"-XX:+UseShenandoahGC",
93
"-Xms100m",
94
"-Xmx1g",
95
"-XX:ShenandoahRegionSize=255K",
96
"-version");
97
OutputAnalyzer output = new OutputAnalyzer(pb.start());
98
output.shouldMatch("Invalid -XX:ShenandoahRegionSize option");
99
output.shouldHaveExitValue(1);
100
}
101
102
{
103
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
104
"-XX:+UseShenandoahGC",
105
"-Xms100m",
106
"-Xmx1g",
107
"-XX:ShenandoahRegionSize=260K",
108
"-version");
109
OutputAnalyzer output = new OutputAnalyzer(pb.start());
110
output.shouldHaveExitValue(0);
111
}
112
113
{
114
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
115
"-XX:+UseShenandoahGC",
116
"-Xms1g",
117
"-Xmx1g",
118
"-XX:ShenandoahRegionSize=32M",
119
"-version");
120
OutputAnalyzer output = new OutputAnalyzer(pb.start());
121
output.shouldHaveExitValue(0);
122
}
123
124
{
125
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
126
"-XX:+UseShenandoahGC",
127
"-Xms1g",
128
"-Xmx1g",
129
"-XX:ShenandoahRegionSize=64M",
130
"-version");
131
OutputAnalyzer output = new OutputAnalyzer(pb.start());
132
output.shouldMatch("Invalid -XX:ShenandoahRegionSize option");
133
output.shouldHaveExitValue(1);
134
}
135
136
{
137
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
138
"-XX:+UseShenandoahGC",
139
"-Xms1g",
140
"-Xmx1g",
141
"-XX:ShenandoahRegionSize=256K",
142
"-version");
143
OutputAnalyzer output = new OutputAnalyzer(pb.start());
144
output.shouldHaveExitValue(0);
145
}
146
147
{
148
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
149
"-XX:+UseShenandoahGC",
150
"-Xms1g",
151
"-Xmx1g",
152
"-XX:ShenandoahRegionSize=128K",
153
"-version");
154
OutputAnalyzer output = new OutputAnalyzer(pb.start());
155
output.shouldMatch("Invalid -XX:ShenandoahRegionSize option");
156
output.shouldHaveExitValue(1);
157
}
158
}
159
160
private static void testMinRegionSize() throws Exception {
161
162
{
163
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
164
"-XX:+UseShenandoahGC",
165
"-Xms100m",
166
"-Xmx1g",
167
"-XX:ShenandoahMinRegionSize=255K",
168
"-version");
169
OutputAnalyzer output = new OutputAnalyzer(pb.start());
170
output.shouldMatch("Invalid -XX:ShenandoahMinRegionSize option");
171
output.shouldHaveExitValue(1);
172
}
173
174
{
175
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
176
"-XX:+UseShenandoahGC",
177
"-Xms100m",
178
"-Xmx1g",
179
"-XX:ShenandoahMinRegionSize=1M",
180
"-XX:ShenandoahMaxRegionSize=260K",
181
"-version");
182
OutputAnalyzer output = new OutputAnalyzer(pb.start());
183
output.shouldMatch("Invalid -XX:ShenandoahMinRegionSize or -XX:ShenandoahMaxRegionSize");
184
output.shouldHaveExitValue(1);
185
}
186
{
187
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
188
"-XX:+UseShenandoahGC",
189
"-Xms100m",
190
"-Xmx1g",
191
"-XX:ShenandoahMinRegionSize=200m",
192
"-version");
193
OutputAnalyzer output = new OutputAnalyzer(pb.start());
194
output.shouldMatch("Invalid -XX:ShenandoahMinRegionSize option");
195
output.shouldHaveExitValue(1);
196
}
197
198
{
199
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
200
"-XX:+UseShenandoahGC",
201
"-Xms100m",
202
"-Xmx1g",
203
"-XX:ShenandoahMinRegionSize=9m",
204
"-version");
205
OutputAnalyzer output = new OutputAnalyzer(pb.start());
206
output.shouldHaveExitValue(0);
207
}
208
209
}
210
211
private static void testMaxRegionSize() throws Exception {
212
213
{
214
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
215
"-XX:+UseShenandoahGC",
216
"-Xms100m",
217
"-Xmx1g",
218
"-XX:ShenandoahMaxRegionSize=255K",
219
"-version");
220
OutputAnalyzer output = new OutputAnalyzer(pb.start());
221
output.shouldMatch("Invalid -XX:ShenandoahMaxRegionSize option");
222
output.shouldHaveExitValue(1);
223
}
224
225
{
226
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockExperimentalVMOptions",
227
"-XX:+UseShenandoahGC",
228
"-Xms100m",
229
"-Xmx1g",
230
"-XX:ShenandoahMinRegionSize=1M",
231
"-XX:ShenandoahMaxRegionSize=260K",
232
"-version");
233
OutputAnalyzer output = new OutputAnalyzer(pb.start());
234
output.shouldMatch("Invalid -XX:ShenandoahMinRegionSize or -XX:ShenandoahMaxRegionSize");
235
output.shouldHaveExitValue(1);
236
}
237
}
238
}
239
240