[#45906] ' failures. — Tanaka Akira <akr@...>
' の扱いが変化したことで、テストが失敗しているようです。
9 messages
2012/07/04
[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>
24 messages
2012/07/04
[#45928] Re: [ruby-cvs:43524] kosaki:r36348 (trunk): * include/ruby/ruby.h: Removed RUBY_GLOBAL_SETUP complely. It is — SASADA Koichi <ko1@...>
ささだです.
3 messages
2012/07/09
[#45973] [ruby-trunk - Bug #6751][Assigned] remove tempfiles early. — "akr (Akira Tanaka)" <akr@...>
4 messages
2012/07/18
[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
9 messages
2012/07/20
[#45977] [ruby-trunk - Feature #6757][Open] [PATCH] Add Process.getsid — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
6 messages
2012/07/20
[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>
13 messages
2012/07/30
[ruby-dev:45973] [ruby-trunk - Bug #6751][Assigned] remove tempfiles early.
From:
"akr (Akira Tanaka)" <akr@...>
Date:
2012-07-18 11:37:42 UTC
List:
ruby-dev #45973
Issue #6751 has been reported by akr (Akira Tanaka).
----------------------------------------
Bug #6751: remove tempfiles early.
https://bugs.ruby-lang.org/issues/6751
Author: akr (Akira Tanaka)
Status: Assigned
Priority: Normal
Assignee: xibbar (Takeyuki Fujioka)
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-07-18 trunk 36442) [x86_64-linux]
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
どうでしょうか。
--
http://bugs.ruby-lang.org/