Bug #2405: Test::Unit.runの条件判定が逆?
http://redmine.ruby-lang.org/issues/show/2405

起票者: Sho Hashimoto
ステータス: Open, 優先度: Normal
ruby -v: ruby 1.8.7 (2008-08-11 patchlevel 72)

Test::Unit.runにtrueを代入すると、単体テストが自動実行されません。

test/unit.rbには以下のような説明があるので、trueを代入した時に自動実行
したいという意図があると考えました。どちらが正しいのでしょうか?

  # Automatically run tests at exit?
  def self.run?
    @run ||= false
  end

もし不具合なら、以下のような修正になると考えています。

  --- unit.rb   2007-02-13 08:01:19.000000000 +0900
  +++ unit.rb   2009-11-26 18:18:01.000000000 +0900
  @@ -268,13 +268,13 @@
   
       # Automatically run tests at exit?
       def self.run?
  -      @run ||= false
  +      @run ||= true
       end
     end
   end
   
   at_exit do
  -  unless $! || Test::Unit.run?
  +  if $!.nil? && Test::Unit.run?
       exit Test::Unit::AutoRunner.run
     end
   end


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