Use bundler for test gem dependencies.

Closes Homebrew/homebrew#31986.
References Homebrew/homebrew#31981.
This commit is contained in:
Mike McQuaid 2014-09-10 09:50:47 +01:00
parent 8205ebabcb
commit 9531ecc72a
5 changed files with 32 additions and 14 deletions

View File

@ -2,7 +2,14 @@ module Homebrew
def tests
(HOMEBREW_LIBRARY/'Homebrew/test').cd do
ENV['TESTOPTS'] = '-v' if ARGV.verbose?
system "rake", "deps", "test"
quiet_system("gem", "list", "--installed", "bundler") || \
system("gem", "install", "--no-ri", "--no-rdoc",
"--user-install", "bundler")
require 'rubygems'
ENV["PATH"] = "#{Gem.user_dir}/bin:#{ENV["PATH"]}"
quiet_system("bundle", "check") || \
system("bundle", "install", "--path", "vendor/bundle")
system "bundle", "exec", "rake", "test"
exit $?.exitstatus
end
end

View File

@ -1,2 +1,5 @@
/.bundle/
/bin/
/coverage
/prof
/vendor/

View File

@ -0,0 +1,5 @@
source "https://rubygems.org"
gem "mocha", "~> 1.1"
gem "minitest", "~> 5.3"
gem "rake", "~> 10.3"

View File

@ -0,0 +1,16 @@
GEM
remote: https://rubygems.org/
specs:
metaclass (0.0.4)
minitest (5.4.1)
mocha (1.1.0)
metaclass (~> 0.0.1)
rake (10.3.2)
PLATFORMS
ruby
DEPENDENCIES
minitest (~> 5.3)
mocha (~> 1.1)
rake (~> 10.3)

View File

@ -3,22 +3,9 @@ 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