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

test/runtime/logging/ClassResolutionTest.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 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. --- 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.
*** 53,85 **** public static void main(String... args) throws Exception { Thing1Handler.getThingNumber(); } } public static void main(String... args) throws Exception { // (1) classresolve should turn on. ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( ! "-Xlog:classresolve=info", ClassResolutionTestMain.class.getName()); OutputAnalyzer o = new OutputAnalyzer(pb.start()); o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); // (2) classresolve should turn off. pb = ProcessTools.createJavaProcessBuilder( ! "-Xlog", "-Xlog:classresolve=off", ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldNotContain("[classresolve]"); // (3) TraceClassResolution should turn on. pb = ProcessTools.createJavaProcessBuilder( ! "-XX:+TraceClassResolution", ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); // (4) TraceClassResolution should turn off. pb = ProcessTools.createJavaProcessBuilder( ! "-Xlog", "-XX:-TraceClassResolution", ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldNotContain("[classresolve]"); }; --- 53,91 ---- public static void main(String... args) throws Exception { Thing1Handler.getThingNumber(); } } + // 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) classresolve should turn on. ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( ! "-Xlog:classresolve=info", "-Xshare:off", ! ClassResolutionTestMain.class.getName()); OutputAnalyzer o = new OutputAnalyzer(pb.start()); o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); // (2) classresolve should turn off. pb = ProcessTools.createJavaProcessBuilder( ! "-Xlog", "-Xlog:classresolve=off", "-Xshare:off", ! ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldNotContain("[classresolve]"); // (3) TraceClassResolution should turn on. pb = ProcessTools.createJavaProcessBuilder( ! "-XX:+TraceClassResolution", "-Xshare:off", ! ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); // (4) TraceClassResolution should turn off. pb = ProcessTools.createJavaProcessBuilder( ! "-Xlog", "-XX:-TraceClassResolution", "-Xshare:off", ! ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldNotContain("[classresolve]"); };
test/runtime/logging/ClassResolutionTest.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File