Commit 4ef7f7622d79eff88e4cef1a9add2d59571a8d91

Authored by Braulio Bhavamitra
1 parent f2319a0a

Start/stop solr for each test

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'