Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/test/functional/cmdLineTests/shareClassTests/SCCMLTests/ShareClassesCMLTests-6.xml
6004 views
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
3
<!--
4
Copyright (c) 2012, 2021 IBM Corp. and others
5
6
This program and the accompanying materials are made available under
7
the terms of the Eclipse Public License 2.0 which accompanies this
8
distribution and is available at https://www.eclipse.org/legal/epl-2.0/
9
or the Apache License, Version 2.0 which accompanies this distribution and
10
is available at https://www.apache.org/licenses/LICENSE-2.0.
11
12
This Source Code may also be made available under the following
13
Secondary Licenses when the conditions for such availability set
14
forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
15
General Public License, version 2 with the GNU Classpath
16
Exception [1] and GNU General Public License, version 2 with the
17
OpenJDK Assembly Exception [2].
18
19
[1] https://www.gnu.org/software/classpath/license.html
20
[2] http://openjdk.java.net/legal/assembly-exception.html
21
22
SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
23
-->
24
25
<!DOCTYPE suite SYSTEM "cmdlinetester.dtd">
26
27
<!-- Test 200-a to Test 208 cleanup: 89 tests -->
28
29
<suite id="Shared Classes CommandLineOptionTests Suite">
30
31
<!-- Our test modes for this suite -->
32
<variable name="mode204" value="-Xshareclasses:name=ShareClassesCMLTests"/>
33
34
<!-- Set variables up -->
35
<variable name="CACHE_DIR" value="cacheDir=."/>
36
37
<variable name="BOOTCLASSPATH" value="-Xbootclasspath/a:.$PATHSEP$Utils$CPDL$."/>
38
<variable name="currentMode" value="$mode204$"/>
39
<variable name="XXShareClassesEnableBCI" value="-XX:ShareClassesEnableBCI"/>
40
<variable name="XXShareClassesDisableBCI" value="-XX:ShareClassesDisableBCI"/>
41
42
<variable name="CP_HANOI" value="-cp $UTILSDIR$$PATHSEP$utils.jar" />
43
<variable name="PROGRAM_HANOI" value="org.openj9.test.ivj.Hanoi 2" />
44
<variable name="PROGRAM_HANOI_2" value="org.openj9.test.ivj.Hanoi 3" />
45
46
<variable name="CP_FIB" value="-cp $UTILSDIR$$PATHSEP$utilsBK.jar" />
47
<variable name="PROGRAM_FIB" value="VMBench/FibBench" />
48
49
<variable name="NON_WINDOWS_PLATFORMS" value="aix.*,linux.*,zos.*,osx.*" />
50
<variable name="WINDOWS_PLATFORMS" value="win.*" />
51
52
<variable name="EXTRA_OPT_FOR_MPROTECT_NONE" value=" " />
53
<!-- memory protection is across processes on zos_390-31. If the cache is not created with -Xshareclasses:mprotect=none,
54
it cannot be reused with -Xshareclasses:mprotect=none. Any update to it may lead to segmentation fault. Disable update
55
using -Xaot:disableSharedCacheHints.
56
-->
57
<variable name="EXTRA_OPT_FOR_MPROTECT_NONE" value="-Xaot:disableSharedCacheHints" platforms="zos_390-31.*" />
58
59
<if testVariable="SCMODE" testValue="204" resultVariable="currentMode" resultValue="$mode204$"/>
60
61
<echo value=" "/>
62
<echo value="#######################################################"/>
63
<echo value="Running tests in mode $SCMODE$ with command line options: $currentMode$"/>
64
<echo value="#######################################################"/>
65
<echo value=" "/>
66
67
<!--
68
Note:
69
Most tests check for strings 'corrupt', 'JVM requested Java dump', and 'JVM requested Snap dump' in the output.
70
These checks are present because a cache may be found to be corrupt, and the test could otherwise pass.
71
72
The string 'corrupt' is checked because it can appear several messages like below.
73
JVMSHRC443E Cache CRC is incorrect indicating a corrupt cache. Incorrect cache CRC: 0x0.
74
JVMDUMP013I Processed dump event "corruptcache", detail "".
75
JVMSHRC442E Shared cache "jim" is corrupt. Corruption code is -1. Corrupt value is 0x0. No new JVMs will be allowed to connect to the cache.
76
-->
77
78
<test id="Start : Cleanup: persistent" timeout="600" runPath=".">
79
<command>$JAVA_EXE$ $currentMode$,destroy</command>
80
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
81
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
82
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
83
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
84
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
85
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
86
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
87
</test>
88
89
<test id="Test 200-a: CMVC 197811: Create a full shared cache" timeout="600" runPath=".">
90
<command>$JAVA_EXE$ $currentMode$ -Xscmx1M $CP_HANOI$ $PROGRAM_HANOI$</command>
91
<output type="success" caseSensitive="yes" regex="no">Puzzle solved!</output>
92
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
93
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
94
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
95
</test>
96
97
<!-- On windows, full cache has J9SHR_MIN_GAP_BEFORE_METADATA (=1024) free bytes, on other platforms free bytes should be 0 -->
98
<test id="Test 200-b: CMVC 197811: Make sure cache created in previous test is full" timeout="600" runPath=".">
99
<command>$JAVA_EXE$ $currentMode$,printStats</command>
100
<output type="success" caseSensitive="yes" showMatch="yes" platforms="$NON_WINDOWS_PLATFORMS$">Cache is 100% full</output>
101
<output type="success" caseSensitive="yes" showMatch="yes" platforms="$WINDOWS_PLATFORMS$">Cache is 99% full</output>
102
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
103
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
104
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
105
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
106
</test>
107
108
<test id="Test 200-c: CMVC 197811: Attach to full cache in readonly mode" timeout="600" runPath=".">
109
<command>$JAVA_EXE$ $currentMode$,readonly $CP_HANOI$ $PROGRAM_HANOI$</command>
110
<output type="success" caseSensitive="yes" regex="no">Puzzle solved!</output>
111
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
112
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
113
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
114
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
115
</test>
116
117
<test id="Test 200-d: CMVC 197811: Cleanup" timeout="600" runPath=".">
118
<command>$JAVA_EXE$ $currentMode$,destroy</command>
119
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
120
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
121
<output type="failure" caseSensitive="yes" regex="no">Cache does not exist</output>
122
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
123
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
124
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
125
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
126
</test>
127
128
<!-- Tests 201 a-d verify shared cache is BCI disabled when only 'cacheRetransformed' is specified -->
129
130
<test id="Test 201-a Verify shared cache is BCI disabled when 'cacheRetransformed' is specified" timeout="600" runPath=".">
131
<command>$JAVA_EXE$ $currentMode$,reset,cacheRetransformed -version</command>
132
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
133
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
134
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
135
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
136
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
137
</test>
138
139
<test id="Test 201-b Verify BCI enabled is false in printstats" timeout="600" runPath=".">
140
<command>$JAVA_EXE$ $currentMode$,printStats</command>
141
<output type="success" caseSensitive="yes" regex="no">Current statistics for cache</output>
142
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= false</output>
143
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
144
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
145
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
146
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
147
</test>
148
149
<test id="Test 201-c Destroy previously created cache" timeout="600" runPath=".">
150
<command>$JAVA_EXE$ $currentMode$,destroy</command>
151
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
152
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
153
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
154
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
155
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
156
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
157
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
158
</test>
159
160
<test id="Test 201-d Verify a verbose message is displayed when 'cacheRetransformed' causes 'disableBCI'" timeout="600" runPath=".">
161
<command>$JAVA_EXE$ $currentMode$,reset,cacheRetransformed,verbose -version</command>
162
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
163
<output type="required" caseSensitive="yes" regex="no">Cache creation with the cacheRetransformed option forces disableBCI mode</output>
164
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
165
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
166
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
167
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
168
</test>
169
170
<!-- Tests 202a-d Verify behavior of -XX:ShareClassesDisableBCI and -XX:ShareClassesEnableBCI when used together -->
171
172
<test id="Test 202-a: Test -XX:ShareClassesDisableBCI followed by -XX:ShareClassesEnableBCI" timeout="600" runPath=".">
173
<command>$JAVA_EXE$ $currentMode$,reset $XXShareClassesDisableBCI$ $XXShareClassesEnableBCI$ -version</command>
174
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
175
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
176
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
177
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
178
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
179
</test>
180
181
<test id="Test 202-b: Ensure BCI Enabled is true in printStats output" timeout="600" runPath=".">
182
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
183
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= true</output>
184
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
185
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
186
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
187
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
188
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
189
</test>
190
191
<test id="Test 202-c: Test -XX:ShareClassesEnableBCI followed by -XX:ShareClassesDisableBCI" timeout="600" runPath=".">
192
<command>$JAVA_EXE$ $currentMode$,reset $XXShareClassesEnableBCI$ $XXShareClassesDisableBCI$ -version</command>
193
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
194
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
195
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
196
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
197
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
198
</test>
199
200
<test id="Test 202-d: Ensure BCI Enabled is false in printStats output" timeout="600" runPath=".">
201
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
202
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= false</output>
203
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
204
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
205
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
206
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
207
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
208
</test>
209
210
<!-- Test 203a-k Verify behavior of -XX:ShareClassesDisableBCI with other -Xshareclasses sub-options -->
211
212
<test id="Test 203-a: Test -Xshareclasses followed by -XX:ShareClassesDisableBCI" timeout="600" runPath=".">
213
<command>$JAVA_EXE$ $currentMode$,reset $XXShareClassesDisableBCI$ -version</command>
214
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
215
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
216
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
217
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
218
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
219
</test>
220
221
<test id="Test 203-b: Ensure BCI Enabled is false in printStats output" timeout="600" runPath=".">
222
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
223
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= false</output>
224
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
225
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
226
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
227
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
228
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
229
</test>
230
231
<test id="Test 203-c: Test -XX:ShareClassesDisableBCI followed by -Xshareclasses" timeout="600" runPath=".">
232
<command>$JAVA_EXE$ $XXShareClassesDisableBCI$ $currentMode$,reset -version</command>
233
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
234
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
235
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
236
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
237
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
238
</test>
239
240
<test id="Test 203-d: Ensure BCI Enabled is false in printStats output" timeout="600" runPath=".">
241
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
242
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= false</output>
243
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
244
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
245
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
246
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
247
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
248
</test>
249
250
<test id="Test 203-e: Destroy any existing cache" timeout="600" runPath=".">
251
<command>$JAVA_EXE$ $currentMode$,destroy</command>
252
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
253
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
254
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
255
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
256
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
257
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
258
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
259
</test>
260
261
<test id="Test 203-f: Try to use -XX:ShareClassesDisableBCI after -Xshareclasses:none to create a cache" timeout="600" runPath=".">
262
<command>$JAVA_EXE$ $currentMode$,none $XXShareClassesDisableBCI$ -version</command>
263
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
264
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
265
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
266
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
267
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
268
</test>
269
270
<test id="Test 203-g: Verify that cache is not created by previous test" timeout="600" runPath=".">
271
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
272
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
273
<output type="failure" caseSensitive="no" regex="no">Current statistics</output>
274
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
275
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
276
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
277
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
278
</test>
279
280
<test id="Test 203-h: Try to use -XX:ShareClassesDisableBCI before -Xshareclasses:none to create a cache" timeout="600" runPath=".">
281
<command>$JAVA_EXE$ $XXShareClassesDisableBCI$ $currentMode$,none -version</command>
282
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
283
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
284
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
285
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
286
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
287
</test>
288
289
<test id="Test 203-i: Verify that cache is not created by previous test" timeout="600" runPath=".">
290
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
291
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
292
<output type="failure" caseSensitive="no" regex="no">Current statistics</output>
293
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
294
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
295
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
296
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
297
</test>
298
299
<test id="Test 203-j: Try to use -XX:ShareClassesDisableBCI without -Xshareclasses to create a cache" timeout="600" runPath=".">
300
<command>$JAVA_EXE$ $XXShareClassesEnableBCI$ -version</command>
301
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
302
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
303
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
304
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
305
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
306
</test>
307
308
<test id="Test 203-k: Verify that cache is not created by previous test" timeout="600" runPath=".">
309
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
310
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
311
<output type="failure" caseSensitive="no" regex="no">Current statistics</output>
312
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
313
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
314
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
315
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
316
</test>
317
318
<!-- Tests 204a-p test the behavior of '-XX:ShareClassesDisableBCI' on an existing cache that supports BCI -->
319
320
<test id="Test 204-a: Create a cache with BCI support" timeout="600" runPath=".">
321
<command>$JAVA_EXE$ $currentMode$,enableBCI,reset -version</command>
322
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
323
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
324
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
325
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
326
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
327
</test>
328
329
<test id="Test 204-b: Ensure cache created with enableBCI option is not usable with -XX:ShareClassesDisableBCI option" timeout="600" runPath=".">
330
<command>$JAVA_EXE$ $currentMode$ $XXShareClassesDisableBCI$ -version</command>
331
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Initialization error for library j9shr*</output>
332
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
333
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
334
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
335
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
336
</test>
337
338
<test id="Test 204-c: Verify that using '-XX:ShareClassesDisableBCI' with 'nonfatal' sub-option on an existing BCI enabled cache does not abort JVM" timeout="600" runPath=".">
339
<command>$JAVA_EXE$ $XXShareClassesDisableBCI$ $currentMode$,nonfatal,verboseIO -version</command>
340
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
341
<output type="failure" caseSensitive="yes" regex="no">Found class</output>
342
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
343
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
344
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
345
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
346
</test>
347
348
<test id="Test 204-d: Run 'printStats' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' option specified before it" timeout="600" runPath=".">
349
<command>$JAVA_EXE$ $XXShareClassesDisableBCI$ $currentMode$,printStats -version</command>
350
<output type="success" caseSensitive="yes" regex="no">Current statistics for cache</output>
351
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= true</output>
352
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
353
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
354
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
355
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
356
</test>
357
358
<test id="Test 204-e: Run 'printStats' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' option specified after it" timeout="600" runPath=".">
359
<command>$JAVA_EXE$ $currentMode$,printStats $XXShareClassesDisableBCI$ -version</command>
360
<output type="success" caseSensitive="yes" regex="no">Current statistics for cache</output>
361
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= true</output>
362
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
363
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
364
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
365
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
366
</test>
367
368
<test id="Test 204-f: Run 'listAllCaches' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' option specified before it" timeout="600" runPath=".">
369
<command>$JAVA_EXE$ $XXShareClassesDisableBCI$ $currentMode$,listAllCaches -version</command>
370
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes" showMatch="yes">Cache[\s]*name[\s]*level[\s]*(persistent|cache-type)(.)*last detach time</output>
371
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes" showMatch="yes">ShareClassesCMLTests[\s]*Java(.)*(yes|persistent)</output>
372
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
373
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
374
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
375
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
376
</test>
377
378
<test id="Test 204-g: Run 'listAllCaches' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' sub-option specified after it" timeout="600" runPath=".">
379
<command>$JAVA_EXE$ $currentMode$,listAllCaches $XXShareClassesDisableBCI$ -version</command>
380
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes" showMatch="yes">Cache[\s]*name[\s]*level[\s]*(persistent|cache-type)(.)*last detach time</output>
381
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes" showMatch="yes">ShareClassesCMLTests[\s]*Java(.)*(yes|persistent)</output>
382
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
383
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
384
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
385
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
386
</test>
387
388
<test id="Test 204-h: Run 'destroy' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' option specified before it" timeout="600" runPath=".">
389
<command>$JAVA_EXE$ $XXShareClassesDisableBCI$ $currentMode$,destroy</command>
390
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
391
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
392
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
393
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
394
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
395
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
396
</test>
397
398
<test id="Test 204-i: Create a cache with BCI support" timeout="600" runPath=".">
399
<command>$JAVA_EXE$ $currentMode$,enableBCI,reset -version</command>
400
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
401
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
402
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
403
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
404
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
405
</test>
406
407
<test id="Test 204-j: Run 'destroy' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' option specified after it" timeout="600" runPath=".">
408
<command>$JAVA_EXE$ $currentMode$,destroy $XXShareClassesDisableBCI$</command>
409
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
410
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
411
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
412
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
413
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
414
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
415
</test>
416
417
<test id="Test 204-k: Create a cache with BCI support" timeout="600" runPath=".">
418
<command>$JAVA_EXE$ $currentMode$,enableBCI,reset -version</command>
419
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
420
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
421
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
422
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
423
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
424
</test>
425
426
<test id="Test 204-l: Run 'reset' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' option specified before it" timeout="600" runPath=".">
427
<command>$JAVA_EXE$ $XXShareClassesDisableBCI$ $currentMode$,reset -version</command>
428
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
429
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
430
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
431
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
432
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
433
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
434
</test>
435
436
<test id="Test 204-m: Verify BCI enabled is false in printStats output" timeout="600" runPath=".">
437
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
438
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= false</output>
439
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
440
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
441
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
442
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
443
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
444
</test>
445
446
<test id="Test 204-n: Create a cache with BCI support" timeout="600" runPath=".">
447
<command>$JAVA_EXE$ $currentMode$,enableBCI,reset -version</command>
448
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
449
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
450
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
451
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
452
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
453
</test>
454
455
<test id="Test 204-o: Run 'reset' on an existing BCI enabled cache with '-XX:ShareClassesDisableBCI' option specified after it" timeout="600" runPath=".">
456
<command>$JAVA_EXE$ $currentMode$,reset $XXShareClassesDisableBCI$ -version</command>
457
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
458
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
459
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
460
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
461
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
462
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
463
</test>
464
465
<test id="Test 204-p: Verify BCI Enabled is false in printStats output" timeout="600" runPath=".">
466
<command>$JAVA_EXE$ $currentMode$,printStats -version</command>
467
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">BCI Enabled[\s]*= false</output>
468
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
469
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
470
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
471
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
472
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
473
</test>
474
475
<!-- Tests 205a-m test -Xshareclasses:restrictClasspaths and -Xshareclasses:allowClasspaths options
476
added under WI Jazz103 "76572: Design : Add shared cache option to control if JVM can store classpaths into the cache"
477
-->
478
<test id="Test 205-a: Create a new cache with -Xshareclasses:restrictClasspaths option. Also generate a javacore to be used in later tests." timeout="600" runPath=".">
479
<command>$JAVA_EXE$ $currentMode$,restrictClasspaths,reset,verbose -Xdump:java:events=vmstop,file=javacore.txt -version</command>
480
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
481
<output type="required" caseSesitive="yes" regex="no">JVM has created shared cache with '-Xshareclasses:restrictClasspaths' option</output>
482
<output type="required" caseSensitive="yes" regex="no">Processed dump event</output>
483
<output type="required" caseSensitive="yes" regex="no">javacore.txt</output>
484
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
485
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
486
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
487
</test>
488
489
<test id="Test 205-b: Verify 'Restrict Classpaths = true' and # classpath = 1 (i.e. bootclasspath) in printStats output" timeout="600" runPath=".">
490
<command>$JAVA_EXE$ $currentMode$,printStats</command>
491
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Restrict Classpaths[\s]*= true</output>
492
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Classpaths[\s]*= 1</output>
493
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
494
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
495
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
496
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
497
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
498
</test>
499
500
<test id="Test 205-c: Ensure 'Restrict Classpaths = true' and # classpaths is 1 in javacore" timeout="600" runPath=".">
501
<command>cat javacore.txt</command>
502
<output type="success" caseSensitive="no" regex="no">SHARED CLASSES subcomponent</output>
503
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Restrict Classpaths[\s]*= true</output>
504
</test>
505
506
<exec command="rm -f javacore.txt" quiet="false"/>
507
508
<test id="Test 205-d: Using existing cache run an application which uses a classpath not present in the cache. Verify the trace point prohibiting addition of classpath is triggered." timeout="600" runPath=".">
509
<command>$JAVA_EXE$ $currentMode$,verbose -Xtrace:print={j9shr.2097} $CP_HANOI$ $PROGRAM_HANOI$</command>
510
<output type="success" caseSensitive="yes" regex="no">Puzzle solved!</output>
511
<output type="required" caseSensitive="yes" regex="no">JVM cannot store classpaths into the shared cache</output>
512
<output type="required" caseSensitive="yes" regex="no">JVM is not allowed to store classpaths to the cache</output>
513
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
514
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
515
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
516
</test>
517
518
<test id="Test 205-e: Verify the class loaded from the classpath in previous test is present in cache as ORPHAN only and the classpath is not stored in the cache." timeout="600" runPath=".">
519
<command>$JAVA_EXE$ $currentMode$,printAllStats=orphan+romclass</command>
520
<output type="success" caseSensitive="yes" regex="no">ORPHAN: org/openj9/test/ivj/Hanoi</output>
521
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Restrict Classpaths[\s]*= true</output>
522
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Classpaths[\s]*= 1</output>
523
<output type="failure" caseSensitive="yes" regex="no">ROMCLASS: org/openj9/test/ivj/Hanoi</output>
524
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes" platforms="$NON_WINDOWS_PLATFORMS$">utils/utils.jar</output>
525
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes" platforms="$WINDOWS_PLATFORMS$">utils\\utils.jar</output>
526
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
527
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
528
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
529
</test>
530
531
<test id="Test 205-f: Using existing cache run same application as before but with -Xshareclasses:allowClasspaths option. Verify the trace point prohibiting addition of classpath is not triggered." timeout="600" runPath=".">
532
<command>$JAVA_EXE$ $currentMode$,allowClasspaths,verbose -Xtrace:print={j9shr.2097} $CP_HANOI$ $PROGRAM_HANOI$</command>
533
<output type="success" caseSensitive="yes" regex="no">Puzzle solved!</output>
534
<output type="required" caseSensitive="yes" regex="no">JVM can store classpaths into the shared cache</output>
535
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPatter="yes">j9shr.2097[\s]*.*JVM is not allowed to store classpaths to the cache</output>
536
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
537
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
538
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
539
</test>
540
541
<test id="Test 205-g: Verify the class loaded from the classpath in previous test is now present in cache as ROMCLASS and the classpath exists in the cache" timeout="600" runPath=".">
542
<command>$JAVA_EXE$ $currentMode$,printAllStats=romclass+classpath</command>
543
<output type="success" caseSensitive="yes" regex="no">ROMCLASS: org/openj9/test/ivj/Hanoi</output>
544
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes" platforms="$NON_WINDOWS_PLATFORMS$">utils/utils.jar</output>
545
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes" platforms="$WINDOWS_PLATFORMS$">utils\\utils.jar</output>
546
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Restrict Classpaths[\s]*= true</output>
547
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Classpaths[\s]*= 2</output>
548
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
549
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
550
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
551
</test>
552
553
<test id="Test 205-h: Using existing cache run another application without -Xshareclasses:allowClasspaths option. Verify the trace point prohibiting addition of classpath is triggered." timeout="600" runPath=".">
554
<exec command="cp $UTILSDIR$$PATHSEP$utils.jar $UTILSDIR$$PATHSEP$utilsBK.jar"/>
555
<command>$JAVA_EXE$ $currentMode$,verbose -Xtrace:print={j9shr.2097} $CP_FIB$ $PROGRAM_FIB$</command>
556
<output type="success" caseSenditive="no" regex="no">Fibonacci: iterations</output>
557
<output type="required" caseSensitive="yes" regex="no">JVM cannot store classpaths into the shared cache</output>
558
<output type="required" caseSensitive="yes" regex="no">JVM is not allowed to store classpaths to the cache</output>
559
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
560
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
561
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
562
</test>
563
564
<test id="Test 205-i: Verify the class loaded from the classpath in previous test is present in cache as ORPHAN and the classpath does not exist in the cache" timeout="600" runPath=".">
565
<command>$JAVA_EXE$ $currentMode$,printAllStats=orphan+romclass+classpath</command>
566
<output type="success" caseSensitive="yes" regex="no">ORPHAN: VMBench/FibBench</output>
567
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Restrict Classpaths[\s]*= true</output>
568
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Classpaths[\s]*= 2</output>
569
<output type="failure" caseSensitive="yes" regex="no">ROMCLASS: VMBench/FibBench</output>
570
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes">utilsBK.jar</output>
571
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
572
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
573
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
574
</test>
575
576
<test id="Test 205-j: Create a new shared cache without -Xshareclasses:restrictClasspaths option" timeout="600" runPath=".">
577
<command>$JAVA_EXE$ $currentMode$,reset,verbose -version</command>
578
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
579
<output type="failure" caseSesitive="yes" regex="no">created shared cache with '-Xshareclasses:restrictClasspaths' option</output>
580
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
581
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
582
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
583
</test>
584
585
<test id="Test 205-k: Re-use shared cache created in previous test with -Xshareclasses:restrictClasspaths option. Also generate a javacore to be used in subsequent test." timeout="600" runPath=".">
586
<command>$JAVA_EXE$ $currentMode$,restrictClasspaths,verbose -Xdump:java:events=vmstop,file=javacore.txt -version</command>
587
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
588
<output type="required" caseSesitive="yes" regex="no">JVM has ignored '-Xshareclasses:restrictClasspaths' option</output>
589
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
590
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
591
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
592
</test>
593
594
<test id="Test 205-l: Verify 'Restrict Classpaths = false' in printStats output" timeout="600" runPath=".">
595
<command>$JAVA_EXE$ $currentMode$,printStats</command>
596
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Restrict Classpaths[\s]*= false</output>
597
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
598
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
599
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
600
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
601
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
602
</test>
603
604
<test id="Test 205-m: Ensure 'Restrict Classpaths = false' in javacore" timeout="600" runPath=".">
605
<command>cat javacore.txt</command>
606
<output type="success" caseSensitive="no" regex="no">SHARED CLASSES subcomponent</output>
607
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Restrict Classpaths[\s]*= false</output>
608
</test>
609
610
<exec command="rm -f javacore.txt" quiet="false"/>
611
612
<!-- Tests 206a-aa test -Xshareclasses:mprotect=[onfind|partialpagesonstartup|partialpages|def|nopartialpages] options.
613
added under WI Jazz103 "95085: Ensure last partially filled pages in shared cache are kept write protected"
614
Note that these tests are not run on 64-bit z/OS as memory protection is always disabled on this platform. See VM_Test/VM/shareClasses/exclude.xml.
615
-->
616
<test id="Test 206-a: Create a new cache with -Xshareclasses:mprotect=default option." timeout="600" runPath=".">
617
<command>$JAVA_EXE$ $currentMode$,mprotect=default,verbose,reset -version</command>
618
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
619
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
620
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
621
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
622
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
623
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
624
</test>
625
626
<test id="Test 206-b: Reuse the cache with -Xshareclasses:mprotect=onfind option." timeout="600" runPath=".">
627
<command>$JAVA_EXE$ $currentMode$,mprotect=onfind,verbose -version</command>
628
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
629
<!-- On linux and windows verify cache is being used with partial page protection enabled. -->
630
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
631
<!-- On z/OS and AIX verify partial page protection is not enabled. -->
632
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">The JVM has disabled protecting partially filled pages. If '-Xshareclasses:mprotect=onfind' is specified, it is also ignored.</output>
633
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
634
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
635
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
636
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
637
</test>
638
639
<test id="Test 206-c: Reuse the cache with -Xshareclasses:mprotect=partialpagesonstartup option." timeout="600" runPath=".">
640
<command>$JAVA_EXE$ $currentMode$,mprotect=partialpagesonstartup,verbose -version</command>
641
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
642
<!-- On linux and windows verify cache is used with partial page protection not enabled on startup -->
643
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
644
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">The JVM has not enabled protecting shared cache partially filled pages on startup</output>
645
<!-- On z/OS and AIX verify partial page protection is not enabled. -->
646
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">The JVM has disabled protecting partially filled pages. If '-Xshareclasses:mprotect=onfind' is specified, it is also ignored</output>
647
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
648
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
649
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
650
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
651
</test>
652
653
<test id="Test 206-d: Reuse the cache with -Xshareclasses:mprotect=partialpages option." timeout="600" runPath=".">
654
<command>$JAVA_EXE$ $currentMode$,mprotect=partialpages,verbose -version</command>
655
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
656
<!-- On linux and windows verify cache is being used with partial page protection enabled. -->
657
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
658
<!-- On z/OS and AIX verify partial page protection is not enabled. -->
659
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">The JVM has disabled protecting partially filled pages. If '-Xshareclasses:mprotect=onfind' is specified, it is also ignored</output>
660
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
661
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
662
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
663
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
664
</test>
665
666
<test id="Test 206-e: Reuse the cache without any -Xshareclasses:mprotect=<> option." timeout="600" runPath=".">
667
<command>$JAVA_EXE$ $currentMode$,verbose -version</command>
668
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
669
<!-- On linux and windows verify cache is being used with partial page protection enabled. -->
670
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
671
<!-- On z/OS and AIX verify partial page protection is not enabled. -->
672
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
673
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
674
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
675
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
676
</test>
677
678
<test id="Test 206-f: Reuse the cache with -Xshareclasses:mprotect=nopartialpages option." timeout="600" runPath=".">
679
<command>$JAVA_EXE$ $currentMode$,mprotect=nopartialpages,verbose -version</command>
680
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
681
<!-- On linux and windows verify cache is being used with partial page protection enabled. -->
682
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
683
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
684
<!-- On z/OS and AIX verify partial page protection is not enabled. -->
685
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
686
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
687
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
688
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
689
</test>
690
691
<test id="Test 206-g: Reuse the cache with -Xshareclasses:mprotect=none option." timeout="600" runPath=".">
692
<command>$JAVA_EXE$ $currentMode$,mprotect=none,verbose $EXTRA_OPT_FOR_MPROTECT_NONE$ -version</command>
693
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
694
<!-- On linux and windows verify cache is being used with partial page protection enabled. -->
695
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
696
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
697
<!-- On z/OS and AIX verify memory protection is disabled. -->
698
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection disabled for cache</output>
699
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
700
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
701
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
702
</test>
703
704
<test id="Test 206-h: Create a new cache with -Xshareclasses:mprotect=partialpagesonstartup option." timeout="600" runPath=".">
705
<command>$JAVA_EXE$ $currentMode$,mprotect=partialpagesonstartup,verbose,reset -version</command>
706
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
707
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
708
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
709
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
710
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
711
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
712
</test>
713
714
<test id="Test 206-i: Reuse the cache with -Xshareclasses:mprotect=onfind option." timeout="600" runPath=".">
715
<command>$JAVA_EXE$ $currentMode$,mprotect=onfind,verbose -version</command>
716
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
717
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection on startup as the existing shared cache was created with partial page protection enabled on startup</output>
718
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
719
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
720
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
721
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
722
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
723
</test>
724
725
<test id="Test 206-j: Reuse the cache with -Xshareclasses:mprotect=default option." timeout="600" runPath=".">
726
<command>$JAVA_EXE$ $currentMode$,mprotect=default,verbose -version</command>
727
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
728
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection on startup as the existing shared cache was created with partial page protection enabled on startup</output>
729
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
730
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
731
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
732
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
733
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
734
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
735
</test>
736
737
<test id="Test 206-k: Reuse the cache without any -Xshareclasses:mprotect=<> option." timeout="600" runPath=".">
738
<command>$JAVA_EXE$ $currentMode$,verbose -version</command>
739
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
740
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection on startup as the existing shared cache was created with partial page protection enabled on startup</output>
741
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
742
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
743
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
744
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
745
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
746
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
747
</test>
748
749
<test id="Test 206-l: Reuse the cache with -Xshareclasses:mprotect=nopartialpages option." timeout="600" runPath=".">
750
<command>$JAVA_EXE$ $currentMode$,mprotect=nopartialpages,verbose -version</command>
751
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
752
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection on startup as the existing shared cache was created with partial page protection enabled on startup</output>
753
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
754
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
755
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
756
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
757
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
758
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
759
</test>
760
761
<test id="Test 206-m: Reuse the cache with -Xshareclasses:mprotect=none option." timeout="600" runPath=".">
762
<command>$JAVA_EXE$ $currentMode$,mprotect=none,verbose $EXTRA_OPT_FOR_MPROTECT_NONE$ -version</command>
763
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
764
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection on startup as the existing shared cache was created with partial page protection enabled on startup</output>
765
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
766
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
767
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
768
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
769
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
770
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
771
</test>
772
773
<test id="Test 206-n: Create a new cache with -Xshareclasses:mprotect=partialpages option." timeout="600" runPath=".">
774
<command>$JAVA_EXE$ $currentMode$,mprotect=partialpages,verbose,reset -version</command>
775
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
776
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
777
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
778
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
779
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
780
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
781
</test>
782
783
<test id="Test 206-o: Reuse the cache with -Xshareclasses:mprotect=onfind option." timeout="600" runPath=".">
784
<command>$JAVA_EXE$ $currentMode$,mprotect=onfind,verbose -version</command>
785
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
786
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
787
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
788
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
789
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
790
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
791
</test>
792
793
<test id="Test 206-p: Reuse the cache with -Xshareclasses:mprotect=partialpagesonstartup option." timeout="600" runPath=".">
794
<command>$JAVA_EXE$ $currentMode$,mprotect=partialpagesonstartup,verbose -version</command>
795
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
796
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,linux.*,win.*">The JVM has not enabled protecting shared cache partially filled pages on startup</output>
797
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
798
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
799
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
800
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
801
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
802
</test>
803
804
<test id="Test 206-q: Reuse the cache with -Xshareclasses:mprotect=default option." timeout="600" runPath=".">
805
<command>$JAVA_EXE$ $currentMode$,mprotect=default,verbose -version</command>
806
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
807
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
808
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
809
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
810
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
811
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
812
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
813
</test>
814
815
<test id="Test 206-r: Reuse the cache without any -Xshareclasses:mprotect=<> option." timeout="600" runPath=".">
816
<command>$JAVA_EXE$ $currentMode$,verbose -version</command>
817
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
818
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
819
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
820
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
821
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
822
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
823
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
824
</test>
825
826
<test id="Test 206-s: Reuse the cache with -Xshareclasses:mprotect=nopartialpages option." timeout="600" runPath=".">
827
<command>$JAVA_EXE$ $currentMode$,mprotect=nopartialpages,verbose -version</command>
828
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
829
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
830
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
831
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
832
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
833
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
834
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
835
</test>
836
837
<test id="Test 206-t: Reuse the cache with -Xshareclasses:mprotect=none option." timeout="600" runPath=".">
838
<command>$JAVA_EXE$ $currentMode$,mprotect=none,verbose $EXTRA_OPT_FOR_MPROTECT_NONE$ -version</command>
839
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
840
<output type="required" caseSensitive="yes" regex="no">The JVM has enabled shared cache partial page protection as the existing shared cache was created with partial page protection enabled</output>
841
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data, string read-write data and partially filled pages is successfully enabled</output>
842
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data and partially filled pages is successfully enabled</output>
843
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
844
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
845
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
846
</test>
847
848
<test id="Test 206-u: Create a cache with -Xshareclasses:mprotect=nopartialpages option." timeout="600" runPath=".">
849
<command>$JAVA_EXE$ $currentMode$,mprotect=nopartialpages,verbose,reset -version</command>
850
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
851
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data and string read-write data is successfully enabled</output>
852
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
853
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
854
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
855
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
856
</test>
857
858
<test id="Test 206-v: Reuse the cache with -Xshareclasses:mprotect=onfind option and verify partial page protection is not enabled." timeout="600" runPath=".">
859
<command>$JAVA_EXE$ $currentMode$,mprotect=onfind,verbose -version</command>
860
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
861
<output type="required" caseSensitive="yes" regex="no">The JVM has disabled protecting partially filled pages. If '-Xshareclasses:mprotect=onfind' is specified, it is also ignored</output>
862
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data and string read-write data is successfully enabled</output>
863
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
864
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
865
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
866
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
867
</test>
868
869
<test id="Test 206-w: Reuse the cache with -Xshareclasses:mprotect=partialpagesonstartup option and verify partial page protection is not enabled." timeout="600" runPath=".">
870
<command>$JAVA_EXE$ $currentMode$,mprotect=partialpagesonstartup,verbose -version</command>
871
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
872
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">The JVM has disabled protecting partially filled pages</output>
873
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data and string read-write data is successfully enabled</output>
874
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
875
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
876
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
877
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
878
</test>
879
880
<test id="Test 206-x: Reuse the cache with -Xshareclasses:mprotect=partialpages option and verify partial page protection is not enabled." timeout="600" runPath=".">
881
<command>$JAVA_EXE$ $currentMode$,mprotect=partialpages,verbose -version</command>
882
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
883
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">The JVM has disabled protecting partially filled pages</output>
884
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data and string read-write data is successfully enabled</output>
885
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
886
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
887
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
888
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
889
</test>
890
891
<test id="Test 206-y: Reuse the cache with -Xshareclasses:mprotect=default option and verify partial page protection is not enabled." timeout="600" runPath=".">
892
<command>$JAVA_EXE$ $currentMode$,mprotect=default,verbose -version</command>
893
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
894
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">The JVM has disabled protecting partially filled pages</output>
895
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data and string read-write data is successfully enabled</output>
896
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
897
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
898
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
899
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
900
</test>
901
902
<test id="Test 206-z: Reuse the cache without any -Xshareclasses:mprotect=<> option and verify partial page protection is not enabled." timeout="600" runPath=".">
903
<command>$JAVA_EXE$ $currentMode$,verbose -version</command>
904
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
905
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">The JVM has disabled protecting partially filled pages</output>
906
<output type="required" caseSensitive="yes" regex="no" platforms="linux.*,win.*">Memory page protection on runtime data and string read-write data is successfully enabled</output>
907
<output type="required" caseSensitive="yes" regex="no" platforms="aix.*,zos.*">Memory page protection on runtime data is successfully enabled</output>
908
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
909
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
910
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
911
</test>
912
913
<test id="Test 206-aa: Reuse the cache with -Xshareclasses:mprotect=none option and verify that memory protection is disabled." timeout="600" runPath=".">
914
<command>$JAVA_EXE$ $currentMode$,mprotect=none,verbose $EXTRA_OPT_FOR_MPROTECT_NONE$ -version</command>
915
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
916
<output type="required" caseSensitive="yes" regex="no">Memory page protection disabled for cache</output>
917
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
918
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
919
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
920
</test>
921
922
<test id="Test 206: cleanup" timeout="600" runPath=".">
923
<command>$JAVA_EXE$ $currentMode$,destroy</command>
924
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
925
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
926
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
927
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
928
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
929
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
930
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
931
</test>
932
933
<test id="Test 207: Create a non-persistent cache" timeout="600" runPath=".">
934
<command>$JAVA_EXE$ -Xtrace:print=j9prt.700 $currentMode$,nonpersistent -version</command>
935
<output type="success" caseSensitive="no" regex="yes" javaUtilPattern="yes">(java|openjdk|semeru) version</output>
936
937
<!-- Check for non-fatal message in ControlFileOpenWithWriteLock() -->
938
<output type="failure" caseSensitive="no" regex="yes" javaUtilPattern="yes">j9prt.700.*ControlFileFDWithWriteLock\(Info:</output>
939
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
940
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
941
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
942
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
943
</test>
944
945
<test id="Test 207 cleanup: destroy non-persistent cache" timeout="600" runPath=".">
946
<command>$JAVA_EXE$ $currentMode$,nonpersistent,destroy</command>
947
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
948
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
949
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
950
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
951
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
952
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
953
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
954
</test>
955
956
<!-- Since running Hanoi with -Xjit option does not store the startup hint to the shared chache, we use -Xint here -->
957
<test id="Test 208-a: Create a new cache to test -Xshareclasses:printStats=startuphint" timeout="600" runPath=".">
958
<command>$JAVA_EXE$ $currentMode$ -Xint $CP_HANOI$ $PROGRAM_HANOI$</command>
959
<output type="success" caseSensitive="yes" regex="no">Puzzle solved!</output>
960
961
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
962
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
963
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
964
</test>
965
966
<test id="Test 208-b: Check whether -Xshareclasses:printStats=startuphint works properly" timeout="600" runPath=".">
967
<command>$JAVA_EXE$ $currentMode$,printStats=startuphint</command>
968
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">STARTUP HINTS KEY:</output>
969
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes"># Startup hints[\s]*= 1</output>
970
971
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Startup hint bytes[\s]*= 0</output>
972
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes"># Startup hints[\s]*= 0</output>
973
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
974
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
975
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
976
</test>
977
978
<!-- Since running Hanoi with -Xjit option does not store the startup hint to the shared chache, we use -Xint here -->
979
<test id="Test 208-c: Run the test again with a different argument" timeout="600" runPath=".">
980
<command>$JAVA_EXE$ $currentMode$ -Xint $CP_HANOI$ $PROGRAM_HANOI_2$</command>
981
<output type="success" caseSensitive="yes" regex="no">Puzzle solved!</output>
982
983
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
984
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
985
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
986
</test>
987
988
<test id="Test 208-d: Make sure -Xshareclasses:printStats=startuphint still works properly for another test" timeout="600" runPath=".">
989
<command>$JAVA_EXE$ $currentMode$,printStats=startuphint</command>
990
<output type="success" caseSensitive="yes" regex="yes" javaUtilPattern="yes">STARTUP HINTS KEY:</output>
991
<output type="required" caseSensitive="yes" regex="yes" javaUtilPattern="yes"># Startup hints[\s]*= 2</output>
992
993
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes">Startup hint bytes[\s]*= 0</output>
994
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes"># Startup hints[\s]*= 0</output>
995
<output type="failure" caseSensitive="yes" regex="yes" javaUtilPattern="yes"># Startup hints[\s]*= 1</output>
996
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
997
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
998
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
999
</test>
1000
1001
<test id="Test 208 cleanup" timeout="600" runPath=".">
1002
<command>$JAVA_EXE$ $currentMode$,destroy</command>
1003
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
1004
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
1005
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
1006
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
1007
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
1008
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
1009
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
1010
</test>
1011
1012
<test id="At end destroy cache for cleanup" timeout="600" runPath=".">
1013
<command>$JAVA_EXE$ $currentMode$,destroy</command>
1014
<output type="success" caseSensitive="yes" regex="no">Cache does not exist</output>
1015
<output type="success" caseSensitive="yes" regex="no">has been destroyed</output>
1016
<output type="success" caseSensitive="yes" regex="no">is destroyed</output>
1017
1018
<output type="failure" caseSensitive="no" regex="no">Unhandled Exception</output>
1019
<output type="failure" caseSensitive="yes" regex="no">Exception:</output>
1020
<output type="failure" caseSensitive="no" regex="no">corrupt</output>
1021
<output type="failure" caseSensitive="yes" regex="no">Processing dump event</output>
1022
<output type="failure" caseSensitive="yes" regex="no">JVM requested Java dump</output>
1023
<output type="failure" caseSensitive="yes" regex="no">JVM requested Snap dump</output>
1024
</test>
1025
1026
<!--
1027
***** IMPORTANT NOTE *****
1028
The last test in this file is normally a call to -Xshareclasses:destroy. When the test passes no files should ever be left behind.
1029
-->
1030
</suite>
1031