2015-09-03 17:25:43 +00:00
|
|
|
#!/usr/bin/env rake
|
|
|
|
# encoding: utf-8
|
|
|
|
|
2015-09-02 02:13:59 +00:00
|
|
|
require 'rake/testtask'
|
2015-09-03 17:25:43 +00:00
|
|
|
require 'rubocop/rake_task'
|
|
|
|
|
|
|
|
# Rubocop
|
|
|
|
desc 'Run Rubocop lint checks'
|
|
|
|
task :rubocop do
|
|
|
|
RuboCop::RakeTask.new
|
|
|
|
end
|
|
|
|
|
|
|
|
# lint the project
|
|
|
|
desc 'Run robocop linter'
|
|
|
|
task lint: [:rubocop]
|
2015-09-02 02:13:59 +00:00
|
|
|
|
2015-09-03 17:25:43 +00:00
|
|
|
# run tests
|
2015-09-14 08:29:31 +00:00
|
|
|
task default: :test
|
2015-09-02 02:13:59 +00:00
|
|
|
Rake::TestTask.new do |t|
|
|
|
|
t.libs << 'test'
|
2015-09-15 13:52:07 +00:00
|
|
|
t.pattern = 'test/unit/*_test.rb'
|
2015-09-02 02:13:59 +00:00
|
|
|
t.warning = true
|
|
|
|
t.verbose = true
|
2015-09-03 18:35:23 +00:00
|
|
|
t.ruby_opts = ['--dev'] if defined?(JRUBY_VERSION)
|
2015-09-02 02:13:59 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
namespace :test do
|
|
|
|
task :isolated do
|
2015-09-15 13:52:07 +00:00
|
|
|
Dir.glob('test/unit/*_test.rb').all? do |file|
|
2015-09-02 02:13:59 +00:00
|
|
|
sh(Gem.ruby, '-w', '-Ilib:test', file)
|
2015-09-14 08:29:31 +00:00
|
|
|
end or fail 'Failures'
|
2015-09-02 02:13:59 +00:00
|
|
|
end
|
2015-09-03 11:22:15 +00:00
|
|
|
|
2015-09-14 08:28:07 +00:00
|
|
|
task :resources do
|
2015-09-03 18:35:23 +00:00
|
|
|
tests = Dir['test/resource/*.rb']
|
2015-09-03 11:22:15 +00:00
|
|
|
return if tests.empty?
|
2015-09-03 12:16:11 +00:00
|
|
|
sh(Gem.ruby, 'test/docker.rb', *tests)
|
2015-09-03 11:22:15 +00:00
|
|
|
end
|
2015-09-15 12:59:23 +00:00
|
|
|
|
|
|
|
task :runner do
|
|
|
|
concurrency = ENV['CONCURRENCY'] || 4
|
|
|
|
path = File.join(File.dirname(__FILE__), 'test', 'runner')
|
2015-09-22 12:35:01 +00:00
|
|
|
sh('sh', '-c', "cd #{path} && kitchen test -c #{concurrency}")
|
2015-09-15 12:59:23 +00:00
|
|
|
end
|
2015-09-02 02:13:59 +00:00
|
|
|
end
|