Stuck in test/openssl/test_ssl.rb on Windows

Issue #9881 has been updated by Akira T…

まず ssl.sync_close = true の意味は、
ssl.close としたときに ssl に入っている
IO も同時に close するようにする、という意味です。

これがないと、test_verify_result で
sock = TCPSocket.new(“127.0.0.1”, port) として作ったソケットを close し忘れることになります。

close するようにしたら刺さるようになるというのは
ちょっと原因が想像しがたいのですが、
とりあえず刺さっているのはどこでしょうか。

刺さっている場所は ssl.sync_close = true そのものじゃなくて、それよりも後ではないかと思うのですが。

あと思いつくこととしては、test_verify_result は 3つのテストが入っている感じなので、
メソッドを 3つに分けてみるとかでしょうか。
それも含め、再現スクリプトを最小化してみるというのはどうでしょうか。


Bug #9881: stuck in test/openssl/test_ssl.rb on Windows
https://bugs.ruby-lang.org/issues/9881#change-46962

  • Author: Usaku NAKAMURA
  • Status: Assigned
  • Priority: Normal
  • Assignee: Akira T.
  • Category: test
  • Target version: current: 2.2.0
  • ruby -v: ruby 2.2.0dev (2014-05-29 trunk 46235) [x64-mswin64_100]
  • Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN

r46223以降、WindowsにおいてOpenSSL::TestSSL#test_verify_resultで刺さってしまうようになりました。
(CI等で確認できます)

調べてみたところ、この変更時に追加された、

  ssl.sync_close = true

の1行が問題のようです。
よくわからないのですが、他のテストメソッドはこれがあっても問題ありません。

意味がわかってないので私にはなんとも言えないのですが、何かわかりますでしょうか?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs