Thank you, Roger

> On 9 Aug 2018, at 10:01 PM, Roger Riggs <roger.ri...@oracle.com> wrote:
> 
> Hi Chris,
> 
> looks fine now.  +1
> 
> On 8/8/18 11:35 PM, Chris Yin wrote:
>> Hi, Roger
>> 
>> Many thanks for your review and comments, inline and updated new webrev as 
>> below, thanks
>> 
>> http://cr.openjdk.java.net/~xyin/8208483/webrev.05/
>> 
>>> On 8 Aug 2018, at 9:52 PM, Roger Riggs <roger.ri...@oracle.com> wrote:
>>> 
>>> Hi Chris,
>>> 
>>> Each of these tests is going to spawn a new process (/othervm). That's a 
>>> lot of overhead for a short test.
>> Thank you for checking this, actually used /othervm here is intentional to 
>> make object factories working correctly, I’m not sure why yet, just guess 
>> jtreg agentvm mode will affect object factory loader which caused object 
>> factory not working. For example, if I removed /othervm from 
>> LookupWithAnyAttrProp.java then run 'jtreg -agentvm -v:summary -testjdk:xxx 
>> -a LookupWithAnyAttrProp.java’, test will failed to complain lookup returned 
>> object is com.sun.jndi.dns.DnsContext instead of TestDnsObject, that was 
>> unexpected. (I used latest jtreg version with jdk12, same result)
> yes, /othervm is needed to avoid interference with other tests
>>> Can these be written as TestNG tests so they run quicker and more tests be 
>>> in a single source file
>>> and run in single VM?
>> That's a good idea, but per current tests situation, guess it’s hard, 2 
>> points as below
>> 1. As above mentioned, for factory related tests, we have to specify 
>> /othervm to make object factory working, that may not suitable for TestNG
> /othervm can be used with testng

Cool, thank you for the info, I will have a try, guess the only concern is 
whether /othervm could be applied to test method to avoid interference with 
others in same test class

>> 2. Each test along with a .dns dump file, even the test logic are very 
>> close, the dumped messages maybe very different. If using TestNG 1 test file 
>> with multiple tests, it will be more complex to manage/maintain those dump 
>> files (like create/update dump file per test, search/load dump file when run 
>> each test etc.)
> As a thought experiment, and perhaps worth a prototype and especially if 
> there are more tests to write.

Sure, I will try to make some prototype at the same time to see whether that 
way will be better

> 
> The testname/dns might need to be refactored out from the test class name, 
> but if I understand
> the local server case, it creates a new local server for each test with a new 
> port and environment.
> With no overlap between the test data, a clean separation between the tests 
> at runtime may be possible
> with not too much work.

Yes, your understanding is correct, just the real case seems a little complex 
to sort out

Thanks & Regards,
Chris

> 
> Thanks, Roger
> 
> 
>> 
>>> @Override should be on its own line so the method signature is on a line by 
>>> itself too.
>>> Setup your IDE to use the formatting conventions and let it reformat.
>> Sure, fixed, changed my IDE to use that style
>> 
>>> LookupFactoryBase.java: 67 / 84  - Be consistent about the form of messages,
>>>  I prefer the Expected xxx but found yyy form.   (no need to say it failed, 
>>> it threw an exception).
>> Fixed as you suggested form
>> 
>>> The imports should be before the comment with the jtreg test description.
>> Fixed, thanks
>> 
>> Regards,
>> Chris
>> 
>>> Thanks, Roger
>>> 
>>> On 8/7/18 11:41 PM, Chris Yin wrote:
>>>> Just one more minor revision to expand initContext() into test method for 
>>>> easier read, new webrev as below, thanks
>>>> 
>>>> http://cr.openjdk.java.net/~xyin/8208483/webrev.04/
>>>> 
>>>> Regards,
>>>> Chris
>>>> 
>>>>> On 7 Aug 2018, at 5:41 PM, Chris Yin <xu.y....@oracle.com> wrote:
>>>>> 
>>>>> Hi, Vyom
>>>>> 
>>>>> Thanks a lot for your comment, I didn’t realize it, sure, I moved this 
>>>>> constant to LookupFactoryBase as you suggested and also abstract the same 
>>>>> verify logic into base class as ‘verifyLookupObjectAndValue’, hope that 
>>>>> looks better, update new webrev as below, thanks
>>>>> 
>>>>> http://cr.openjdk.java.net/~xyin/8208483/webrev.03/
>>>>> 
>>>>> Regards,
>>>>> Chris
>>>>> 
>>>>>> On 7 Aug 2018, at 4:35 PM, vyom tewari <vyom.tew...@oracle.com> wrote:
>>>>>> 
>>>>>> Hi Chris,
>>>>>> 
>>>>>> Overall latest code looks good to me, one minor comment did you consider 
>>>>>> moving  "private static final String ATTRIBUTE_VALUE = "1.2.4.1";" in 
>>>>>> "LookupFactoryBase" ? as both LookupWithAnyAttrProp & LookupWithAttrProp 
>>>>>> inherit "LookupFactoryBase".
>>>>>> 
>>>>>> .Thanks,
>>>>>> 
>>>>>> Vyom
>>>>>> 
>>>>>> 
>>>>>> On Monday 06 August 2018 03:02 PM, Chris Yin wrote:
>>>>>>> Hi, Vyom
>>>>>>> 
>>>>>>> Many thanks for your review and comments, inline and updated webrev as 
>>>>>>> below, thanks
>>>>>>> 
>>>>>>> http://cr.openjdk.java.net/~xyin/8208483/webrev.01/
>>>>>>> 
>>>>>>>> On 6 Aug 2018, at 4:12 PM, vyom tewari <vyom.tew...@oracle.com> wrote:
>>>>>>>> 
>>>>>>>> Hi Chris,
>>>>>>>> 
>>>>>>>> 1-> DirAFactory.java, "getIbjectInstance" returns "null"  if it fails 
>>>>>>>> to construct object. I will suggest you to throw  some 
>>>>>>>> "RuntimeException" instead returning null. If you return null then 
>>>>>>>> caller of "getObjectInstance" had to check for null and it will end in 
>>>>>>>> lots of boilerplate code.
>>>>>>> ‘getObjectInstance’ methods are override from DirObjectFactory and 
>>>>>>> ObjectFactory, per my understanding on javadoc, return null should 
>>>>>>> indicate object cannot be created and allow other factories can be 
>>>>>>> tried, feel free to let me know if I misunderstand something on the api 
>>>>>>> doc, thanks
>>>>>>> 
>>>>>>> Paste a few javadoc here against ‘getObjectInstance’ method as below
>>>>>>> 
>>>>>>> * @return The object created; null if an object cannot be created.
>>>>>>> * @exception Exception If this object factory encountered an exception
>>>>>>> * while attempting to create an object, and no other object factories 
>>>>>>> are
>>>>>>> * to be tried.
>>>>>>> 
>>>>>>>> 2-> DirTxtFactory.java same as "DirFactory.java”.
>>>>>>> Same as above
>>>>>>> 
>>>>>>>> 3-> In LookupWithAnyAttrProp/LookupWithAttrProp java create a constant 
>>>>>>>> for "1.2.4.1" and put one liner comment if possible. This is will help 
>>>>>>>> future maintainer to understand why we are comparing with this value.
>>>>>>> Sure, created constant for “1.2.4.1” and put comment to explain that 
>>>>>>> it’s pre defined attribute value of ‘A’, thanks
>>>>>>> 
>>>>>>>> One generic comment, in most of the places i can see, you declared 
>>>>>>>> functions to throw generic exception "Exception",  please change it to 
>>>>>>>> specific  exception or list of specific exceptions if possible.
>>>>>>> Fixed, those generic exception are generated automatically through 
>>>>>>> override method, I removed those unused throws Exception from 
>>>>>>> xxxFactory.
>>>>>>> 
>>>>>>> Thanks & Regards,
>>>>>>> Chris
>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> 
>>>>>>>> Vyom
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Monday 30 July 2018 02:08 PM, Chris Yin wrote:
>>>>>>>>> Please review the changes to add 5 JNDI tests to 
>>>>>>>>> com/sun/jndi/dns/FactoryTests/ in OpenJDK, thanks
>>>>>>>>> 
>>>>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8208483 
>>>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8208483>
>>>>>>>>> webrev: http://cr.openjdk.java.net/~xyin/8208483/webrev.00/ 
>>>>>>>>> <http://cr.openjdk.java.net/~xyin/8208483/webrev.00/>
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Chris
> 

Reply via email to