Alexei,
Unfortunatelly this patch didn't help. Because system have already
returned host name as "nstdrlew21.ins.intel.com".
Certainly we can hardcode 127.0.0.1 as localhost
if (address == 0x7f000001) {
hostName = "localhost";
} else {
hostName = getHostByAddrImpl(ipaddress).hostName;
// ask system
}
and we will get on Harmony
by name (127.0.0.1) -> localhost
by name (localhost) -> localhost
by address -> localhost
localhost -> nstdrlew21/10.125.122.60
But I am not sure this is correct.
2006/10/19, Fedotov, Alexei A <[EMAIL PROTECTED]>:
Denis,
Can we consider a patch from
http://issues.apache.org/jira/browse/HARMONY-73 as a fourth option?
Simply speaking, the patch adds a conditional operator which forces API
to returning "localhost" in this case.
Paulex,
This is your patch. What do you think?
With best regards,
Alexei Fedotov,
Intel Java & XML Engineering
>-----Original Message-----
>From: Denis Kishenko [mailto:[EMAIL PROTECTED]
>Sent: Thursday, October 19, 2006 3:44 PM
>To: [email protected]
>Subject: [classlib][test] Configuration dependent test of
>InetAddress.getHostName
>
>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.
>
>What do you think about this situation?
>
>--
>Denis M. Kishenko
>Enterprise Solutions Software Division
>
>---------------------------------------------------------------------
>Terms of use : http://incubator.apache.org/harmony/mailing.html
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
--
Denis M. Kishenko
Enterprise Solutions Software Division
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]