inspec/Rakefile
Dominik Richter 8bc8a76988 make default rake tasks test+lint
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-13 11:29:10 +02:00

51 lines
1.2 KiB
Ruby

#!/usr/bin/env rake
# encoding: utf-8
require 'rake/testtask'
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]
# run tests
task default: [:test, :lint]
Rake::TestTask.new do |t|
t.libs << 'test'
t.pattern = 'test/unit/*_test.rb'
t.warning = true
t.verbose = true
t.ruby_opts = ['--dev'] if defined?(JRUBY_VERSION)
end
namespace :test do
task :isolated do
Dir.glob('test/unit/*_test.rb').all? do |file|
sh(Gem.ruby, '-w', '-Ilib:test', file)
end or fail 'Failures'
end
task :resources do
tests = Dir['test/resource/*_test.rb']
return if tests.empty?
sh(Gem.ruby, 'test/docker_test.rb', *tests)
end
task :docker_runner do
path = File.join(File.dirname(__FILE__), 'test', 'runner')
sh('sh', '-c', "cd #{path} && config=test-runner.yaml ruby -I ../../lib docker_test.rb tests/*")
end
task :local_runner do
concurrency = ENV['CONCURRENCY'] || 4
path = File.join(File.dirname(__FILE__), 'test', 'runner')
sh('sh', '-c', "cd #{path} && kitchen test -c #{concurrency}")
end
end