JDK 11 RFR of 8196551: Update TestSourceVersion.java to be robust across version changes
Vicente Romero
vicente.romero at oracle.com
Thu Feb 1 13:57:09 UTC 2018
On 02/01/2018 12:42 AM, joe darcy wrote:
> Hello,
>
> Please review the patch below to address
>
> 8196551: Update TestSourceVersion.java to be robust across version
> changes
>
> As the summary implies, the intention of this change is to avoid the
> need separately update the test in question when a new SourceVersion
> value is added and when the version of the JDK is bumped.
>
> Until the version is bumped, it is acceptable for latest() to be one
> release ahead of latestSupported(), as is true of current builds of
> the JDK 11 line of development which don't have the version increment
> yet.
>
> I thought it was clearer to write the acceptable condition directly
> rather than apply de Morgan to the whole boolean expression.
yep I agree that readability is more important here, looks good
>
> Thanks,
>
> -Joe
Vicente
>
> ---
> a/test/langtools/tools/javac/processing/model/TestSourceVersion.java
> Wed Jan 31 15:15:09 2018 -0800
> +++
> b/test/langtools/tools/javac/processing/model/TestSourceVersion.java
> Wed Jan 31 21:38:47 2018 -0800
> @@ -23,7 +23,7 @@
>
> /*
> * @test
> - * @bug 7025809 8028543 6415644 8028544 8029942 8187951 8193291
> + * @bug 7025809 8028543 6415644 8028544 8029942 8187951 8193291 8196551
> * @summary Test latest, latestSupported, underscore as keyword, etc.
> * @author Joseph D. Darcy
> * @modules java.compiler
> @@ -46,11 +46,20 @@
> }
>
> private static void testLatestSupported() {
> - if (SourceVersion.latest() != RELEASE_11 ||
> - SourceVersion.latestSupported() != RELEASE_10)
> + SourceVersion[] values = SourceVersion.values();
> + SourceVersion last = values[values.length - 1];
> + SourceVersion latest = SourceVersion.latest();
> + SourceVersion latestSupported = SourceVersion.latestSupported();
> +
> + if (latest == last &&
> + latestSupported == SourceVersion.valueOf("RELEASE_" +
> Runtime.version().feature()) &&
> + (latest == latestSupported || (latest.ordinal() -
> latestSupported.ordinal() == 1)) )
> + return;
> + else {
> throw new RuntimeException("Unexpected release value(s)
> found:\n" +
> - "latest:\t" +
> SourceVersion.latest() + "\n" +
> - "latestSupported:\t" +
> SourceVersion.latestSupported());
> + "latest:\t" + latest + "\n" +
> + "latestSupported:\t" +
> latestSupported);
> + }
> }
>
> private static void testVersionVaryingKeywords() {
>
More information about the compiler-dev
mailing list