That’s a great idea to add a test patching VersionProps generated with 
different version strings.

We should file a JBS issue and add such a new test.

Mandy

> On Jun 28, 2016, at 9:07 AM, Daniel Fuchs <daniel.fu...@oracle.com> wrote:
> 
> Hi,
> 
> WRT to testing - one thing that could be done (possibly in a
> followup patch) would be:
> 
> class VersionProps {
> 
>   ...
> 
>   static List<Integer> parseVersionNumbers(String versionNumber) {
>       // parsing code goes there
>   }
> 
>   static List<Integer> versionNumbers() {
>       return parseVersionNumbers(VERSION_NUMBER);
>   }
> 
>   ...
> }
> 
> that would allow writing/adding a unit test for the algorithm
> implemented in parseVersionNumbers (either using white-box
> with -Xpatch or using reflection and the proper
> incantations to invoke parseVersionNumbers from outside the
> package).
> 
> cheers,
> 
> -- daniel
> 
> 
> On 28/06/16 15:57, Volker Simonis wrote:
>> Hi,
>> 
>> can somebody please review this trivial fix:
>> 
>> http://cr.openjdk.java.net/~simonis/webrevs/2016/8160457/
>> https://bugs.openjdk.java.net/browse/JDK-8160457
>> 
>> The problem is that VersionProps.versionNumbers() incorrectly parses a
>> Java version string because it doesn't skip the separating dots. The
>> current version only works for one digit versions like "9" but will
>> fail for any longer version string like for example "9.0.0.1" with:
>> 
>>        at 
>> java.lang.NumberFormatException.forInputString(java.base@9.0.0.1-internal/NumberFormatException.java:65)
>>        at 
>> java.lang.Integer.parseInt(java.base@9.0.0.1-internal/Integer.java:791)
>>        at 
>> java.lang.VersionProps.versionNumbers(java.base@9.0.0.1-internal/VersionProps.java:76)
>>        at 
>> java.lang.Runtime.version(java.base@9.0.0.1-internal/Runtime.java:940)
>> 
>> This also breaks the build which uses a newly built jdk for
>> bootstrapping if we set '--with-version-patch=1' for example.
>> 
>> An can you PLEASE, PLEASE finally do your internal/early access builds
>> with '--with-version-patch=1'. It seems really careless to me that you
>> introduce a new, up to four digit versioning schema but only test the
>> shortcut version with one digit. I wouldn't be surprised if a version
>> like "9.0.0.1" breaks more Java applications than the sun.misc.Unsafe
>> removal :)
>> 
>> Thank you and best regards,
>> Volker
>> 
> 

Reply via email to