RFR: JDK-8273154: Provide a JavadocTester method for non-overlapping, unordered output matching [v6]

Jonathan Gibbons jjg at openjdk.java.net
Tue Nov 9 22:09:00 UTC 2021


> Please review a moderately simple improvement for `JavadocTester` and a related new test.
> 
> A new `OutputChecker` class is introduced that mostly supersedes the existing methods to check the output generated by javadoc and the standard doclet. A self-imposed restriction is that no existing tests are modified.
> 
> The new class can be used to check files generated by the doclet and the streams written by the tool. It can be configured to check for ordered output or not, overlapping output, and complete coverage, and can search for literal strings and regular expressions.  
> 
> There is a corresponding new test which is a non-standard use of `JavadocTester`, since it is designed to test `JavadocTester` itself, and not javadoc or the doclet.   (Quis custodiet ipsos custodes?)  Various methods are overridden so that the operation of the underlying methods can be checked.
> 
> Although it is a goal to NOT modify the code of any existing tests, it turns out to be reasonable to adapt some of the existing `check...` methods to use the new `OutputChecker`.  All javadoc tests pass, both locally and on all standard platforms.  Many/most uses of the existing `checkOutput` method provide "ordered" strings, and are candidates to use the new ordered check. But enough uses are _not_ ordered, so it is not reasonable to change the default at this time.  It is noted as a TODO to examine the appropriate test cases, so that we can decide whether to fix those tests and change the default.

Jonathan Gibbons has updated the pull request incrementally with two additional commits since the last revision:

 - Merge remote-tracking branch 'origin/8273154.JavadocTester-checker' into 8273154.JavadocTester-checker
 - Merge remote-tracking branch 'upstream/master' into 8273154.JavadocTester-checker

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5743/files
  - new: https://git.openjdk.java.net/jdk/pull/5743/files/df3239a2..ff33921f

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5743&range=05
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5743&range=04-05

  Stats: 6 lines in 1 file changed: 1 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5743.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5743/head:pull/5743

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


More information about the javadoc-dev mailing list