Mercurial > hg > soundsoftware-site
comparison lib/tasks/.svn/text-base/testing.rake.svn-base @ 514:7eba09d624db live
Merge
author | Chris Cannam |
---|---|
date | Thu, 14 Jul 2011 10:50:53 +0100 |
parents | 051f544170fe |
children |
comparison
equal
deleted
inserted
replaced
512:b9aebdd7dd40 | 514:7eba09d624db |
---|---|
7 rm_f "coverage.data" | 7 rm_f "coverage.data" |
8 rcov = "rcov --rails --aggregate coverage.data --text-summary -Ilib --html" | 8 rcov = "rcov --rails --aggregate coverage.data --text-summary -Ilib --html" |
9 files = Dir.glob("test/**/*_test.rb").join(" ") | 9 files = Dir.glob("test/**/*_test.rb").join(" ") |
10 system("#{rcov} #{files}") | 10 system("#{rcov} #{files}") |
11 system("open coverage/index.html") if PLATFORM['darwin'] | 11 system("open coverage/index.html") if PLATFORM['darwin'] |
12 end | |
13 | |
14 desc 'Run unit and functional scm tests' | |
15 task :scm do | |
16 errors = %w(test:scm:units test:scm:functionals).collect do |task| | |
17 begin | |
18 Rake::Task[task].invoke | |
19 nil | |
20 rescue => e | |
21 task | |
22 end | |
23 end.compact | |
24 abort "Errors running #{errors.to_sentence(:locale => :en)}!" if errors.any? | |
12 end | 25 end |
13 | 26 |
14 namespace :scm do | 27 namespace :scm do |
15 namespace :setup do | 28 namespace :setup do |
16 desc "Creates directory for test repositories" | 29 desc "Creates directory for test repositories" |
25 repo_path = "tmp/test/subversion_repository" | 38 repo_path = "tmp/test/subversion_repository" |
26 system "svnadmin create #{repo_path}" | 39 system "svnadmin create #{repo_path}" |
27 system "gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load #{repo_path}" | 40 system "gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load #{repo_path}" |
28 end | 41 end |
29 | 42 |
30 (supported_scms - [:subversion]).each do |scm| | 43 desc "Creates a test mercurial repository" |
44 task :mercurial => :create_dir do | |
45 repo_path = "tmp/test/mercurial_repository" | |
46 bundle_path = "test/fixtures/repositories/mercurial_repository.hg" | |
47 system "hg init #{repo_path}" | |
48 system "hg -R #{repo_path} pull #{bundle_path}" | |
49 end | |
50 | |
51 (supported_scms - [:subversion, :mercurial]).each do |scm| | |
31 desc "Creates a test #{scm} repository" | 52 desc "Creates a test #{scm} repository" |
32 task scm => :create_dir do | 53 task scm => :create_dir do |
33 system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test" | 54 # system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test" |
55 system "tar -xvz -C tmp/test -f test/fixtures/repositories/#{scm}_repository.tar.gz" | |
34 end | 56 end |
35 end | 57 end |
36 | 58 |
37 desc "Creates all test repositories" | 59 desc "Creates all test repositories" |
38 task :all => supported_scms | 60 task :all => supported_scms |
39 end | 61 end |
62 | |
63 desc "Updates installed test repositories" | |
64 task :update do | |
65 require 'fileutils' | |
66 Dir.glob("tmp/test/*_repository").each do |dir| | |
67 next unless File.basename(dir) =~ %r{^(.+)_repository$} && File.directory?(dir) | |
68 scm = $1 | |
69 next unless fixture = Dir.glob("test/fixtures/repositories/#{scm}_repository.*").first | |
70 next if File.stat(dir).ctime > File.stat(fixture).mtime | |
71 | |
72 FileUtils.rm_rf dir | |
73 Rake::Task["test:scm:setup:#{scm}"].execute | |
74 end | |
75 end | |
76 | |
77 Rake::TestTask.new(:units => "db:test:prepare") do |t| | |
78 t.libs << "test" | |
79 t.verbose = true | |
80 t.test_files = FileList['test/unit/repository*_test.rb'] + FileList['test/unit/lib/redmine/scm/**/*_test.rb'] | |
81 end | |
82 Rake::Task['test:scm:units'].comment = "Run the scm unit tests" | |
83 | |
84 Rake::TestTask.new(:functionals => "db:test:prepare") do |t| | |
85 t.libs << "test" | |
86 t.verbose = true | |
87 t.test_files = FileList['test/functional/repositories*_test.rb'] | |
88 end | |
89 Rake::Task['test:scm:functionals'].comment = "Run the scm functional tests" | |
40 end | 90 end |
41 end | 91 end |