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.

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

Commit messages:
 - JDK-8273154: Provide a JavadocTester method for non-overlapping, unordered 
output matching

Changes: https://git.openjdk.java.net/jdk/pull/5743/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5743&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8273154
  Stats: 811 lines in 2 files changed: 741 ins; 57 del; 13 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

Reply via email to