From: "U.Nakamura" Date: 2007-10-09T13:11:00+09:00 Subject: [ruby-dev:31979] openssl test failures on ruby_1_8 こんにちは、なかむら(う)です。 4ヶ月ほど前から、ruby_1_8のtest/openssl/test_pair.rbでFが4つ 出るようになっています(ruby_1_8_5やruby_1_8_6は問題ありません)。 これはr12496の「import OpenSSL from trunk」というcommitで、1.8 と1.9のEOF絡みの扱いの違いを考慮せずにtrunkから丸ごとマージが 行われたのが原因です。 なんか前にも指摘したような気もするし、しようと思ったまま忘れ ていたような気もするのですが、思い出してしまったのでパッチを 出しておきます。 Tue Oct 9 13:06:06 2007 NAKAMURA Usaku * ext/openssl/lib/openssl/buffering.rb (read, readpartial): revert r12496. handling EOF is a little differnt in ruby 1.8 and ruby 1.9. Index: ext/openssl/lib/openssl/buffering.rb =================================================================== --- ext/openssl/lib/openssl/buffering.rb (revision 13660) +++ ext/openssl/lib/openssl/buffering.rb (working copy) @@ -57,10 +57,10 @@ module Buffering if size == 0 if buf buf.clear - return buf else - return "" + buf = "" end + return @eof ? nil : buf end until @eof break if size && size <= @rbuffer.size @@ -78,10 +78,10 @@ module Buffering if maxlen == 0 if buf buf.clear - return buf else - return "" + buf = "" end + return @eof ? nil : buf end if @rbuffer.empty? begin それでは。 -- U.Nakamura