Bug #2111: Error:test_rm_f(TestFileUtils)
http://redmine.ruby-lang.org/issues/show/2111

起票者: Kazuhiro NISHIYAMA
ステータス: Open, 優先度: Normal
ruby -v: ruby 1.9.2dev (2009-09-17 trunk 24982) [i686-linux]

rm_f の引数の意味が FileUtils.rm_f と mkmf.rb の rm_f で違うため、
mkmf と rake が require されていると test_rm_f が mkmf.rb の
rm_f で Dir[*files] の files が配列の配列になっていてエラーになります。

rm_f の違いとしては FileUtils.rm_f は
 rm_f(list, options = {})
で複数ファイルは配列でしか指定できないのに対して、
mkmf.rb の方の rm_f は
 rm_f(*files)
となっていて、複数引数でも指定できるようになっています。

さらに mkmf.rb の方は Dir.[] も通すので、グロブの
ワイルドカードなどになる文字が含まれているときの
挙動が変わると思います。

% ruby-trunk -r rake -r mkmf -v test/fileutils/test_fileutils.rb -n test_rm_f
ruby 1.9.2dev (2009-09-17 trunk 24982) [i686-linux]
Loaded suite test/fileutils/test_fileutils
Started
cp data/a tmp/rmsrc
cp data/all tmp/rmsrc
cp data/random tmp/rmsrc
cp data/zero tmp/rmsrc
E
Finished in 0.013124 seconds.

  1) Error:
test_rm_f(TestFileUtils):
TypeError: can't convert Array into String
    test/fileutils/test_fileutils.rb:425:in `test_rm_f'

1 tests, 7 assertions, 0 failures, 1 errors, 0 skips
%


----------------------------------------
http://redmine.ruby-lang.org