diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-04 02:40:40 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-04 02:40:40 +0000 |
commit | f27ff52d1e5bbd16447544761e446fe007d3efcf (patch) | |
tree | 938648aaa2ad9628f0b1b490b49db7cc321633e6 /test | |
parent | 8a85b8bef1229c3774096c6b804b0210743fb720 (diff) |
add a test for file descriptor passing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/socket/test_unix.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/socket/test_unix.rb b/test/socket/test_unix.rb new file mode 100644 index 0000000000..1314fca1f8 --- /dev/null +++ b/test/socket/test_unix.rb @@ -0,0 +1,28 @@ +begin + require "socket" + require "test/unit" +rescue LoadError +end + +class TestUNIXSocket < Test::Unit::TestCase + def test_fd_passing + r1, w = IO.pipe + s1, s2 = UNIXSocket.pair + begin + s1.send_io r1 + rescue NotImplementedError + s1.close + assert_raise(NotImplementedError) { s2.recv_io } + return + end + r2 = s2.recv_io + assert_equal(r1.stat.ino, r2.stat.ino) + assert_not_equal(r1.fileno, r2.fileno) + ensure + s1.close if s1 + s2.close if s2 + r1.close if r1 + r2.close if r2 + w.close if w + end +end if defined?(UNIXSocket) |