7 class TestBasicSocket < Test::Unit::TestCase
9 sock = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
12 assert_raise(IOError) {sock.close}
17 n = s.getsockopt(Socket::SOL_SOCKET, Socket::SO_TYPE)
18 assert_equal([Socket::SOCK_STREAM].pack("i"), n)
19 n = s.getsockopt(Socket::SOL_SOCKET, Socket::SO_ERROR)
20 assert_equal([0].pack("i"), n)
22 class << val; self end.__send__(:define_method, :to_int) {
26 assert_raise(IOError) {
27 n = s.getsockopt(Socket::SOL_SOCKET, val)
32 def test_setsockopt # [ruby-dev:25039]
34 linger = [0, 0].pack("ii")
37 class << val; self end.__send__(:define_method, :to_str) {
42 assert_equal(0, s.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, linger))
44 assert_raise(IOError) {
45 s.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, val)
50 class << val; self end.__send__(:define_method, :to_int) {
55 assert_raise(IOError) {
56 s.setsockopt(Socket::SOL_SOCKET, val, linger)
64 class << log; self end.__send__(:define_method, :to_int) {
69 assert_raise(IOError) {
74 end if defined?(Socket)
76 class TestSocket < Test::Unit::TestCase
77 def test_unpack_sockaddr
78 sockaddr_in = Socket.sockaddr_in(80, "")
79 assert_raise(ArgumentError) { Socket.unpack_sockaddr_un(sockaddr_in) }
80 sockaddr_un = Socket.sockaddr_un("/tmp/s")
81 assert_raise(ArgumentError) { Socket.unpack_sockaddr_in(sockaddr_un) }
83 end if defined?(Socket) && Socket.respond_to?(:sockaddr_un)