[Ruby 1.9-Bug#4187][Open] Error: test_starttls(IMAPTest)

Bug #4187: Error: test_starttls(IMAPTest)
http://redmine.ruby-lang.org/issues/show/4187

起票者: Kazuhiro NISHIYAMA
ステータス: Open, 優先度: Normal
カテゴリ: test
ruby -v: ruby 1.9.3dev (2010-12-22 trunk 30291) [x86_64-linux]

test_starttls で Error になります。
IOError の方が多いのですが、何度か実行していると OpenSSL::SSL::SSLError になることもあるようです。
表面化するようになった理由は #4186 と同じ証明書の期限切れのようです。

assert がないのでエラーになった方が良いのかもしれませんが、 imap.logout と imap.disconnect の
ところに imap.disconnected? のチェックを追加するとエラーにならなくなるようです。

  1. Error:
    test_starttls(IMAPTest):
    IOError: closed stream
    test/net/imap/test_imap.rb:440:in ensure in starttls_test' test/net/imap/test_imap.rb:440:instarttls_test’
    test/net/imap/test_imap.rb:109:in `test_starttls’

  2. Error:
    test_starttls(IMAPTest):
    OpenSSL::SSL::SSLError: SSL_write:: certificate verify failed
    test/net/imap/test_imap.rb:438:in starttls_test' test/net/imap/test_imap.rb:109:intest_starttls’

diff --git a/test/net/imap/test_imap.rb b/test/net/imap/test_imap.rb
index 8ccec64…01982ab 100644
— a/test/net/imap/test_imap.rb
+++ b/test/net/imap/test_imap.rb
@@ -435,9 +435,9 @@ class IMAPTest < Test::Unit::TestCase
begin
begin
imap = yield(port)

  •    imap.logout
    
  •    imap.logout if !imap.disconnected?
     ensure
    
  •    imap.disconnect if imap
    
  •    imap.disconnect if imap && !imap.disconnected?
     end
    
    ensure
    server.close

$BA0ED$G$9!#(B

2010$BG/(B12$B7n(B23$BF|(B7:47 Kazuhiro NISHIYAMA
[email protected]:

test_starttls $B$G(B Error $B$K$J$j$^$9!#(B
IOError $B$NJ}$,B?$$$N$G$9$,!“2?EY$+<B9T$7$F$$$k$H(B OpenSSL::SSL::SSLError
$B$K$J$k$3$H$b$”$k$h$&$G$9!#(B
$BI=LL2=$9$k$h$&$K$J$C$?M}M3$O(B #4186 $B$HF1$8>[email protected]=q$N4|[email protected]$l$N$h$&$G$9!#(B

assert $B$,$J$$$N$G%(%i!<$K$J$C$?J}$,NI$$$N$+$b$7$l$^$;$s$,!"(B imap.logout
$B$H(B imap.disconnect $B$N(B
$B$H$3$m$K(B imap.disconnected?
$B$N%A%’%C%/$rDI2C$9$k$H%(%i!<$K$J$i$J$/$J$k$h$&$G$9!#(B

[email protected]$$$?%Q%C%A$GLdBj$J$5$=$&$J$N$G!"8e$G(Bcommit$B$7$F$*$-$^$9!#(B

チケット #4187 が更新されました。 (by Shugo M.)

ステータス OpenからClosedに変更
進捗 % 0から100に変更

This issue was solved with changeset r30544.
Kazuhiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • test/net/imap/test_imap.rb: call neither logout nor disconnect
    unless connected. patch by Kazuhiro NISHIYAMA. [ruby-dev:42860]