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   -# 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 16 NoosferoTasks = %w(test:noosfero_plugins)
17 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 19 task :test do
56 20 errors = AllTasks.collect do |task|
57 21 begin
... ...
test/test_helper.rb
1 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 7 require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3 8 require 'test_help'
4 9 require 'mocha'
... ...