aboutsummaryrefslogtreecommitdiffstats
path: root/spec/bundler
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2022-05-20 15:04:04 +0200
committergit <svn-admin@ruby-lang.org>2022-06-15 18:14:21 +0900
commite09bdc11ec74272eb9165b777fea43bbb99ae8bf (patch)
treefd035825e21c2410a0ca34a6e8c5219d0c6c1e35 /spec/bundler
parentdaf086c0e13434827a8329e2f5e8b286e267b55e (diff)
downloadruby-e09bdc11ec74272eb9165b777fea43bbb99ae8bf.tar.gz
[rubygems/rubygems] Support running specs with asdf version manager
The `asdf-ruby` plugin sets `RUBYLIB` to require some code to reshim after installing gems. This interferes with our specs. Reset that, but leave any "internal" entries in places, because the ruby-core test setup also uses RUBYLIB. https://github.com/rubygems/rubygems/commit/4b2d09af5b
Diffstat (limited to 'spec/bundler')
-rw-r--r--spec/bundler/spec_helper.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/spec/bundler/spec_helper.rb b/spec/bundler/spec_helper.rb
index 23db133b67..5f9ed0ec0a 100644
--- a/spec/bundler/spec_helper.rb
+++ b/spec/bundler/spec_helper.rb
@@ -78,10 +78,19 @@ RSpec.configure do |config|
ENV["XDG_CONFIG_HOME"] = nil
ENV["GEMRC"] = nil
+ extend(Spec::Helpers)
+
+ # Ruby-core needs RUBYLIB set, leave any "internal" RUBYLIB entries to avoid
+ # resetting that, but reset anything else to avoid external stuff like asdf
+ # hooks from interfering with our specs
+
+ rubylib = ENV["RUBYLIB"]
+ rubylib = rubylib.split(File::PATH_SEPARATOR).select {|p| p.start_with?(git_root.to_s) }.join(File::PATH_SEPARATOR) if rubylib
+ ENV["RUBYLIB"] = rubylib
+
# Don't wrap output in tests
ENV["THOR_COLUMNS"] = "10000"
- extend(Spec::Helpers)
system_gems :bundler, :path => pristine_system_gem_path
end