summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-05 13:40:42 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-05 13:40:42 +0000
commit0cd078e358fda09865d2a5b2d4c0c24eeb629811 (patch)
tree403218892c89a299877197b37c4a20f429eb4bbf /test
parent8dee58d7e15bf41196f07f52e13c789139f18414 (diff)
don't get a name for anonymous Unix socket.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/socket/test_unix.rb24
1 files changed, 14 insertions, 10 deletions
diff --git a/test/socket/test_unix.rb b/test/socket/test_unix.rb
index 853fb28ef5..93c31212b2 100644
--- a/test/socket/test_unix.rb
+++ b/test/socket/test_unix.rb
@@ -5,6 +5,7 @@ end
require "test/unit"
require "tempfile"
+require "tmpdir"
class TestUNIXSocket < Test::Unit::TestCase
def test_fd_passing
@@ -167,17 +168,20 @@ class TestUNIXSocket < Test::Unit::TestCase
end
def test_initialize
- Socket.open(Socket::AF_UNIX, Socket::SOCK_STREAM, 0) {|s|
- addr = s.getsockname
- assert_nothing_raised { Socket.unpack_sockaddr_un(addr) }
- assert_raise(ArgumentError) { Socket.unpack_sockaddr_in(addr) }
- }
- Socket.open("AF_UNIX", "SOCK_STREAM", 0) {|s|
- addr = s.getsockname
- assert_nothing_raised { Socket.unpack_sockaddr_un(addr) }
- assert_raise(ArgumentError) { Socket.unpack_sockaddr_in(addr) }
+ Dir.mktmpdir {|d|
+ Socket.open(Socket::AF_UNIX, Socket::SOCK_STREAM, 0) {|s|
+ s.bind(Socket.pack_sockaddr_un("#{d}/s1"))
+ addr = s.getsockname
+ assert_nothing_raised { Socket.unpack_sockaddr_un(addr) }
+ assert_raise(ArgumentError) { Socket.unpack_sockaddr_in(addr) }
+ }
+ Socket.open("AF_UNIX", "SOCK_STREAM", 0) {|s|
+ s.bind(Socket.pack_sockaddr_un("#{d}/s2"))
+ addr = s.getsockname
+ assert_nothing_raised { Socket.unpack_sockaddr_un(addr) }
+ assert_raise(ArgumentError) { Socket.unpack_sockaddr_in(addr) }
+ }
}
end
-
end if defined?(UNIXSocket) && /cygwin/ !~ RUBY_PLATFORM