--- old/test/tools/jlink/bindservices/BindServices.java 2017-04-07 18:27:49.000000000 +0300 +++ new/test/tools/jlink/bindservices/BindServices.java 2017-04-07 18:27:49.000000000 +0300 @@ -148,6 +148,23 @@ testImage(dir, "m1", "m2", "m3"); } + @Test + public void testVerboseAndNoBindServices() throws Throwable { + if (!hasJmods()) return; + + Path dir = Paths.get("verboseNoop"); + + List output = + JLink.run("--output", dir.toString(), + "--module-path", MODULE_PATH, + "--verbose", + "--add-modules", "m1").output(); + + assertTrue(output.contains("module m1 provides p1.S, used by m1")); + + testImage(dir, "m1"); + } + /* * Tests the given ${java.home} to only contain the specified modules */ --- old/test/tools/jlink/bindservices/SuggestProviders.java 2017-04-07 18:27:51.000000000 +0300 +++ new/test/tools/jlink/bindservices/SuggestProviders.java 2017-04-07 18:27:50.000000000 +0300 @@ -171,6 +171,42 @@ } + @Test + public void suggestNotProvider() throws Throwable { + if (!hasJmods()) return; + + List output = + JLink.run("--module-path", MODULE_PATH, + "--add-modules", "m1", + "--suggest-providers", + "java.util.List").output(); + + System.out.println(output); + List expected = List.of( + "Services specified in --suggest-providers not used: java.util.List" + ); + + assertTrue(output.containsAll(expected)); + } + + @Test + public void noOneUsesProvider() throws Throwable { + if (!hasJmods()) return; + + List output = + JLink.run("--module-path", MODULE_PATH, + "--add-modules", "m4", + "--suggest-providers", + "p4.Impl").output(); + + System.out.println(output); + List expected = List.of( + "Services specified in --suggest-providers not used: p4.Impl" + ); + + assertTrue(output.containsAll(expected)); + } + static class JLink { static final ToolProvider JLINK_TOOL = ToolProvider.findFirst("jlink") .orElseThrow(() ->