harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Zhang" <zhanghuang...@gmail.com>
Subject Re: [classlib][luni] new test in tests.api.java.net.SocketTest failed on my Windows XP sp2
Date Thu, 19 Apr 2007 10:36:56 GMT
On 4/19/07, Ruth Cao <ruoshen.c@gmail.com> wrote:
>
> 2007/4/19, Andrew Zhang <zhanghuangzhu@gmail.com>:
> >
> > On 4/19/07, LvJimmy´╝îJing <firepure@gmail.com> wrote:
> > >
> > > 2007/4/19, Andrew Zhang <zhanghuangzhu@gmail.com>:
> > > > On 4/19/07, Ruth Cao <ruoshen.c@gmail.com> wrote:
> > > > >
> > > > > Tim Ellison wrote:
> > > > > > Ruth Cao wrote:
> > > > > >
> > > > > >> You are right, Vladimir.
> > > > > >>
> > > > > >> It is just because the 'port' variable is set to 8080 and
on
> some
> > > > > >> machines this port has already been occupied.  The test
case
> will
> > > pass
> > > > > >> if we use Support_PortManager.getNextPort() on my side.
> > > > > >>
> > > > > >
> > > > > > Please don't use the PortManager, just open port 0 and let the
> OS
> > > > > > allocate a free port.  There are examples in the existing tests.
> > > > > >
> > > > > > Regards,
> > > > > > Tim
> > > > > >
> > > > > >
> > > > > Yes, I agree that we should use port 0 in almost all the test
> cases.
> > > > > However, it seems that this test case is a little bit special. It
> > > > > requires to initialize a ServerSocket to connect 0.0.0.0 after
> > > > > connecting localhost successfully.  If we use port 0 and 0.0.0.0at
> > > the
> > > > > same time, the ServerSocket constructed will be invalid.
> > > >
> > > >
> > > > Sorry Ruth, what did you mean here? A server socket  will connect to
> > > > somewhere?
> > > >
> > > > Could you please explain the scenario a bit more clearly?
> > > >
> > >
> > > I may explain you the interesting scenario :)
> > > If we create a ServerSocket with localhost, port X (X is not zero),
> > > close it,  and create another ServerSocket with 0.0.0.0,port X, this
> > > process in RI is fine, but Harmony fails.
> > > If we create a ServerSocket with localhost, port 0, close it,  and
> > > create another ServerSocket with 0.0.0.0,port 0, this process both
> > > fails on RI and Harmony when create the second ServerSocket.
> >
> >
> > Thanks Jimmy, interesting. But  I wrote following test case which  runs
> > well
> > against RI:
> > public void test() throws Exception {
> >         byte[] localAddress = {127,0,0,1};
> >         byte[] anyAddress = {0,0,0,0};
> >         InetAddress address = InetAddress.getByAddress(localAddress);
> > // create a server socket with localhost, port 0
> >         ServerSocket server = new ServerSocket(0, 5, address);
> > // close it
> >         server.close();
> >         address = InetAddress.getByAddress(anyAddress);
> > // create another server socket with 0.0.0.0, 0
> >         server = new ServerSocket(0, 5, address);
> > // close it
> >         server.close();
> >     }
> > Did I misuderstand the scenario?
>
>
> It is just the scenario on the ServerSocket side. Another part of the
> story
> is that the test case creates a Socket as a client to connect the above
> two
> ServerSockets. RI connects both successfully while Harmony fails to
> connect
> the second one.


Hi Ruth,

but I still don't understand why port 0 doesn't work?
server1 = new ServerSocket(0,....);
server2 = new ServerSocket(0,....);
port1 = server1.getLocalPort();
port2 = server2.getLocalPort();
connect to port1
connect to port2
Where's the problem?  Can't create server2? The code above runs well against
RI.

You see these two process are not the same and so that we can not use
> > > port 0 in the test.
> > >
> > >
> > > > Thus, shall we assign a rarely-used port (e.g. 50000), or continue
> > using
> > > > > Support_PortManager? Any ideas? Suggestions?
> > > > >
> > > > > --
> > > > > Regards,
> > > > >
> > > > > Ruth Cao
> > > > > China Software Development Lab, IBM
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > > Andrew Zhang
> > > >
> > >
> > >
> > > --
> > >
> > > Best Regards!
> > >
> > > Jimmy, Jing Lv
> > > China Software Development Lab, IBM
> > >
> >
> >
> >
> > --
> > Best regards,
> > Andrew Zhang
> >
>
>
>
> --
> Best regards,
>
> Ruth Cao
> China Software Development Lab, IBM
>



-- 
Best regards,
Andrew Zhang

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message