Hello, All,
Paulex wrote,
>> the test needs to be rewritten or excluded
+1, and the option to exclude the test is pretty understandable.
I wonder about the first option. Is there any way to check that symbolic
name corresponds to the local computer? I can imagine the following
condition to check this.
InetAddress.getByName(InetAddress.getByName("127.0.0.1").getHostName()).
isLoopbackAddress()
Thoughts?
With best regards,
Alexei Fedotov,
Intel Java & XML Engineering
>-----Original Message-----
>From: Alexei Zakharov [mailto:[EMAIL PROTECTED]
>Sent: Monday, October 23, 2006 6:47 PM
>To: [email protected]
>Subject: Re: [classlib][test] Configuration dependent test of
>InetAddress.getHostName
>
>> I think Harmony does the right thing as spec requires, the difference
is
>> caused by underlying system call, so it should be acceptable, i.e.,
the
>> test needs to be rewritten or excluded.
>
>+1 from me
>
>Thanks,
>
>2006/10/20, Paulex Yang <[EMAIL PROTECTED]>:
>> Denis Kishenko wrote:
>> > I have researched issue H-1664 and found one more difference with
RI.
>> > I run simple test on Windows Server 2003 SP1
>> >
>> > =================== Test =============
>> > import java.net.InetAddress;
>> > import java.net.UnknownHostException;
>> >
>> > public class Test {
>> > public static void main(String[] args) throws
UnknownHostException {
>> > System.out.println("by name (127.0.0.1) -> " +
>> > InetAddress.getByName("127.0.0.1").getHostName());
>> > System.out.println("by name (localhost) -> " +
>> > InetAddress.getByName("localhost").getHostName());
>> > System.out.println("by address -> " +
>> > InetAddress.getByAddress(new byte[]{127, 0, 0, 1}).getHostName());
>> > System.out.println("localhost -> " +
>InetAddress.getLocalHost());
>> > }
>> >
>> > }
>> >
>> > Windows Server 2003 SP1
>> > =========== RI ==============
>> > by name (127.0.0.1) -> 127.0.0.1
>> > by name (localhost) -> localhost
>> > by address -> 127.0.0.1
>> > localhost -> nstdrlew21/10.125.122.60
>> >
>> > ========= Harmony ==========
>> > by name (127.0.0.1) -> nstdrlew21.ins.intel.com
>> > by name (localhost) -> localhost
>> > by address -> nstdrlew21.ins.intel.com
>> > localhost -> nstdrlew21/10.125.122.60
>> >
>> > WinXP
>> > ========= Both ===========
>> > by name (127.0.0.1) -> localhost
>> > by name (localhost) -> localhost
>> > by address -> localhost
>> > localhost -> pbwdmkishen/10.125.132.226
>> >
>> >
>> > Actually Harmony use native call of getnameinfo() to get host name
>> > (which is reasonable IMHO). MSDN says "The getnameinfo function
>> > provides name resolution from an address to the host name".
>> >
>> > InetAddressTest.test_getHostName (see H-1664) failed on WinServer
>> > because InetAddress.getByName("127.0.0.1").getHostName() returned
>> > "nstdrlew21.ins.intel.com" while "localhost" expected. So this test
>> > looks like configuration dependent.
>> >
>> > I see three possible options
>> > 1. Stay test as is. Just keep in mind that on specific
configurations
>> > this one fails.
>> > 2. Rewrite test to be configuration dependent. Test has to do the
same
>> > native call.
>> > 3. Exclude localhost checking from test_getHostName.
>> I think Harmony does the right thing as spec requires, the difference
is
>> caused by underlying system call, so it should be acceptable, i.e.,
the
>> test needs to be rewritten or excluded. But this issue worth a
non-bug
>> difference together with getHostName()'s different behavior when
>> SecurityManager presents[1](thanks Alexei Fedotov helped to find this
>> link and commented to HARMONY-1664:))
>>
>> Harmony-73 is another issue, which is actually caused by HARMONY-84
and
>> irrelevant with getHostName() method.
>>
>> [1]
>> http://mail-archives.apache.org/mod_mbox/incubator-harmony-
>dev/200602.mbox/[EMAIL PROTECTED]
>> >
>> > What do you think about this situation?
>
>--
>Alexei Zakharov,
>Intel Enterprise Solutions Software Division