Filled out the project, added Ezmlm module + spec.
This commit is contained in:
parent
4b12c97f6b
commit
00d3974363
15 changed files with 1548 additions and 0 deletions
127
rake/testing.rb
Normal file
127
rake/testing.rb
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
#
|
||||
# Testing Rake Tasks
|
||||
# $Id$
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
# Keep these tasks optional by handling LoadErrors with stub task
|
||||
# replacements.
|
||||
begin
|
||||
gem 'rspec', '>= 1.1.1'
|
||||
require 'spec/rake/spectask'
|
||||
|
||||
COMMON_SPEC_OPTS = ['-c', '-f', 's']
|
||||
|
||||
### Task: spec
|
||||
Spec::Rake::SpecTask.new( :spec ) do |task|
|
||||
task.spec_files = SPEC_FILES
|
||||
task.libs += [LIBDIR]
|
||||
task.spec_opts = COMMON_SPEC_OPTS
|
||||
end
|
||||
task :test => [:spec]
|
||||
|
||||
|
||||
namespace :spec do
|
||||
desc "Generate HTML output for a spec run"
|
||||
Spec::Rake::SpecTask.new( :html ) do |task|
|
||||
task.spec_files = SPEC_FILES
|
||||
task.spec_opts = ['-f','h', '-D']
|
||||
end
|
||||
|
||||
desc "Generate plain-text output for a CruiseControl.rb build"
|
||||
Spec::Rake::SpecTask.new( :text ) do |task|
|
||||
task.spec_files = SPEC_FILES
|
||||
task.spec_opts = ['-f','p']
|
||||
end
|
||||
end
|
||||
rescue LoadError => err
|
||||
task :no_rspec do
|
||||
$stderr.puts "Testing tasks not defined: RSpec rake tasklib not available: %s" %
|
||||
[ err.message ]
|
||||
end
|
||||
|
||||
task :spec => :no_rspec
|
||||
namespace :spec do
|
||||
task :autotest => :no_rspec
|
||||
task :html => :no_rspec
|
||||
task :text => :no_rspec
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
### RCov (via RSpec) tasks
|
||||
begin
|
||||
gem 'rcov'
|
||||
gem 'rspec', '>= 1.1.1'
|
||||
|
||||
COVERAGE_TARGETDIR = STATICWWWDIR + 'coverage'
|
||||
|
||||
RCOV_OPTS = ['--exclude', SPEC_EXCLUDES, '--xrefs', '--save']
|
||||
|
||||
### Task: coverage (via RCov)
|
||||
### Task: spec
|
||||
desc "Build test coverage reports"
|
||||
Spec::Rake::SpecTask.new( :coverage ) do |task|
|
||||
task.spec_files = SPEC_FILES
|
||||
task.libs += [LIBDIR]
|
||||
task.spec_opts = ['-f', 'p', '-b']
|
||||
task.rcov_opts = RCOV_OPTS
|
||||
task.rcov = true
|
||||
end
|
||||
|
||||
|
||||
task :rcov => [:coverage] do; end
|
||||
|
||||
### Other coverage tasks
|
||||
namespace :coverage do
|
||||
desc "Generate a detailed text coverage report"
|
||||
Spec::Rake::SpecTask.new( :text ) do |task|
|
||||
task.spec_files = SPEC_FILES
|
||||
task.rcov_opts = RCOV_OPTS + ['--text-report']
|
||||
task.rcov = true
|
||||
end
|
||||
|
||||
desc "Show differences in coverage from last run"
|
||||
Spec::Rake::SpecTask.new( :diff ) do |task|
|
||||
task.spec_files = SPEC_FILES
|
||||
task.rcov_opts = ['--text-coverage-diff']
|
||||
task.rcov = true
|
||||
end
|
||||
|
||||
### Task: verify coverage
|
||||
desc "Build coverage statistics"
|
||||
VerifyTask.new( :verify => :rcov ) do |task|
|
||||
task.threshold = 85.0
|
||||
end
|
||||
|
||||
desc "Run RCov in 'spec-only' mode to check coverage from specs"
|
||||
Spec::Rake::SpecTask.new( :speconly ) do |task|
|
||||
task.spec_files = SPEC_FILES
|
||||
task.rcov_opts = ['--exclude', SPEC_EXCLUDES, '--text-report', '--save']
|
||||
task.rcov = true
|
||||
end
|
||||
end
|
||||
|
||||
task :clobber_coverage do
|
||||
rmtree( COVERAGE_TARGETDIR )
|
||||
end
|
||||
|
||||
rescue LoadError => err
|
||||
task :no_rcov do
|
||||
$stderr.puts "Coverage tasks not defined: RSpec+RCov tasklib not available: %s" %
|
||||
[ err.message ]
|
||||
end
|
||||
|
||||
task :coverage => :no_rcov
|
||||
task :clobber_coverage
|
||||
task :rcov => :no_rcov
|
||||
namespace :coverage do
|
||||
task :text => :no_rcov
|
||||
task :diff => :no_rcov
|
||||
end
|
||||
task :verify => :no_rcov
|
||||
end
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue