Fwd: Re: type anno test code check in
Jonathan Gibbons
jonathan.gibbons at oracle.com
Mon Sep 16 17:51:12 PDT 2013
I think you misunderstood my comment.
I am suggesting, as a reviewer and someone who might one day have to
debug these tests, that you should dump source code into a file with a
.java extension. It is important for a well written test that the
artifacts for failing tests should be clearly identified, and whenever
possible, should be in a form that is usable outside the context of the
test. For example, if you have a test case involving one or more
classes that fail, I would expect to see a clearly identified directory
containing source files that I could pass to javac to reproduce and
thence debug the failure.
-- Jon
On 09/16/2013 05:34 PM, Charlie Wang wrote:
> Hi Jonathan,
> Thanks for the idea, but I don't think so. In order to identify
> source code of different tests, I used a prefix(the test class's name)
> before _source.txt. e.g.
> ConstructorGetAnnotatedReturnTypeTest_source.txt. But none of the
> classes in the source code have such a name(they are all like
> TypeAnnoCls1). Besides, this is just for users' viewing. I think .txt
> files should be OK.
>
>
>
>
>
> - Charlie
>
>
> On 2013/9/16 23:03, Jonathan Gibbons wrote:
>> Charlie,
>>
>> If it's source code, why would you not dump it into a .java file?
>>
>> -- Jon
>>
>>
>> On 09/16/2013 12:33 AM, Charlie Wang wrote:
>>> Hi Steve,
>>> Made the update according to your comments. The test will dump the
>>> source code into a .txt file if it fails. Please review the
>>> attachment. I will update webrev later.
>>>
>>>
>>> - Charlie
>>>
>>> On 2013/9/13 1:12, Steve Sides wrote:
>>>> On 9/12/2013 4:05 AM, Charlie Wang wrote:
>>>>> Hi Joel,
>>>>> I ran the test on windows64, linux64, solaris32, mac64, and only
>>>>> found one failed test - ClassGetAnnotatedInterfacesTest. I think
>>>>> it is due to code change to Class.getAnnotatedInterfaces(). In the
>>>>> builds a while before b106 it didn't return null with primitive
>>>>> type class input, but now it does. I didn't find any bug to track
>>>>> this change when I searched with label "type-annotations" or
>>>>> "annotations".
>>>>> Besides that, I've made a little update to the comments of every
>>>>> tests explaining how the test code is constructed and run.
>>>>> By setting Helper.DEBUG = true/false, it displays/hides the test
>>>>> source code on the command line output, which is constructed for
>>>>> the test. I hope this doesn't seem overwhelmingly friendly.
>>>> Can you make it so is displays or leave on disk the test source for
>>>> failed test cases by default apart from DEBUG?
>>>> Since we're really most interested in failed test cases and the
>>>> ability to easily reproduce them with a small(er) test case, that
>>>> would be the desired behavior.
>>>> I.E., we don't want to say, "here's bug, to reproduce, run the
>>>> whole test", or even "you can set DEBUG and go fish for the failed
>>>> test case from the thousands in the debug output"....put in the
>>>> most unfriendly terms. :) (I do smile when I write these things).
>>>>
>>>> -steve
>>>>
>>>>> As suggested by Alex, the interfaces are introduced for
>>>>> extension. DeclarationGenerator is an interface for small code
>>>>> declarations. TestCaseGenerator is an interface for code
>>>>> generation of test cases. Helper constructs declarations and
>>>>> compile source code (better explanations are in Helper's
>>>>> comments). TestCodeGenerator is a utility class for test case
>>>>> generation.
>>>>>
>>>>> Attached are the updated test files. I will update the webrev link
>>>>> later.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> - Charlie
>>>>>
>>>>> On 2013/9/11 22:44, Joel Borggren-Franck wrote:
>>>>>> Hi Charlie,
>>>>>>
>>>>>> These tests should go into TL, I can commit them there. The test
>>>>>> review
>>>>>> cycle should be on core-libs-dev at openjdk.java.net.
>>>>>>
>>>>>> However the test are not ready yet.
>>>>>>
>>>>>> If you run the tests vs jdk8-b106 or a recent copy of TL there is
>>>>>> a few
>>>>>> failures. How can I as a developer see the exact source which
>>>>>> caused the
>>>>>> failure?
>>>>>>
>>>>>> Further, there is an @author tag between two jtreg tags, @build and
>>>>>> @run in almost every file. Please don't do that.
>>>>>>
>>>>>> As a user of these tests there needs to be a way for me to:
>>>>>>
>>>>>> 1) Understand the tests / ensure that the tests are correct
>>>>>> 2) Run the tests
>>>>>> 3) Understand what causes tests failures
>>>>>>
>>>>>> Out of these only 2) is currently easy. 1) is hard and 3) looks
>>>>>> impossible.
>>>>>>
>>>>>> Here is what you need to do to bring this forward:
>>>>>>
>>>>>> - At a minimum you need to document how the tests work. It is not
>>>>>> clear
>>>>>> at the moment.
>>>>>>
>>>>>> - Please explain why are the helpers split out into 2 interfaces
>>>>>> and 4
>>>>>> classes?
>>>>>>
>>>>>> - You also need to improve failure friendliness. If a tests fail, it
>>>>>> must be possible to see the java source of the generated
>>>>>> program that
>>>>>> fails together with a decent explanation of what went wrong.
>>>>>>
>>>>>> If this is currently available, please indicate how to do it.
>>>>>>
>>>>>> cheers
>>>>>> /Joel
>>>>>>
>>>>>> On 2013-09-11, Charlie Wang wrote:
>>>>>>> Hi,
>>>>>>> I'm looking for a committer to help me check in type annotation
>>>>>>> reflection test code. Could someone give me a hand?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Charlie
>>>>>>>
>>>>>>> -------- Original Message --------
>>>>>>> Subject: Re: type anno test code check in
>>>>>>> Date: Tue, 10 Sep 2013 10:29:02 -0700
>>>>>>> From: Alex Buckley <alex.buckley at oracle.com>
>>>>>>> Organization: Oracle Corporation
>>>>>>> To: Charlie Wang <charlie.wang at oracle.com>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Ask on type-annotations-dev for a Committer in the Type Annotations
>>>>>>> Project to push the tests for you. The tests will go in the jdk
>>>>>>> repo.
>>>>>>>
>>>>>>> Alex
>>>>>>>
>>>>>
>>>>
>>
>
More information about the type-annotations-dev
mailing list