Hi everybody,

I found a bug of SocketChannel.socket() of RI.

Consider following test case:

   public void test_socket() throws IOException {
       SocketChannel sc = SocketChannel.open();
       Socket socket = sc.socket();
       assertFalse(socket.isBound());
// RI returns 0 instead of -1 here.
       assertEquals(-1, socket.getLocalPort());
   }

RI 1.5 fails while Harmony passes.

"returns the local port number to which this socket is bound or -1 if the
socket is not bound yet." That's how spec describes getLocalPort method.

RI returns 0 for an unbound socket, violates spec apparently.

How shall we deal with this bug to bug compatibility?

Any suggestions? Thank you very much!


--
Andrew Zhang
China Software Development Lab, IBM

Reply via email to