aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/Rakefile
blob: c92b1964046fb47cb76b022bdbca333d97f9d50d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
require 'rake'
require 'rake/testtask'
require 'pathname'

TEST_DIRECTORY = Pathname.new(File.expand_path(__FILE__)).parent.realpath

TEST_FILES = FileList["#{TEST_DIRECTORY}/test_*.rb"]

Dir.chdir TEST_DIRECTORY

task :default => :test

Rake::TestTask.new :test do |t|
  t.libs << Dir.pwd
  t.test_files = TEST_FILES
end

namespace :test do
  TEST_FILES.each do |file|
    task = /test_(.+)\.rb/.match(file)
    Rake::TestTask.new(task[1]) do |t|
      t.libs << Dir.pwd
      t.pattern = task[0]
    end
  end
end

begin
  require 'rubygems'
  require 'rcov/rcovtask'

  Rcov::RcovTask.new do |t|
    t.libs << Dir.pwd
    t.test_files = TEST_FILES
    t.rcov_opts = %w{--exclude=Gems
                     --exclude=test_
                     --exclude=testball
                     --exclude=testing}
    t.output_dir = TEST_DIRECTORY+'coverage'
  end
rescue LoadError
  nil
end