Actions
Bug #6751
closedremove tempfiles early.
Description
cgi.rb で、テンポラリファイル (Tempfile) をなるべく早く消すようにすると良いと
思うのですがいかがでしょうか。
いずれ GC で消されるはずなので、Bug というほどの話ではありませんが。
./ruby test/runner.rb test/cgi の各テストでテンポラリファイルが残らないように
したものを cgi-tempfile.patch として作ってみました。
- read_multipart で params に入れないものはそこで消す
- read_multipart で例外が起きたら、内部で作ったものはすべて消す
- テスト内で作ったものはテストが終わる前に消す
なお、テスト毎に残っていないか確認するのは以下のようにして行いました。
Index: lib/minitest/unit.rb¶
--- lib/minitest/unit.rb (revision 36442)
+++ lib/minitest/unit.rb (working copy)
@@ -1082,6 +1082,10 @@ module MiniTest
end
trap 'INFO', 'DEFAULT' if SUPPORTS_INFO_SIGNAL
end
-
if !(live_tempfiles = ObjectSpace.each_object(Tempfile).find_all {|t| t.path }).empty?
-
puts nil, "after #{self.__name__}", *live_tempfiles.map {|t| t.inspect }
-
live_tempfiles.each {|t| t.unlink }
-
end result end
どうでしょうか。
Files
Updated by ko1 (Koichi Sasada) almost 12 years ago
- Target version changed from 2.0.0 to 2.1.0
Updated by akr (Akira Tanaka) almost 12 years ago
2013年2月17日 19:10 ko1 (Koichi Sasada) redmine@ruby-lang.org:
Issue #6751 has been updated by ko1 (Koichi Sasada).
Target version changed from 2.0.0 to 2.1.0
r37471 でパッチが当たっているような気がします。¶
[田中 哲][たなか あきら][Tanaka Akira]
Updated by xibbar (Takeyuki FUJIOKA) almost 12 years ago
- Status changed from Assigned to Closed
チケットの更新し忘れでした。
akrさんの言う通り、パッチはすでに当たっています。
Actions
Like0
Like0Like0Like0