Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java
40942 views
1
/*
2
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. 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
import jdk.test.lib.process.ProcessTools;
25
import jdk.test.lib.process.OutputAnalyzer;
26
import jdk.test.lib.cli.*;
27
28
/*
29
* @test
30
* @bug 8066821
31
* @summary Test that various options are deprecated. See deprecated_jvm_flags in arguments.cpp.
32
* @modules java.base/jdk.internal.misc
33
* @library /test/lib
34
* @run driver VMDeprecatedOptions
35
*/
36
public class VMDeprecatedOptions {
37
38
/**
39
* each entry is {[0]: option name, [1]: value to set
40
* (true/false/n/string)}.
41
*/
42
public static final String[][] DEPRECATED_OPTIONS = {
43
// deprecated non-alias flags:
44
{"MaxGCMinorPauseMillis", "1032"},
45
{"MaxRAMFraction", "8"},
46
{"MinRAMFraction", "2"},
47
{"InitialRAMFraction", "64"},
48
{"TLABStats", "false"},
49
{"AllowRedefinitionToAddDeleteMethods", "true"},
50
51
// deprecated alias flags (see also aliased_jvm_flags):
52
{"DefaultMaxRAMFraction", "4"},
53
{"CreateMinidumpOnCrash", "false"}
54
};
55
56
static String getDeprecationString(String optionName) {
57
return "Option " + optionName
58
+ " was deprecated in version [\\S]+ and will likely be removed in a future release";
59
}
60
61
static void testDeprecated(String[][] optionInfo) throws Throwable {
62
String optionNames[] = new String[optionInfo.length];
63
String expectedValues[] = new String[optionInfo.length];
64
for (int i = 0; i < optionInfo.length; i++) {
65
optionNames[i] = optionInfo[i][0];
66
expectedValues[i] = optionInfo[i][1];
67
}
68
69
OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(optionNames, expectedValues);
70
71
// check for option deprecation messages:
72
output.shouldHaveExitValue(0);
73
for (String[] deprecated : optionInfo) {
74
String match = getDeprecationString(deprecated[0]);
75
output.shouldMatch(match);
76
}
77
}
78
79
// Deprecated diagnostic command line options need to be preceded on the
80
// command line by -XX:+UnlockDiagnosticVMOptions.
81
static void testDeprecatedDiagnostic(String option, String value) throws Throwable {
82
String XXoption = CommandLineOptionTest.prepareFlag(option, value);
83
ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(
84
CommandLineOptionTest.UNLOCK_DIAGNOSTIC_VM_OPTIONS, XXoption, "-version");
85
OutputAnalyzer output = new OutputAnalyzer(processBuilder.start());
86
// check for option deprecation message:
87
output.shouldHaveExitValue(0);
88
String match = getDeprecationString(option);
89
output.shouldMatch(match);
90
}
91
92
// Deprecated experimental command line options need to be preceded on the
93
// command line by -XX:+UnlockExperimentalVMOption.
94
static void testDeprecatedExperimental(String option, String value) throws Throwable {
95
String XXoption = CommandLineOptionTest.prepareFlag(option, value);
96
ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(
97
CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS, XXoption, "-version");
98
OutputAnalyzer output = new OutputAnalyzer(processBuilder.start());
99
// check for option deprecation message:
100
output.shouldHaveExitValue(0);
101
String match = getDeprecationString(option);
102
output.shouldMatch(match);
103
}
104
105
public static void main(String[] args) throws Throwable {
106
testDeprecated(DEPRECATED_OPTIONS); // Make sure that each deprecated option is mentioned in the output.
107
}
108
}
109
110