AP tests: detect missing dependencies and automatically run bundler
This commit is contained in:
parent
6d214c953b
commit
076d7f885e
|
@ -6,8 +6,8 @@ $:.unshift(File.dirname(__FILE__) + '/lib')
|
||||||
$:.unshift(File.dirname(__FILE__) + '/fixtures/helpers')
|
$:.unshift(File.dirname(__FILE__) + '/fixtures/helpers')
|
||||||
$:.unshift(File.dirname(__FILE__) + '/fixtures/alternate_helpers')
|
$:.unshift(File.dirname(__FILE__) + '/fixtures/alternate_helpers')
|
||||||
|
|
||||||
bundler = File.join(File.dirname(__FILE__), '..', 'vendor', 'gems', 'environment')
|
require 'bundler_helper'
|
||||||
require bundler if File.exist?("#{bundler}.rb")
|
ensure_requirable %w( rack rack/test sqlite3 builder memcache tzinfo )
|
||||||
|
|
||||||
ENV['TMPDIR'] = File.join(File.dirname(__FILE__), 'tmp')
|
ENV['TMPDIR'] = File.join(File.dirname(__FILE__), 'tmp')
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ $:.unshift(File.dirname(__FILE__) + '/../../activesupport/lib')
|
||||||
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
||||||
$:.unshift(File.dirname(__FILE__) + '/lib')
|
$:.unshift(File.dirname(__FILE__) + '/lib')
|
||||||
|
|
||||||
bundler = File.join(File.dirname(__FILE__), '..', '..', 'vendor', 'gems', 'environment')
|
require 'bundler_helper'
|
||||||
require bundler if File.exist?("#{bundler}.rb")
|
ensure_requirable %w( rack rack/test )
|
||||||
|
|
||||||
require 'test/unit'
|
require 'test/unit'
|
||||||
require 'active_support'
|
require 'active_support'
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
BUNDLER_ENV_FILE = File.join(File.dirname(__FILE__), '..', 'vendor', 'gems', 'environment')
|
||||||
|
|
||||||
|
def load_bundled_gems
|
||||||
|
load_bundled_gems! if File.exist?("#{BUNDLER_ENV_FILE}.rb")
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_bundled_gems!
|
||||||
|
puts "Checking if the bundled testing requirements are up to date..."
|
||||||
|
|
||||||
|
result = system "gem bundle"
|
||||||
|
unless result
|
||||||
|
puts "The gem bundler is not installed. Installing."
|
||||||
|
system "gem install bundler"
|
||||||
|
system "gem bundle"
|
||||||
|
end
|
||||||
|
|
||||||
|
require BUNDLER_ENV_FILE
|
||||||
|
end
|
||||||
|
|
||||||
|
def ensure_requirable(libs)
|
||||||
|
load_bundled_gems
|
||||||
|
|
||||||
|
begin
|
||||||
|
libs.each { |lib| require lib }
|
||||||
|
rescue LoadError => e
|
||||||
|
puts "Missing required libs to run test"
|
||||||
|
puts e.message
|
||||||
|
load_bundled_gems!
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue