Rakefile in message-driver-0.4.0 vs Rakefile in message-driver-0.5.0

- old
+ new

@@ -6,10 +6,18 @@ require 'rspec/core/rake_task' require 'cucumber/rake/task' require 'coveralls/rake/task' +begin + require 'rubocop/rake_task' + RuboCop::RakeTask.new +rescue LoadError + puts 'rubocop not present' + task 'rubocop' +end + namespace :spec do desc 'Run unit specs' RSpec::Core::RakeTask.new(:units) do |t| t.pattern = './spec/units{,/*/**}/*_spec.rb' end @@ -19,42 +27,45 @@ t.rspec_opts = '--tag all_adapters' t.pattern = "./spec/integration/#{BrokerConfig.current_adapter}{,/*/**}/*_spec.rb" end cucumber_opts = "--format progress --tag @all_adapters,@#{BrokerConfig.current_adapter} --tag ~@wip" - cucumber_opts += ' --tag ~@no_ci' if ENV['CI']=='true' && ENV['ADAPTER'] && ENV['ADAPTER'].start_with?('bunny') + cucumber_opts += ' --tag ~@no_ci' if ENV['CI'] == 'true' && ENV['ADAPTER'] && ENV['ADAPTER'].start_with?('bunny') Cucumber::Rake::Task.new(:features) do |t| t.cucumber_opts = cucumber_opts end - desc 'run all the specs' task all: [:units, :integrations, :features] +end - desc 'run all the specs for each adapter' - task :all_adapters do - current_adapter = BrokerConfig.current_adapter - BrokerConfig.all_adapters.each do |adapter| - set_adapter_under_test(adapter) - system('rake spec:all') - end - set_adapter_under_test(current_adapter) +desc 'run all the specs' +task spec: ['rabbitmq:reset_vhost', 'spec:all'] + +namespace :rabbitmq do + desc 'Reset rabbit vhost' + task :reset_vhost do + rabbitmqctl = ENV['CI'] ? 'sudo rabbitmqctl' : 'rabbitmqctl' + vhost = ENV['VHOST'] || 'message-driver-test' + system "#{rabbitmqctl} delete_vhost #{vhost}" + system "#{rabbitmqctl} add_vhost #{vhost}" + system "#{rabbitmqctl} set_permissions -p #{vhost} guest \".*\" \".*\" \".*\"" end end def set_adapter_under_test(adapter) system "echo #{adapter} > #{File.join(File.dirname(__FILE__), '.adapter_under_test')}" end Coveralls::RakeTask.new desc 'run with code coverage' -task ci: ['spec:all', 'coveralls:push'] +task ci: ['spec', 'rubocop', 'coveralls:push'] namespace :undertest do BrokerConfig.all_adapters.each do |adapter| desc "set the adapter under test to #{adapter}" task adapter do set_adapter_under_test(adapter) end end end -task default: ['spec:all'] +task default: [:spec, :rubocop]