summaryrefslogtreecommitdiffhomepage
path: root/test/socket.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/socket.rb')
-rw-r--r--test/socket.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/socket.rb b/test/socket.rb
index b602cc15d..517f5a00c 100644
--- a/test/socket.rb
+++ b/test/socket.rb
@@ -15,3 +15,20 @@ assert('Socket::getaddrinfo') do
assert_equal Socket::SOCK_DGRAM, a[5]
assert_equal Socket::IPPROTO_UDP, a[6]
end
+
+assert('Socket#recvfrom') do
+ begin
+ sstr = "abcdefg"
+ s = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
+ c = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
+ s.bind(Socket.sockaddr_in(0, "127.0.0.1"))
+ c.send sstr, 0, s.getsockname
+ rstr, ai = s.recvfrom sstr.size
+
+ assert_equal sstr, rstr
+ assert_true "127.0.0.1", ai.ip_address
+ ensure
+ s.close rescue nil
+ c.close rescue nil
+ end
+end