diff lib/tasks/.svn/text-base/testing.rake.svn-base @ 0:513646585e45

* Import Redmine trunk SVN rev 3859
author Chris Cannam
date Fri, 23 Jul 2010 15:52:44 +0100
parents
children af80e5618e9b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/tasks/.svn/text-base/testing.rake.svn-base	Fri Jul 23 15:52:44 2010 +0100
@@ -0,0 +1,41 @@
+### From http://svn.geekdaily.org/public/rails/plugins/generally_useful/tasks/coverage_via_rcov.rake
+
+namespace :test do
+  desc 'Measures test coverage'
+  task :coverage do
+    rm_f "coverage"
+    rm_f "coverage.data"
+    rcov = "rcov --rails --aggregate coverage.data --text-summary -Ilib --html"
+    files = Dir.glob("test/**/*_test.rb").join(" ")
+    system("#{rcov} #{files}")
+    system("open coverage/index.html") if PLATFORM['darwin']
+  end
+
+  namespace :scm do
+    namespace :setup do
+      desc "Creates directory for test repositories"
+      task :create_dir do
+        FileUtils.mkdir_p Rails.root + '/tmp/test'
+      end
+      
+      supported_scms = [:subversion, :cvs, :bazaar, :mercurial, :git, :darcs, :filesystem]
+      
+      desc "Creates a test subversion repository"
+      task :subversion => :create_dir do
+        repo_path = "tmp/test/subversion_repository"
+        system "svnadmin create #{repo_path}"
+        system "gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load #{repo_path}"
+      end
+      
+      (supported_scms - [:subversion]).each do |scm|
+        desc "Creates a test #{scm} repository"
+        task scm => :create_dir do
+          system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test"
+        end
+      end
+      
+      desc "Creates all test repositories"
+      task :all => supported_scms
+    end
+  end
+end