From: "とみたまさひろ" Date: 2006-06-26T00:48:17+09:00 Subject: [ruby-dev:28854] Re: ruby 1.8.5 preview1 (Re: Re: 1.8.5 release schedule?) とみたです。 On Sun, 25 Jun 2006 22:30:35 +0900 とみたまさひろ wrote: > 1) Failure: > test_seqpacket_pair(TestUNIXSocket) [./socket/test_unix.rb:148]: > <""> expected but was > <"haha">. どうも、Solaris では SOCK_SEQPACKET 時に空データのパケットは無かったこ とになっているようです。 これが Solaris の仕様なのかバグなのか、SVR4 ではこういうものなのか、 実は Linux が特別なのか…はわかりません。 とりあえず、次のようにテストを修正したらうまく行きました。 --- test_unix.rb.orig Sun Jun 18 00:53:28 2006 +++ test_unix.rb Mon Jun 26 00:45:30 2006 @@ -141,14 +141,14 @@ def test_seqpacket_pair s1, s2 = UNIXSocket.pair(Socket::SOCK_SEQPACKET) assert_raise(Errno::EAGAIN) { s1.recv_nonblock(10) } - s2.send("", 0) - s2.send("haha", 0) - s2.send("", 0) - s2.send("", 0) - assert_equal("", s1.recv(10)) - assert_equal("haha", s1.recv(10)) - assert_equal("", s1.recv(10)) - assert_equal("", s1.recv(10)) + s2.send("a", 0) + s2.send("bc", 0) + s2.send("d", 0) + s2.send("efg", 0) + assert_equal("a", s1.recv(10)) + assert_equal("bc", s1.recv(10)) + assert_equal("d", s1.recv(10)) + assert_equal("efg", s1.recv(10)) assert_raise(Errno::EAGAIN) { s1.recv_nonblock(10) } rescue Errno::EPROTONOSUPPORT ensure -- とみたまさひろ 3469 42CC 4D32 F53C AD98 65A5 8C37 FF09 69C1 6040