< prev index next >

test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2017, 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) 2017, 2018, 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.
*** 21,31 **** * questions. */ /* * @test NonBootLoaderClasses ! * @summary Test to ensure platform and app classes are not being archived * @requires vm.cds * @library /test/lib * @modules java.base/jdk.internal.misc * java.management * @run main NonBootLoaderClasses --- 21,31 ---- * questions. */ /* * @test NonBootLoaderClasses ! * @summary Test to ensure platform and app classes are archived when specified in classlist * @requires vm.cds * @library /test/lib * @modules java.base/jdk.internal.misc * java.management * @run main NonBootLoaderClasses
*** 44,65 **** String[] classes = {PLATFORM_CLASS, APP_CLASS}; String classList = CDSTestUtils.makeClassList(classes).getPath(); String archiveName = "NonBootLoaderClasses.jsa"; CDSOptions opts = (new CDSOptions()) ! .addPrefix("-XX:ExtraSharedClassListFile=" + classList) .setArchiveName(archiveName); CDSTestUtils.createArchiveAndCheck(opts); // Print the shared dictionary and inspect the output ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName, "-XX:+PrintSharedArchiveAndExit", "-XX:+PrintSharedDictionary"); OutputAnalyzer out = CDSTestUtils.executeAndLog(pb, "print-shared-archive"); if (!CDSTestUtils.isUnableToMap(out)) { out.shouldContain("archive is valid") .shouldHaveExitValue(0) // Should report success in error code. ! .shouldNotContain(PLATFORM_CLASS) ! .shouldNotContain(APP_CLASS); } } } --- 44,66 ---- String[] classes = {PLATFORM_CLASS, APP_CLASS}; String classList = CDSTestUtils.makeClassList(classes).getPath(); String archiveName = "NonBootLoaderClasses.jsa"; CDSOptions opts = (new CDSOptions()) ! .addPrefix("-XX:ExtraSharedClassListFile=" + classList, "-cp", "\"\"") .setArchiveName(archiveName); CDSTestUtils.createArchiveAndCheck(opts); // Print the shared dictionary and inspect the output ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( + "-cp", "\"\"", "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName, "-XX:+PrintSharedArchiveAndExit", "-XX:+PrintSharedDictionary"); OutputAnalyzer out = CDSTestUtils.executeAndLog(pb, "print-shared-archive"); if (!CDSTestUtils.isUnableToMap(out)) { out.shouldContain("archive is valid") .shouldHaveExitValue(0) // Should report success in error code. ! .shouldContain(PLATFORM_CLASS.replace('/', '.')) ! .shouldContain(APP_CLASS.replace('/', '.')); } } }
< prev index next >