1 | assert('Socket.gethostname') do
|
---|
2 | assert_true(Socket.gethostname.is_a? String)
|
---|
3 | end
|
---|
4 |
|
---|
5 | assert('Socket::getaddrinfo') do
|
---|
6 | ret = Socket.getaddrinfo("localhost", "domain", Socket::AF_INET, Socket::SOCK_DGRAM)
|
---|
7 | assert_true ret.size >= 1
|
---|
8 | a = ret[0]
|
---|
9 | assert_equal "AF_INET", a[0]
|
---|
10 | assert_equal 53, a[1]
|
---|
11 | # documents says it's a hostname but CRuby returns an address
|
---|
12 | #assert_equal "127.0.0.1", a[2]
|
---|
13 | assert_equal "127.0.0.1", a[3]
|
---|
14 | assert_equal Socket::AF_INET, a[4]
|
---|
15 | assert_equal Socket::SOCK_DGRAM, a[5]
|
---|
16 | assert_equal Socket::IPPROTO_UDP, a[6]
|
---|
17 | end
|
---|
18 |
|
---|
19 | assert('Socket#recvfrom') do
|
---|
20 | begin
|
---|
21 | sstr = "abcdefg"
|
---|
22 | s = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
|
---|
23 | c = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
|
---|
24 | s.bind(Socket.sockaddr_in(0, "127.0.0.1"))
|
---|
25 | c.send sstr, 0, s.getsockname
|
---|
26 | rstr, ai = s.recvfrom sstr.size
|
---|
27 |
|
---|
28 | assert_equal sstr, rstr
|
---|
29 | assert_true "127.0.0.1", ai.ip_address
|
---|
30 | ensure
|
---|
31 | s.close rescue nil
|
---|
32 | c.close rescue nil
|
---|
33 | end
|
---|
34 | end
|
---|