Issue #9571 has been updated by Usaku NAKAMURA. Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN to 1.9.3: REQUIRED, 2.0.0: UNKNOWN, 2.1: REQUIRED ---------------------------------------- Bug #9571: "Error: TestFileUtils#test_rmdir: Errno::EEXIST: File exists @ dir_s_rmdir - data" on Solaris https://bugs.ruby-lang.org/issues/9571#change-47545 * Author: Naohisa Goto * Status: Closed * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.2.0dev (2014-02-26) [sparc64-solaris2.10] * Backport: 1.9.3: REQUIRED, 2.0.0: UNKNOWN, 2.1: REQUIRED ---------------------------------------- Solarisにて、いつからかは忘れましたが、make test-all にて以下のErrorが生じています。 52) Error: TestFileUtils#test_rmdir: Errno::EEXIST: File exists @ dir_s_rmdir - data /XXXXX/lib/fileutils.rb:277:in `rmdir' /XXXXX/lib/fileutils.rb:277:in `block in rmdir' /XXXXX/lib/fileutils.rb:271:in `each' /XXXXX/lib/fileutils.rb:271:in `rmdir' /XXXXX/test/fileutils/test_fileutils.rb:1380:in `block in test_rmdir' /XXXXX/lib/test/unit/assertions.rb:166:in `assert_nothing_raised' /XXXXX/test/fileutils/test_fileutils.rb:1379:in `test_rmdir' Solaris では、中身が残っているディレクトリをrmdirしようとしたとき、errno に EEXIST をセットします。 http://docs.oracle.com/cd/E23824_01/html/821-1463/rmdir-2.html $ irb irb(main):001:0> Dir.mkdir('aaa') => 0 irb(main):002:0> Dir.mkdir('aaa/bbb') => 0 irb(main):003:0> Dir.rmdir('aaa') Errno::EEXIST: File exists - aaa from (irb):3:in `rmdir' from (irb):3 from /usr/local/64/bin/irb:12:in `<main>' irb(main):004:0> SunOS 4 では ENOTEMPTY を使用していたが Solaris では EEXIST に変更になったとの記述も見つけました。 http://docs.oracle.com/cd/E19455-01/806-2724/6jbu1b2ck/index.html しかし、fileutils.rbのrmdirは、これに対応していないため、エラーになるようです。 -- https://bugs.ruby-lang.org/