From 4ef7f7622d79eff88e4cef1a9add2d59571a8d91 Mon Sep 17 00:00:00 2001 From: Braulio Bhavamitra Date: Tue, 3 Apr 2012 18:39:47 -0300 Subject: [PATCH] Start/stop solr for each test --- lib/tasks/01_support.rake | 18 ------------------ lib/tasks/test.rake | 36 ------------------------------------ test/test_helper.rb | 5 +++++ 3 files changed, 5 insertions(+), 54 deletions(-) delete mode 100644 lib/tasks/01_support.rake diff --git a/lib/tasks/01_support.rake b/lib/tasks/01_support.rake deleted file mode 100644 index a4257ee..0000000 --- a/lib/tasks/01_support.rake +++ /dev/null @@ -1,18 +0,0 @@ -# from http://metaskills.net/2010/05/26/the-alias_method_chain-of-rake-override-rake-task/ -Rake::TaskManager.class_eval do - def alias_task(fq_name) - new_name = "#{fq_name}:original" - @tasks[new_name] = @tasks.delete(fq_name) - end -end - -def alias_task(fq_name) - Rake.application.alias_task(fq_name) -end - -def override_task(*args, &block) - name, params, deps = Rake.application.resolve_args(args.dup) - fq_name = Rake.application.instance_variable_get(:@scope).dup.push(name).join(':') - alias_task(fq_name) - Rake::Task.define_task(*args, &block) -end diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake index 44144d9..ea3d124 100644 --- a/lib/tasks/test.rake +++ b/lib/tasks/test.rake @@ -16,42 +16,6 @@ CucumberTasks = %w(cucumber selenium) NoosferoTasks = %w(test:noosfero_plugins) AllTasks = TestTasks + CucumberTasks + NoosferoTasks -namespace :test do - TestTasks.each do |test_task| - orig_name = test_task.to_s - test_task = test_task.to_s.gsub(/^test:/, '').to_sym #remove namespace :test - # force the solr tasks to run with each individual test task - override_task test_task do - ENV['RAILS_ENV'] = 'test' - Rake::Task['solr:start'].reenable - Rake::Task['solr:start'].invoke - Rake::Task["#{orig_name}:original"].invoke - Rake::Task['solr:stop'].reenable - Rake::Task['solr:stop'].invoke - end - end -end -CucumberTasks.each do |test_task| - override_task test_task do - ENV['RAILS_ENV'] = 'cucumber' - Rake::Task['solr:start'].reenable - Rake::Task['solr:start'].invoke - Rake::Task["#{test_task}:original"].invoke - Rake::Task['solr:stop'].reenable - Rake::Task['solr:stop'].invoke - end -end -NoosferoTasks.each do |test_task| - override_task test_task do - ENV['RAILS_ENV'] = 'test' - Rake::Task['solr:start'].reenable - Rake::Task['solr:start'].invoke - Rake::Task["#{test_task}:original"].invoke - Rake::Task['solr:stop'].reenable - Rake::Task['solr:stop'].invoke - end -end - task :test do errors = AllTasks.collect do |task| begin diff --git a/test/test_helper.rb b/test/test_helper.rb index a06687d..4976c37 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,4 +1,9 @@ ENV["RAILS_ENV"] = "test" + +# Start/stop Solr +abort unless system 'rake solr:start' +at_exit { system 'rake solr:stop' } + require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'test_help' require 'mocha' -- libgit2 0.21.2