Skip to content

Commit

Permalink
Codified instructions from RUNNING_TESTS as rake tasks for convenience
Browse files Browse the repository at this point in the history
Rake tasks are in testing.rake and can be run by `rake test:scm:setup:<scm>`
Updated RUNNING_TESTS

Contributed by Gerrit Kaiser


git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2260 e93f8b46-1217-0410-a6f0-8f06a7374b81
  • Loading branch information
edavis10 committed Jan 12, 2009
1 parent 38b2c5a commit 17d455c
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 39 deletions.
48 changes: 9 additions & 39 deletions doc/RUNNING_TESTS
Original file line number Diff line number Diff line change
@@ -1,46 +1,16 @@
Creating test repositories
===================

mkdir tmp/test

Subversion
----------
svnadmin create tmp/test/subversion_repository
gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load tmp/test/subversion_repository

CVS
---
gunzip < test/fixtures/repositories/cvs_repository.tar.gz | tar -xv -C tmp/test

Bazaar
------
gunzip < test/fixtures/repositories/bazaar_repository.tar.gz | tar -xv -C tmp/test

Mercurial
---------
gunzip < test/fixtures/repositories/mercurial_repository.tar.gz | tar -xv -C tmp/test

Git
---
gunzip < test/fixtures/repositories/git_repository.tar.gz | tar -xv -C tmp/test

Darcs (2.0+ required)
---------------------
gunzip < test/fixtures/repositories/darcs_repository.tar.gz | tar -xv -C tmp/test

FileSystem
----------
gunzip < test/fixtures/repositories/filesystem_repository.tar.gz | tar -xv -C tmp/test


Running Tests
=============

Run
Run `rake --tasks test` to see available tests.
`rake test` will run the entire testsuite.

rake --tasks | grep test

to see available tests.
Creating test repositories
===================

Redmine supports a wide array of different version control systems.
To test the support, a test repository needs to be created for each of those.

RAILS_ENV=test rake test will run tests.
Run `rake --tasks test:scm:setup` for a list of available test-repositories or
run `rake test:scm:setup:all` to set up all of them

30 changes: 30 additions & 0 deletions lib/tasks/testing.rake
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
### From http://svn.geekdaily.org/public/rails/plugins/generally_useful/tasks/coverage_via_rcov.rake

namespace :test do
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

### Inspired by http://blog.labratz.net/articles/2006/12/2/a-rake-task-for-rcov
begin
require 'rcov/rcovtask'
Expand Down

0 comments on commit 17d455c

Please sign in to comment.