--- old/test/jdk/modules/etc/VerifyModuleDelegation.java 2016-08-17 09:38:40.000000000 -0700 +++ new/test/jdk/modules/etc/VerifyModuleDelegation.java 2016-08-17 09:38:40.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,7 @@ * @summary Verify the defining class loader of each module never delegates * to its child class loader. Also sanity check java.compact2 * requires. + * @modules java.compact2 * @run testng/othervm --add-modules=ALL-SYSTEM VerifyModuleDelegation */ @@ -33,7 +34,9 @@ import java.lang.module.ModuleFinder; import java.lang.module.ModuleReference; import java.lang.reflect.Layer; +import java.lang.reflect.Module; import java.util.Set; +import static java.util.stream.Collectors.toSet; import static java.lang.module.ModuleDescriptor.Requires.Modifier.*; @@ -58,8 +61,9 @@ .requires(Set.of(PUBLIC), "java.xml") .build(); - private static final Set MREFS - = ModuleFinder.ofSystem().findAll(); + private static final Set MREFS + = Layer.boot().modules().stream().map(Module::getDescriptor) + .collect(toSet()); private void check(ModuleDescriptor md, ModuleDescriptor ref) { assertTrue(md.requires().size() == ref.requires().size()); @@ -69,7 +73,7 @@ @Test public void checkJavaBase() { ModuleDescriptor md = - MREFS.stream().map(ModuleReference::descriptor) + MREFS.stream() .filter(d -> d.name().equals(JAVA_BASE)) .findFirst().orElseThrow(Error::new); @@ -78,7 +82,7 @@ @Test public void checkCompact2() { ModuleDescriptor md = - MREFS.stream().map(ModuleReference::descriptor) + MREFS.stream() .filter(d -> d.name().equals(JAVA_COMPACT2)) .findFirst().orElseThrow(Error::new); check(md, COMPACT2); @@ -87,7 +91,7 @@ @Test public void checkLoaderDelegation() { Layer boot = Layer.boot(); - MREFS.stream().map(ModuleReference::descriptor) + MREFS.stream() .forEach(md -> md.requires().stream().forEach(req -> { // check if M requires D and D's loader must be either the