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: harmony-dev@incubator.apache.org >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]