22 *
23 */
24
25 /*
26 * @test TestClassUnloadingArguments
27 * @summary Test that loop mining arguments are sane
28 * @requires vm.gc.Shenandoah & !vm.graal.enabled
29 * @library /test/lib
30 * @run driver TestClassUnloadingArguments
31 */
32
33 import java.util.*;
34
35 import jdk.test.lib.Asserts;
36 import jdk.test.lib.process.ProcessTools;
37 import jdk.test.lib.process.OutputAnalyzer;
38
39 public class TestClassUnloadingArguments {
40
41 public static void testWith(String msg, boolean cu, boolean cuConc, String... args) throws Exception {
42 String[] cmds = Arrays.copyOf(args, args.length + 2);
43 cmds[args.length] = "-XX:+PrintFlagsFinal";
44 cmds[args.length + 1] = "-version";
45 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(cmds);
46 OutputAnalyzer output = new OutputAnalyzer(pb.start());
47 output.shouldHaveExitValue(0);
48 output.shouldContain("ClassUnloading");
49 output.shouldContain("ClassUnloadingWithConcurrentMark");
50
51 Asserts.assertEQ(output.firstMatch("(.+?) ClassUnloading.+?= (.+?) (.+?)", 2),
52 Boolean.toString(cu),
53 msg + ", but got wrong ClassUnloading");
54 Asserts.assertEQ(output.firstMatch("(.+?) ClassUnloadingWithConcurrentMark.+?= (.+?) (.+?)", 2),
55 Boolean.toString(cuConc),
56 msg + ", but got wrong ClassUnloadingWithConcurrentMark");
57 }
58
59 public static void main(String[] args) throws Exception {
60 testDefaultGC();
61 testShenandoah();
62 }
63
64 public static void testDefaultGC() throws Exception {
|
22 *
23 */
24
25 /*
26 * @test TestClassUnloadingArguments
27 * @summary Test that loop mining arguments are sane
28 * @requires vm.gc.Shenandoah & !vm.graal.enabled
29 * @library /test/lib
30 * @run driver TestClassUnloadingArguments
31 */
32
33 import java.util.*;
34
35 import jdk.test.lib.Asserts;
36 import jdk.test.lib.process.ProcessTools;
37 import jdk.test.lib.process.OutputAnalyzer;
38
39 public class TestClassUnloadingArguments {
40
41 public static void testWith(String msg, boolean cu, boolean cuConc, String... args) throws Exception {
42 String[] cmds = Arrays.copyOf(args, args.length + 3);
43 cmds[args.length] = "-Xmx128m";
44 cmds[args.length + 1] = "-XX:+PrintFlagsFinal";
45 cmds[args.length + 2] = "-version";
46 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(cmds);
47 OutputAnalyzer output = new OutputAnalyzer(pb.start());
48 output.shouldHaveExitValue(0);
49 output.shouldContain("ClassUnloading");
50 output.shouldContain("ClassUnloadingWithConcurrentMark");
51
52 Asserts.assertEQ(output.firstMatch("(.+?) ClassUnloading.+?= (.+?) (.+?)", 2),
53 Boolean.toString(cu),
54 msg + ", but got wrong ClassUnloading");
55 Asserts.assertEQ(output.firstMatch("(.+?) ClassUnloadingWithConcurrentMark.+?= (.+?) (.+?)", 2),
56 Boolean.toString(cuConc),
57 msg + ", but got wrong ClassUnloadingWithConcurrentMark");
58 }
59
60 public static void main(String[] args) throws Exception {
61 testDefaultGC();
62 testShenandoah();
63 }
64
65 public static void testDefaultGC() throws Exception {
|