spec/support/helpers.rb in bundler-1.0.22 vs spec/support/helpers.rb in bundler-1.1.pre

- old
+ new

@@ -1,21 +1,21 @@ module Spec module Helpers def reset! @in_p, @out_p, @err_p = nil, nil, nil Dir["#{tmp}/{gems/*,*}"].each do |dir| - next if %(base remote1 gems rubygems).include?(File.basename(dir)) + next if %(base remote1 gems rubygems_v1.3.5 rubygems_v1.3.6 rubygems_v1.3.7 rubygems_v1.4.0 rubygems_v1.4.1 rubygems_master).include?(File.basename(dir)) unless ENV['BUNDLER_SUDO_TESTS'] FileUtils.rm_rf(dir) else `sudo rm -rf #{dir}` end end FileUtils.mkdir_p(tmp) FileUtils.mkdir_p(home) Gem.sources = ["file://#{gem_repo1}/"] - # Gem.configuration.write + Gem.configuration.write end attr_reader :out, :err, :exitstatus def in_app_root(&blk) @@ -42,17 +42,23 @@ def bundle(cmd, options = {}) expect_err = options.delete(:expect_err) exitstatus = options.delete(:exitstatus) options["no-color"] = true unless options.key?("no-color") || cmd.to_s[0..3] == "exec" + bundle_bin = File.expand_path('../../../bin/bundle', __FILE__) + fake_file = options.delete(:fakeweb) + fakeweb = fake_file ? "-r#{File.expand_path('../fakeweb/'+fake_file+'.rb', __FILE__)}" : nil + artifice_file = options.delete(:artifice) + artifice = artifice_file ? "-r#{File.expand_path('../artifice/'+artifice_file+'.rb', __FILE__)}" : nil + env = (options.delete(:env) || {}).map{|k,v| "#{k}='#{v}' "}.join args = options.map do |k,v| v == true ? " --#{k}" : " --#{k} #{v}" if v end.join - gemfile = File.expand_path('../../../bin/bundle', __FILE__) - cmd = "#{env}#{Gem.ruby} -I#{lib} #{gemfile} #{cmd}#{args}" + cmd = "#{env}#{Gem.ruby} -I#{lib} #{fakeweb} #{artifice} #{bundle_bin} #{cmd}#{args}" + if exitstatus sys_status(cmd) else sys_exec(cmd, expect_err){|i| yield i if block_given? } end @@ -60,10 +66,11 @@ def ruby(ruby, options = {}) expect_err = options.delete(:expect_err) env = (options.delete(:env) || {}).map{|k,v| "#{k}='#{v}' "}.join ruby.gsub!(/["`\$]/) {|m| "\\#{m}" } - sys_exec(%{#{env}#{Gem.ruby} -I#{lib} -e "#{ruby}"}, expect_err) + lib_option = options[:no_lib] ? "" : " -I#{lib}" + sys_exec(%{#{env}#{Gem.ruby}#{lib_option} -e "#{ruby}"}, expect_err) end def gembin(cmd) lib = File.expand_path("../../../lib", __FILE__) old, ENV['RUBYOPT'] = ENV['RUBYOPT'], "#{ENV['RUBYOPT']} -I#{lib}"