Commit 4ef7f7622d79eff88e4cef1a9add2d59571a8d91
1 parent
f2319a0a
Exists in
master
and in
22 other branches
Start/stop solr for each test
Showing
3 changed files
with
5 additions
and
54 deletions
Show diff stats
lib/tasks/01_support.rake
| @@ -1,18 +0,0 @@ | @@ -1,18 +0,0 @@ | ||
| 1 | -# from http://metaskills.net/2010/05/26/the-alias_method_chain-of-rake-override-rake-task/ | ||
| 2 | -Rake::TaskManager.class_eval do | ||
| 3 | - def alias_task(fq_name) | ||
| 4 | - new_name = "#{fq_name}:original" | ||
| 5 | - @tasks[new_name] = @tasks.delete(fq_name) | ||
| 6 | - end | ||
| 7 | -end | ||
| 8 | - | ||
| 9 | -def alias_task(fq_name) | ||
| 10 | - Rake.application.alias_task(fq_name) | ||
| 11 | -end | ||
| 12 | - | ||
| 13 | -def override_task(*args, &block) | ||
| 14 | - name, params, deps = Rake.application.resolve_args(args.dup) | ||
| 15 | - fq_name = Rake.application.instance_variable_get(:@scope).dup.push(name).join(':') | ||
| 16 | - alias_task(fq_name) | ||
| 17 | - Rake::Task.define_task(*args, &block) | ||
| 18 | -end |
lib/tasks/test.rake
| @@ -16,42 +16,6 @@ CucumberTasks = %w(cucumber selenium) | @@ -16,42 +16,6 @@ CucumberTasks = %w(cucumber selenium) | ||
| 16 | NoosferoTasks = %w(test:noosfero_plugins) | 16 | NoosferoTasks = %w(test:noosfero_plugins) |
| 17 | AllTasks = TestTasks + CucumberTasks + NoosferoTasks | 17 | AllTasks = TestTasks + CucumberTasks + NoosferoTasks |
| 18 | 18 | ||
| 19 | -namespace :test do | ||
| 20 | - TestTasks.each do |test_task| | ||
| 21 | - orig_name = test_task.to_s | ||
| 22 | - test_task = test_task.to_s.gsub(/^test:/, '').to_sym #remove namespace :test | ||
| 23 | - # force the solr tasks to run with each individual test task | ||
| 24 | - override_task test_task do | ||
| 25 | - ENV['RAILS_ENV'] = 'test' | ||
| 26 | - Rake::Task['solr:start'].reenable | ||
| 27 | - Rake::Task['solr:start'].invoke | ||
| 28 | - Rake::Task["#{orig_name}:original"].invoke | ||
| 29 | - Rake::Task['solr:stop'].reenable | ||
| 30 | - Rake::Task['solr:stop'].invoke | ||
| 31 | - end | ||
| 32 | - end | ||
| 33 | -end | ||
| 34 | -CucumberTasks.each do |test_task| | ||
| 35 | - override_task test_task do | ||
| 36 | - ENV['RAILS_ENV'] = 'cucumber' | ||
| 37 | - Rake::Task['solr:start'].reenable | ||
| 38 | - Rake::Task['solr:start'].invoke | ||
| 39 | - Rake::Task["#{test_task}:original"].invoke | ||
| 40 | - Rake::Task['solr:stop'].reenable | ||
| 41 | - Rake::Task['solr:stop'].invoke | ||
| 42 | - end | ||
| 43 | -end | ||
| 44 | -NoosferoTasks.each do |test_task| | ||
| 45 | - override_task test_task do | ||
| 46 | - ENV['RAILS_ENV'] = 'test' | ||
| 47 | - Rake::Task['solr:start'].reenable | ||
| 48 | - Rake::Task['solr:start'].invoke | ||
| 49 | - Rake::Task["#{test_task}:original"].invoke | ||
| 50 | - Rake::Task['solr:stop'].reenable | ||
| 51 | - Rake::Task['solr:stop'].invoke | ||
| 52 | - end | ||
| 53 | -end | ||
| 54 | - | ||
| 55 | task :test do | 19 | task :test do |
| 56 | errors = AllTasks.collect do |task| | 20 | errors = AllTasks.collect do |task| |
| 57 | begin | 21 | begin |
test/test_helper.rb
| 1 | ENV["RAILS_ENV"] = "test" | 1 | ENV["RAILS_ENV"] = "test" |
| 2 | + | ||
| 3 | +# Start/stop Solr | ||
| 4 | +abort unless system 'rake solr:start' | ||
| 5 | +at_exit { system 'rake solr:stop' } | ||
| 6 | + | ||
| 2 | require File.expand_path(File.dirname(__FILE__) + "/../config/environment") | 7 | require File.expand_path(File.dirname(__FILE__) + "/../config/environment") |
| 3 | require 'test_help' | 8 | require 'test_help' |
| 4 | require 'mocha' | 9 | require 'mocha' |