# Local Rake override to fix bug in Ruby 0.8.2
module Test                     # :nodoc:
  # Local Rake override to fix bug in Ruby 0.8.2
  module Unit                   # :nodoc:
    # Local Rake override to fix bug in Ruby 0.8.2
    module Collector            # :nodoc:
      # Local Rake override to fix bug in Ruby 0.8.2
      class Dir                 # :nodoc:
        undef collect_file
        def collect_file(name, suites, already_gathered) # :nodoc:
          dir = File.dirname(File.expand_path(name))
          $:.unshift(dir) unless $:.first == dir
          if @req
            @req.require(name)
          else
            require(name)
          end
          find_test_cases(already_gathered).each do |t|
            add_suite(suites, t.suite)
          end
        ensure
          $:.delete_at $:.rindex(dir)
        end
      end
    end
  end
end

# TODO: Remove in rake 11

# Local Rake override to fix bug in Ruby 0.8.2
module Test                     # :nodoc:
  # Local Rake override to fix bug in Ruby 0.8.2
  module Unit                   # :nodoc:
    # Local Rake override to fix bug in Ruby 0.8.2
    module Collector            # :nodoc:
      # Local Rake override to fix bug in Ruby 0.8.2
      class Dir                 # :nodoc:
        undef collect_file
        def collect_file(name, suites, already_gathered) # :nodoc:
          dir = File.dirname(File.expand_path(name))
          $:.unshift(dir) unless $:.first == dir
          if @req
            @req.require(name)
          else
            require(name)
          end
          find_test_cases(already_gathered).each do |t|
            add_suite(suites, t.suite)
          end
        ensure
          $:.delete_at $:.rindex(dir)
        end
      end
    end
  end
end

Mark the 1.8.2 test/unit fix for removal in Rake 11
Mark the 1.8.2 test/unit fix for removal in Rake 11
