[Ruby 1.9 - Bug #4846][Assigned] Permission denied - /tmp/nonexisting

Issue #4846 has been reported by Kazuhiro NISHIYAMA.


Bug #4846: Permission denied - /tmp/nonexisting

Author: Kazuhiro NISHIYAMA
Status: Assigned
Priority: Normal
Assignee: Kazuhiro NISHIYAMA
Category: test
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2011-06-06 trunk 31944) [x86_64-linux]

=begin
なぜか chkbuild が所有者になっている /tmp/nonexisting というファイルが存在していて、
test_s_binwrite(TestIO) と test_s_write(TestIO) が以下の Failure になります。

[Errno::EINVAL] exception expected, not
Class: Errno::EACCES
Message: <“Permission denied - /tmp/nonexisting”>

基本的には (Tempfile や Tmpdir 以外で) ファイルを作成するなら ensure で確実に削除してください。

そもそも /tmp 決め打ちでファイルを読み書きしないでください。

プラットフォームによっては /tmp がなかったり、/tmp があっても symlink attack の危険があったり、複数のユーザで同時に
test-all を実行したときに問題が起きたりすると思います。

=end