36 lines
766 B
Ruby
36 lines
766 B
Ruby
require 'rake'
|
|
require 'rake/testtask'
|
|
|
|
TEST_DIRECTORY = File.dirname(File.expand_path(__FILE__))
|
|
TEST_FILES = Dir["#{TEST_DIRECTORY}/test_*.rb"]
|
|
GEM_DEPS = {
|
|
"mocha" => "~> 1.1",
|
|
"minitest" => "~> 5.3",
|
|
"rake" => "~> 10.3",
|
|
}
|
|
|
|
task :default => :test
|
|
|
|
task :deps do
|
|
GEM_DEPS.each do |dep, version|
|
|
`gem list --installed #{dep} -v '#{version}'`
|
|
next if $?.success?
|
|
sh "gem", "install", "--no-ri", "--no-rdoc", "--user-install", dep, "-v", version
|
|
end
|
|
end
|
|
|
|
Rake::TestTask.new(:test) do |t|
|
|
t.libs << TEST_DIRECTORY
|
|
t.test_files = TEST_FILES
|
|
end
|
|
|
|
namespace :test do
|
|
TEST_FILES.each do |file|
|
|
name = file[/test_(.+)\.rb/, 1]
|
|
Rake::TestTask.new(name) do |t|
|
|
t.libs << TEST_DIRECTORY
|
|
t.test_files = [file]
|
|
end
|
|
end
|
|
end
|