summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmy Unger <amy.e.unger@gmail.com>2015-07-21 20:05:15 -0700
committerAmy Unger <amy.e.unger@gmail.com>2015-07-22 15:21:40 -0500
commit48dbc74e34e7779b53bf59e3ec407e8eeccd3db1 (patch)
tree593f48c4aba6f22ba07958cf8dbcc160dce4b3e9
parent89a8778c19269561926cea172acdcda241d26d23 (diff)
downloadbundler-48dbc74e34e7779b53bf59e3ec407e8eeccd3db1.tar.gz
Make sure that monkeypatch of Gem::Platform gets loaded on subshells
-rw-r--r--spec/support/helpers.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/spec/support/helpers.rb b/spec/support/helpers.rb
index 58121f403a..1fbdb902d9 100644
--- a/spec/support/helpers.rb
+++ b/spec/support/helpers.rb
@@ -56,6 +56,10 @@ module Spec
File.expand_path("../../../lib", __FILE__)
end
+ def spec
+ File.expand_path("../../../spec", __FILE__)
+ end
+
def bundle(cmd, options = {})
expect_err = options.delete(:expect_err)
sudo = "sudo" if options.delete(:sudo)
@@ -66,6 +70,7 @@ module Spec
requires = options.delete(:requires) || []
requires << File.expand_path("../fakeweb/" + options.delete(:fakeweb) + ".rb", __FILE__) if options.key?(:fakeweb)
requires << File.expand_path("../artifice/" + options.delete(:artifice) + ".rb", __FILE__) if options.key?(:artifice)
+ requires << "support/hax"
requires_str = requires.map {|r| "-r#{r}" }.join(" ")
env = (options.delete(:env) || {}).map {|k, v| "#{k}='#{v}'" }.join(" ")
@@ -73,7 +78,7 @@ module Spec
v == true ? " --#{k}" : " --#{k} #{v}" if v
end.join
- cmd = "#{env} #{sudo} #{Gem.ruby} -I#{lib} #{requires_str} #{bundle_bin} #{cmd}#{args}"
+ cmd = "#{env} #{sudo} #{Gem.ruby} -I#{lib}:#{spec} #{requires_str} #{bundle_bin} #{cmd}#{args}"
sys_exec(cmd, expect_err) {|i| yield i if block_given? }
end