Mercurial > hg > soundsoftware-site
annotate lib/tasks/testing.rake @ 870:b8475c3e5f30 feature_126
Close obsolete branch feature_126
author | Chris Cannam |
---|---|
date | Sat, 02 Apr 2011 16:11:30 +0100 |
parents | 513646585e45 |
children | af80e5618e9b |
rev | line source |
---|---|
Chris@0 | 1 ### From http://svn.geekdaily.org/public/rails/plugins/generally_useful/tasks/coverage_via_rcov.rake |
Chris@0 | 2 |
Chris@0 | 3 namespace :test do |
Chris@0 | 4 desc 'Measures test coverage' |
Chris@0 | 5 task :coverage do |
Chris@0 | 6 rm_f "coverage" |
Chris@0 | 7 rm_f "coverage.data" |
Chris@0 | 8 rcov = "rcov --rails --aggregate coverage.data --text-summary -Ilib --html" |
Chris@0 | 9 files = Dir.glob("test/**/*_test.rb").join(" ") |
Chris@0 | 10 system("#{rcov} #{files}") |
Chris@0 | 11 system("open coverage/index.html") if PLATFORM['darwin'] |
Chris@0 | 12 end |
Chris@0 | 13 |
Chris@0 | 14 namespace :scm do |
Chris@0 | 15 namespace :setup do |
Chris@0 | 16 desc "Creates directory for test repositories" |
Chris@0 | 17 task :create_dir do |
Chris@0 | 18 FileUtils.mkdir_p Rails.root + '/tmp/test' |
Chris@0 | 19 end |
Chris@0 | 20 |
Chris@0 | 21 supported_scms = [:subversion, :cvs, :bazaar, :mercurial, :git, :darcs, :filesystem] |
Chris@0 | 22 |
Chris@0 | 23 desc "Creates a test subversion repository" |
Chris@0 | 24 task :subversion => :create_dir do |
Chris@0 | 25 repo_path = "tmp/test/subversion_repository" |
Chris@0 | 26 system "svnadmin create #{repo_path}" |
Chris@0 | 27 system "gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load #{repo_path}" |
Chris@0 | 28 end |
Chris@0 | 29 |
Chris@0 | 30 (supported_scms - [:subversion]).each do |scm| |
Chris@0 | 31 desc "Creates a test #{scm} repository" |
Chris@0 | 32 task scm => :create_dir do |
Chris@0 | 33 system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test" |
Chris@0 | 34 end |
Chris@0 | 35 end |
Chris@0 | 36 |
Chris@0 | 37 desc "Creates all test repositories" |
Chris@0 | 38 task :all => supported_scms |
Chris@0 | 39 end |
Chris@0 | 40 end |
Chris@0 | 41 end |