RFR: 8217034, , JavadocTester should check for missing files by default

Jonathan Gibbons jonathan.gibbons at oracle.com
Tue Jan 15 00:46:49 UTC 2019


Please review a mostly "test only" fix to have JavadocTester treat links 
to missing files in the generated output as an error.

Currently, it detects and reports such files, but they are not treated 
as serious enough to cause the test to fail.

The primary fix to JavadocTester is a trivial one-liner, to bump the 
error count when missing files are found.

The catch is that doing so causes a number of tests to fail, which need 
to be fixed up. Most of these are "benign" failures, caused by issues in 
the way that the test was written, without expecting that links would 
ever be validated. In one case, the problem is in the javadoc tool 
itself, in which the "wrong" stylesheet is written into a redirect 
fiile. The fault there is mostly benign as well, since no stylesheet is 
actually required, but it is enough to cause a link checker to notice.

Here is an explanation of the edits:


test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java

     The one-line change to treat links to missing files as a serious error

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.java

     Use the correct stylesheet in the redirect file. The difference is 
when a non-default stylesheet is given on the command line. This is at 
best a workaround solution. Arguably a better solution is to make it so 
that if no stylesheet(s) are given to Head.java, then no links to 
stylesheets are generated, but that is a more pervasive change that is 
out of scope for this mostly test-only fix.

test/langtools/jdk/javadoc/doclet/testBreakIterator/TestBreakIterator.java
test/langtools/jdk/javadoc/doclet/testBreakIterator/pkg/BreakIteratorTest.java

     The test generates a reference to a file that is not generated. The 
code is modified to reference a similar file that is generated.

test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java
test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootTag.java

     Same as previous. The test generates a reference to a file that is 
not generated. The code is modified to reference a similar file that is 
generated.

test/langtools/jdk/javadoc/doclet/testDocRootLink/TestDocRootLink.java

     For this one, the automatic link check is disabled. There are 
details given in the test itself. Because of the pattern of the bad 
links, it does not seem appropriate to synthesize targets for the links, 
as is done in other cases.

test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java
test/langtools/jdk/javadoc/doclet/testIndexWithModules/TestIndexWithModules.java

     There's something going on here that seems to be a different 
problem. Filed JDK-8217013. The link checker is disabled in this test 
until 8217013 is fixed.

test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java

     The example code has toy/bad links. The automatic link checker is 
disabled for those instances where the toy links cause the test to fail.

test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java

     This is the test that fails if the src/.../IndexRedirectWriter is 
not updated. It tests the stylesheet options that cause the "wrong" 
stylesheet to be generated in the index. It seems appropriate to tag 
this bug (and just this bug) as the test for the change to the src file.

test/langtools/jdk/javadoc/doclet/testRelativeLinks/TestRelativeLinks.java

     This test has a bunch of toy links that don't exist, and which 
cannot easily be generated by javadoc tool. Since the test is 
specifically about testing the handling of different sorts of links, it 
seems better to synthesize the missing/expected files rather than 
disable the link checker for this test.


test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p2/doc-files/theme.css

     For this test, we just create/use a dummy empty file in the repo 
that is enough to keep the link checker happy.


-----

-- Jon

JBS: https://bugs.openjdk.java.net/browse/JDK-8217034
Webrev: http://cr.openjdk.java.net/~jjg/8217034/webrev.00



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20190114/2a459b37/attachment.html>


More information about the javadoc-dev mailing list