Integrated: JDK-8276892: Provide a way to emulate exceptional situations in FileManager when using JavadocTester

Jonathan Gibbons jjg at openjdk.java.net
Fri Dec 24 01:51:23 UTC 2021


On Tue, 16 Nov 2021 05:36:37 GMT, Jonathan Gibbons <jjg at openjdk.org> wrote:

> Please review a moderately simple addition to the `JavadocTester` world, to be able to modify the behavior of a file manager to throw exceptions as needed.
> 
> The bulk of the new functionality is in a new class, `TestJavaFileManagerBuilder`, which uses the builder pattern to allow a client to configure and build a file manager that can provide file objects for which the behavior can be overridden for one or more methods.  The expected use case is to throw an exception instead of calling the underlying delegate method.
> 
> `JavadocTester` is modified to allow a file manager to be provided when invoking `javadoc`. This requires some minor changes to the outermost javadoc tool classes, `Main` and `Start`.  Rather than add more `static` methods to `Main`, instance methods are now provided to make it easier to configure the values that will be passed to `Start`.    In `Start`, it was previously assumed that either the default file manager was being used or that _all_ paths would be configured directly in the file manager. The latter part of that assumption is reduced so that path-setting options (e.g. `--source-path`, `--class-path` etc) can be passed to the provided file manager. (Previously, they were silently ignored.) It is an error to pass path-like options as javadoc options to a file manager that does not support them.  However, since none of the changes are visible to any public API, this should not be an issue.
> 
> A new test is provided, with a few simple test cases. One is for direct use of the new file manager mechanism (without using `javadoc`). The other two illustrate how the feature can be used inside a `JavadocTester` call of `javadoc`.  Given that the feature is a relatively simple combination of predicates and proxies, it's not clear that we need a significant body of test cases.

This pull request has now been integrated.

Changeset: d52392c1
Author:    Jonathan Gibbons <jjg at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/d52392c15e47dbfbba7eda0739ff8e6f29613b53
Stats:     658 lines in 7 files changed: 648 ins; 5 del; 5 mod

8276892: Provide a way to emulate exceptional situations in FileManager when using JavadocTester

Reviewed-by: prappo

-------------

PR: https://git.openjdk.java.net/jdk/pull/6404


More information about the javadoc-dev mailing list