Thanks,
You can't use any specific date in checkOutput because you do not know
the date used by javadoc to write into the file ... because the date is
so near the boundary at which it changes. That why, given the condition
is relatively uncommon, it is better to skip this test when it might occur.
-- Jon
On 3/18/19 6:42 AM, Hannes Wallnöfer wrote:
+1
Not a big deal, but a simpler solution would have been to just use startDate in
the checkOutput string.
Hannes
Am 15.03.2019 um 20:00 schrieb Jonathan Gibbons <[email protected]>:
Please review a small test-only fix, to suppress the check for the date in the
generated files when the date has changed since the test started (i.e.the date
was run close to midnight.) And yes, this did just happen!
JBS: https://bugs.openjdk.java.net/browse/JDK-8220693
-- Jon
$ hg diff
diff -r c61f09122d3b test/langtools/jdk/javadoc/doclet/MetaTag/MetaTag.java
--- a/test/langtools/jdk/javadoc/doclet/MetaTag/MetaTag.java Fri Mar 15
18:59:21 2019 +0100
+++ b/test/langtools/jdk/javadoc/doclet/MetaTag/MetaTag.java Fri Mar 15
11:56:19 2019 -0700
@@ -93,14 +93,19 @@
"<meta name=\"keywords\" content=\"Overview, Sample
Packages\">");
// NOTE: Hopefully, this regression test is not run at midnight. If
the output
- // was generated yesterday and this test is run today, the test will
fail.
- checkOutput("overview-summary.html", found,
- "<meta name=\"" + metaNameDate + "\" content=\"" + date() +
"\">");
+ // was generated yesterday and this test is run today, this check
could fail ...
+ // so make sure the date has not changed since the test started
+ String date = date();
+ if (date.equals(startDate)) {
+ checkOutput("overview-summary.html", found,
+ "<meta name=\"" + metaNameDate + "\" content=\"" + date +
"\">");
+ }
}
private static final SimpleDateFormat dateFormat = new
SimpleDateFormat("yyyy-MM-dd");
+ private static final String startDate = date();
- String date() {
+ static String date() {
return dateFormat.format(new Date());
}
}