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 44 45 46 47 48 49 50 51 52 53 54
|
if HAVE_SPEC_RAKE_SPECTASK and not PROJ.spec.files.to_a.empty?
require 'spec/rake/verify_rcov'
namespace :spec do
desc 'Run all specs with basic output'
Spec::Rake::SpecTask.new(:run) do |t|
t.ruby_opts = PROJ.ruby_opts
t.spec_opts = PROJ.spec.opts
t.spec_files = PROJ.spec.files
t.libs += PROJ.libs
end
desc 'Run all specs with text output'
Spec::Rake::SpecTask.new(:specdoc) do |t|
t.ruby_opts = PROJ.ruby_opts
t.spec_opts = PROJ.spec.opts + ['--format', 'specdoc']
t.spec_files = PROJ.spec.files
t.libs += PROJ.libs
end
if HAVE_RCOV
desc 'Run all specs with RCov'
Spec::Rake::SpecTask.new(:rcov) do |t|
t.ruby_opts = PROJ.ruby_opts
t.spec_opts = PROJ.spec.opts
t.spec_files = PROJ.spec.files
t.libs += PROJ.libs
t.rcov = true
t.rcov_dir = PROJ.rcov.dir
t.rcov_opts = PROJ.rcov.opts + ['--exclude', 'spec']
end
RCov::VerifyTask.new(:verify) do |t|
t.threshold = PROJ.rcov.threshold
t.index_html = File.join(PROJ.rcov.dir, 'index.html')
t.require_exact_threshold = PROJ.rcov.threshold_exact
end
task :verify => :rcov
remove_desc_for_task %w(spec:clobber_rcov)
end
end # namespace :spec
desc 'Alias to spec:run'
task :spec => 'spec:run'
task :clobber => 'spec:clobber_rcov' if HAVE_RCOV
end # if HAVE_SPEC_RAKE_SPECTASK
# EOF
|