On Tue, 16 Nov 2021 05:36:37 GMT, Jonathan Gibbons <j...@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 <j...@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