On Tue, 24 May 2022 04:58:44 GMT, Jaikiran Pai <j...@openjdk.org> wrote:
>> Commit >> https://github.com/openjdk/jdk/commit/655500a4f5e3abcff176599604deceefb6ca6640 >> for issue [JDK-8286654](https://bugs.openjdk.java.net/browse/JDK-8286654) >> added an optional description accessor on the `ToolProvider` interface. It >> included a typo in` jlink`'s description resource key lookup: >> `"jlink.desciption"` >> >> This follow-up commit fixes the typo by adding the missing `r` character: >> `"jlink.description"`. >> >> This commit also also adds an automated check that ensures all current and >> future tool provider implementations within the JDK don't throw an exception >> when invoking their name and description accessor methods. Specific tool >> names and descriptions are not expected by this general test. > > test/jdk/java/util/spi/ToolProviderDescriptionTest.java line 40: > >> 38: public static void main(String... args) throws Exception { >> 39: List<String> descriptions = listToolDescriptions(); >> 40: if (descriptions.isEmpty()) { > > Hello @sormuras, > Won't this condition always be "false", because from what I see in this test > code, the `descriptions` list will never be empty since in the `describeTool` > method of this test we always return a `String` instance to be added to the > `List`, even if there's no `description` for the `ToolProvider` instance. The list will be empty, if no `ToolProvider` service is observable at all. For example, when running `java` with `--limit-module java.base` - which doesn't provide an implemention of `ToolProvider` as of today. This test checks that all observable tools don't throw on calling their `name()` and `description()` accessors. This test does not care for proper results being returned. ------------- PR: https://git.openjdk.java.net/jdk/pull/8825