[9] RFR (S) 6191224: (reflect) Misleading detail string in IllegalArgumentException thrown by Array.get<Type>

Chris Plummer chris.plummer at oracle.com
Tue Oct 21 05:02:04 UTC 2014


I'm still looking for one more reviewer for this change.

thanks,

Chris

On 10/13/14 7:15 PM, Chris Plummer wrote:
> On 10/13/14 6:29 PM, David Holmes wrote:
>> Hi Chris,
>>
>> Two minor things:
>>
>>  27  * @summary D(reflect) Misleading detail string
>>
>> Stray D?
> Yeah. Something went wrong when I pasted in the bug synopsis. I'll 
> remove it.
>>
>> When reporting an incorrect message you should include the actual 
>> message that was incorrect eg
>>
>> failTest("Test #3 FAILS - incorrect message: " + e.getMessage());
> Ok.
>>
>> No need for re-review.
> thanks,
>
> Chris
>>
>> Thanks,
>> David
>>
>> On 14/10/2014 8:26 AM, Chris Plummer wrote:
>>> Hi David and Christian,
>>>
>>> New Webrev: http://cr.openjdk.java.net/~cjplummer/6191224/webrev.03/
>>>
>>> changes:
>>> -Renamed to reflect/ArrayGetIntException.java
>>> -othervm argument removed
>>> -throws Error on failure rather than exit(1)
>>> -Indentation set at 4 instead of 2
>>> -Open brace at end of line instead of at start of new line.
>>>
>>> When the test fails, it now outputs:
>>>
>>> STDOUT:
>>> 2147483647
>>> Test #1 PASSES
>>> java.lang.IllegalArgumentException: Argument is not an array
>>> Test #2 FAILS - incorrect message
>>> STDERR:
>>> java.lang.Error: Test #2 FAILS - incorrect message
>>>      at ArrayGetIntException.failTest(ArrayGetIntException.java:83)
>>>      at ArrayGetIntException.main(ArrayGetIntException.java:56)
>>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>      at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
>>>
>>>
>>>      at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
>>>
>>>
>>>      at java.lang.reflect.Method.invoke(Method.java:483)
>>>      at
>>> com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94) 
>>>
>>>      at java.lang.Thread.run(Thread.java:745)
>>>
>>> JavaTest Message: Test threw exception: java.lang.Error: Test #2 
>>> FAILS -
>>> incorrect message
>>> JavaTest Message: shutting down test
>>>
>>> STATUS:Failed.`main' threw exception: java.lang.Error: Test #2 FAILS -
>>> incorrect message
>>>
>>> thanks,
>>>
>>> Chris
>>>
>>> On 10/8/14 10:53 PM, Chris Plummer wrote:
>>>> Hi Christian,
>>>>
>>>> [If this went out twice, ignore the other copy.]
>>>>
>>>> On 10/8/14 7:40 PM, Christian Tornqvist wrote:
>>>>> Hi Chris,
>>>>>
>>>>> First of all, thanks for writing a regression test :)
>>>>>
>>>>> The naming of the test should follow the Hotspot test naming 
>>>>> guidelines
>>>>> (https://wiki.openjdk.java.net/display/HotSpot/Naming+HotSpot+JTReg+Tests). 
>>>>>
>>>>>
>>>> I'll wait for your response to David.
>>>>>
>>>>>> 28  * @run main/othervm Test6191224
>>>>> Is there a reason you need to run it with /othervm?
>>>> Copy and paste from another test case. Probably no need for it.
>>>>> When the test fails you should throw an exception instead of calling
>>>>> System.exit(), jtreg doesn't like System.exit
>>>> Ok. This was also copy and paste from the test case I used as an
>>>> example. It seems Error is common for test failures, so I'll use that.
>>>>> (http://openjdk.java.net/jtreg/faq.html#question2.6)
>>>> "% bringover -p <workspace> test". A bit dated perhaps. ;)
>>>>
>>>> I'll get a new webrev out once I've cleaned it up.
>>>>
>>>> thanks,
>>>>
>>>> Chris
>>>>> Thanks,
>>>>> Christian
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: hotspot-runtime-dev
>>>>> [mailto:hotspot-runtime-dev-bounces at openjdk.java.net] On Behalf Of 
>>>>> Chris
>>>>> Plummer
>>>>> Sent: Wednesday, October 8, 2014 8:08 PM
>>>>> To:hotspot-runtime-dev at openjdk.java.net
>>>>> Subject: [9] RFR (S) 6191224: (reflect) Misleading detail string in
>>>>> IllegalArgumentException thrown by Array.get<Type>
>>>>>
>>>>> Hi,
>>>>>
>>>>> Please review this cleanup of a misleading exception message.
>>>>>
>>>>> Summary: The test case shows that an exception is thrown with the
>>>>> message
>>>>> "Argument is not an array", when in fact the argument is an array, 
>>>>> but a
>>>>> primitive type array is actually what was expected. Fixed by
>>>>> differentiating
>>>>> between failing because an array was expected and failing because a
>>>>> primitive type array was expected.
>>>>>
>>>>> Webrev:http://cr.openjdk.java.net/~cjplummer/6191224/webrev.00/
>>>>> Bug:https://bugs.openjdk.java.net/browse/JDK-6191224
>>>>>
>>>>> Tested with:
>>>>>       jprt "-testset hotspot"
>>>>>       JTReg with hotspot tests and some jdk tests
>>>>>       JCK vm, lang, api
>>>>>       vm.quick.testlist
>>>>>       runthese
>>>>>
>>>>> Output for the regression test when passing is:
>>>>>
>>>>> 2147483647
>>>>> Test #1 PASSES
>>>>> java.lang.IllegalArgumentException: Argument is not a primitive type
>>>>> array
>>>>> Test #2 PASSES
>>>>> java.lang.IllegalArgumentException: Argument is not an array Test #3
>>>>> PASSES
>>>>>
>>>>> And when it fails:
>>>>>
>>>>> 2147483647
>>>>> Test #1 PASSES
>>>>> java.lang.IllegalArgumentException: Argument is not an array Test #2
>>>>> FAILS -
>>>>> incorrect message
>>>>>
>>>>> thanks,
>>>>>
>>>>> Chris
>>>>>
>>>>>
>>>>
>>>
>



More information about the hotspot-runtime-dev mailing list