diff --git a/lib/tasks/plugins_tests.rake b/lib/tasks/plugins_tests.rake index de3ba8c..14215ca 100644 --- a/lib/tasks/plugins_tests.rake +++ b/lib/tasks/plugins_tests.rake @@ -1,3 +1,6 @@ +@disabled_plugins = Dir.glob(File.join(Rails.root, 'plugins', '*')).map { |file| File.basename(file)} - Dir.glob(File.join(Rails.root, 'config', 'plugins', '*')).map { |file| File.basename(file)} +@disabled_plugins.delete('template') + def define_task(test, plugins_folder='plugins', plugin = '*') test_files = Dir.glob(File.join(Rails.root, plugins_folder, plugin, 'test', test[:folder], '**', '*_test.rb')) desc 'Runs ' + (plugin != '*' ? plugin : 'plugins') + ' ' + test[:name] + ' tests' @@ -43,10 +46,27 @@ namespace :test do task plugin_name => dependencies end + task :temp_enable_plugins do + system('./script/noosfero-plugins enableall') + end + + task :rollback_temp_enable_plugins do + @disabled_plugins.each { |plugin| system('./script/noosfero-plugins disable ' + plugin)} + end + task :units => 'available:units' task :functionals => 'available:functionals' task :integration => 'available:integration' - task :available => [:units, :functionals, :integration] + task :available do + Rake::Task['test:noosfero_plugins:temp_enable_plugins'].invoke + begin + Rake::Task['test:noosfero_plugins:units'].invoke + Rake::Task['test:noosfero_plugins:functionals'].invoke + Rake::Task['test:noosfero_plugins:integration'].invoke + rescue + end + Rake::Task['test:noosfero_plugins:rollback_temp_enable_plugins'].invoke + end task :enabled => ['enabled:units', 'enabled:functionals', 'enabled:integration'] end diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake index da02d4a..5149565 100644 --- a/lib/tasks/test.rake +++ b/lib/tasks/test.rake @@ -7,7 +7,7 @@ else end task :test do - errors = %w(test:units test:functionals test:integration cucumber selenium).collect do |task| + errors = %w(test:units test:functionals test:integration cucumber selenium test:noosfero_plugins).collect do |task| begin Rake::Task[task].invoke nil -- libgit2 0.21.2