Adds a rake task test:scm:update to update test repositories if needed.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4643 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2011-01-06 18:52:37 +00:00
parent 1bf33bb619
commit e6118347d3
2 changed files with 83 additions and 68 deletions

View File

@ -16,6 +16,7 @@ namespace :ci do
Rake::Task["db:create"].invoke
Rake::Task["db:migrate"].invoke
Rake::Task["db:schema:dump"].invoke
Rake::Task["test:scm:update"].invoke
end
desc "Build Redmine"

View File

@ -51,6 +51,20 @@ namespace :test do
task :all => supported_scms
end
desc "Updates installed test repositories"
task :update do
require 'fileutils'
Dir.glob("tmp/test/*_repository").each do |dir|
next unless File.basename(dir) =~ %r{^(.+)_repository$} && File.directory?(dir)
scm = $1
next unless fixture = Dir.glob("test/fixtures/repositories/#{scm}_repository.*").first
next if File.stat(dir).ctime > File.stat(fixture).mtime
FileUtils.rm_rf dir
Rake::Task["test:scm:setup:#{scm}"].execute
end
end
Rake::TestTask.new(:units => "db:test:prepare") do |t|
t.libs << "test"
t.verbose = true