Sha256: 813a2249d68f5d1898a4529601ef444aa8a18b2a19892f1a0657f94189626388

Contents?: true

Size: 607 Bytes

Versions: 202

Compression:

Stored size: 607 Bytes

Contents

module TestTimes
  def self.run(test_results, limit=0)
    limit = limit.nonzero? || 10
    tests = []
    test_results.split(/\n/).each do |line|
      if line =~ /^(.+?#[^:]+): ([0-9.]+) s: \.$/
        tests << [$1, $2.to_f, line]
      end
    end

    puts "#{limit} Slowest tests"
    puts tests.sort_by { |item|
      item[1]
    }.reverse[0...limit].map { |item|
      "%6.3f: %-s\n" % [item[1], item[0]]
    }
  end
end

namespace :test do
  desc "Find the slowest unit tests"
  task :times, [:limit] do |t, args|
    TestTimes.run `rake test:units TESTOPTS='--verbose'`, args.limit.to_i
  end
end

Version data entries

202 entries across 179 versions & 64 rubygems

Version Path
rake-10.2.1 rakelib/test_times.rake
rake-10.2.0 rakelib/test_times.rake