summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-04-04 14:06:49 -0500
committerSamuel Giddins <segiddins@segiddins.me>2017-04-04 17:31:17 -0500
commite8144cae0e61c87050861df9735fd736dead0911 (patch)
treec51ad992099abddd08c1488b689f9cd33ad0bb6b
parentfc80e7498afbbea14485f3aeef0297a6c86b815a (diff)
downloadbundler-e8144cae0e61c87050861df9735fd736dead0911.tar.gz
Add temporary exemptions to default gem activation tests
This allows us to merge them and note further regressions
-rw-r--r--spec/runtime/setup_spec.rb25
1 files changed, 19 insertions, 6 deletions
diff --git a/spec/runtime/setup_spec.rb b/spec/runtime/setup_spec.rb
index e7b258460a..80b7d4de8d 100644
--- a/spec/runtime/setup_spec.rb
+++ b/spec/runtime/setup_spec.rb
@@ -1134,20 +1134,30 @@ end
end
describe "default gem activation" do
+ let(:exemptions) do
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("2.7") || ENV["RGV"] == "master"
+ []
+ else
+ %w(io-console openssl)
+ end << "bundler"
+ end
+
let(:code) { strip_whitespace(<<-RUBY) }
require "rubygems"
Gem::Specification.send(:alias_method, :bundler_spec_activate, :activate)
Gem::Specification.send(:define_method, :activate) do
- warn '-' * 80
- warn "activating \#{full_name}"
- warn *caller
- warn '*' * 80
+ unless #{exemptions.inspect}.include?(name)
+ warn '-' * 80
+ warn "activating \#{full_name}"
+ warn *caller
+ warn '*' * 80
+ end
bundler_spec_activate
end
require "bundler/setup"
require "pp"
loaded_specs = Gem.loaded_specs.dup
- loaded_specs.delete("bundler")
+ #{exemptions.inspect}.each {|s| loaded_specs.delete(s) }
pp loaded_specs
RUBY
@@ -1167,10 +1177,13 @@ end
end
it "activates no gems with bundle exec that is loaded" do
+ # TODO: remove once https://github.com/erikhuda/thor/pull/539 is released
+ exemptions << "io-console"
+
install_gemfile! ""
create_file("script.rb", "#!/usr/bin/env ruby\n\n#{code}")
FileUtils.chmod(0o777, bundled_app("script.rb"))
- bundle! "exec ./script.rb"
+ bundle! "exec ./script.rb", :artifice => nil
expect(err).to eq("")
expect(out).to eq("{}")
end