Project

General

Profile

Feature #8897 » test.diff

testcase for TCP fast open - Glass_saga (Masaki Matsushita), 09/17/2013 11:48 PM

View differences:

test/socket/test_socket.rb
assert_instance_of(Socket::Ifaddr, ifaddr)
}
end
def test_tcp_fastopen
port = random_port
serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM)
serv.setsockopt(Socket::SOL_TCP, Socket::TCP_FASTOPEN, 5)
addrinfo = Addrinfo.new(Socket.sockaddr_in(port, "localhost"))
serv.bind(addrinfo)
serv.listen(1)
th = Thread.new do
sock, = serv.accept
begin
assert_equal("foo", sock.read)
ensure
sock.close if sock && !sock.closed?
end
end
sock = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM)
len = sock.send("foo", Socket::MSG_FASTOPEN, Socket.sockaddr_in(port, "localhost"))
assert_equal(len, 3)
sock.close
assert(th.join(10))
ensure
th.kill if th
sock.close if sock && !sock.closed?
end if defined?(Socket::TCP_FASTOPEN) && defined?(Socket::MSG_FASTOPEN)
end if defined?(Socket)
(2-2/2)