test/runtime/logging/ClassInitializationTest.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/test/runtime/logging/ClassInitializationTest.java	Tue Jan 12 14:50:55 2016
--- new/test/runtime/logging/ClassInitializationTest.java	Tue Jan 12 14:50:55 2016

*** 1,7 **** --- 1,7 ---- /* ! * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 35,64 **** --- 35,72 ---- import jdk.test.lib.Platform; import jdk.test.lib.ProcessTools; public class ClassInitializationTest { + // Each ProcessBuilder should disable CDS with -Xshare:off so that no steps + // that produce necessary logging are skipped. public static void main(String... args) throws Exception { // (1) - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", "-Xverify:all", "-Xmx64m", "BadMap50"); + "-Xlog:classinit=info", "-Xverify:all", "-Xshare:off", + "-Xmx64m", "BadMap50"); OutputAnalyzer out = new OutputAnalyzer(pb.start()); out.shouldContain("Start class verification for:"); out.shouldContain("End class verification for:"); out.shouldContain("Initializing"); out.shouldContain("Verification for BadMap50 failed"); out.shouldContain("Fail over class verification to old verifier for: BadMap50"); // (2) if (Platform.isDebugBuild()) { pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", "-Xverify:all", "-XX:+EagerInitialization", "-Xmx64m", "-version"); + pb = ProcessTools.createJavaProcessBuilder( + "-Xlog:classinit=info", "-Xshare:off", "-Xverify:all", + "-XX:+EagerInitialization", "-Xmx64m", "-version"); out = new OutputAnalyzer(pb.start()); out.shouldContain("[Initialized").shouldContain("without side effects]"); out.shouldHaveExitValue(0); } // (3) Ensure that VerboseVerification still triggers appropriate messages. - pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions", "-XX:+VerboseVerification", "-Xverify:all", "-Xmx64m", "BadMap50"); + "-XX:+UnlockDiagnosticVMOptions", "-Xshare:off", + "-XX:+VerboseVerification", "-Xverify:all", "-Xmx64m", "BadMap50"); out = new OutputAnalyzer(pb.start()); out.shouldContain("End class verification for:"); out.shouldContain("Verification for BadMap50 failed"); out.shouldContain("Fail over class verification to old verifier for: BadMap50"); }

test/runtime/logging/ClassInitializationTest.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File