--- old/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java 2018-04-24 20:04:44.974767781 -0400 +++ new/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java 2018-04-24 20:04:43.654691776 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -23,7 +23,7 @@ /* * @test NonBootLoaderClasses - * @summary Test to ensure platform and app classes are not being archived + * @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 @@ -46,20 +46,21 @@ CDSTestUtils.makeClassList(classes).getPath(); String archiveName = "NonBootLoaderClasses.jsa"; CDSOptions opts = (new CDSOptions()) - .addPrefix("-XX:ExtraSharedClassListFile=" + classList) + .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. - .shouldNotContain(PLATFORM_CLASS) - .shouldNotContain(APP_CLASS); + .shouldContain(PLATFORM_CLASS.replace('/', '.')) + .shouldContain(APP_CLASS.replace('/', '.')); } } }