diff options
| author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2024-11-14 17:27:42 +0900 |
|---|---|---|
| committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2024-11-15 08:16:03 +0900 |
| commit | b44272fcb456bb723d3dfa3b3736a05a2cbf30b2 (patch) | |
| tree | 8d75154ccda8a3c429579d32a3223ae04ccef7c3 | |
| parent | 31bdffb5b987e3086b7954f3fc164872f2075918 (diff) | |
Port test_warn_bundled_gems.rb to RSpec example
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/12086
| -rw-r--r-- | lib/bundled_gems.rb | 6 | ||||
| -rw-r--r-- | spec/bundler/bundled_gems_spec.rb | 25 | ||||
| -rwxr-xr-x | tool/test_for_warn_bundled_gems/test.sh | 4 | ||||
| -rw-r--r-- | tool/test_for_warn_bundled_gems/test_warn_bundled_gems.rb | 13 |
4 files changed, 30 insertions, 18 deletions
diff --git a/lib/bundled_gems.rb b/lib/bundled_gems.rb index ed7b8e278a..6a20f51958 100644 --- a/lib/bundled_gems.rb +++ b/lib/bundled_gems.rb @@ -52,7 +52,11 @@ module Gem::BUNDLED_GEMS WARNED = {} # unfrozen conf = ::RbConfig::CONFIG - LIBDIR = (conf["rubylibdir"] + "/").freeze + if !File.exist?(conf["rubylibdir"]) + LIBDIR = (File.expand_path(File.join(__dir__, "..", "lib")) + "/").freeze + else + LIBDIR = (conf["rubylibdir"] + "/").freeze + end ARCHDIR = (conf["rubyarchdir"] + "/").freeze dlext = [conf["DLEXT"], "so"].uniq DLEXT = /\.#{Regexp.union(dlext)}\z/ diff --git a/spec/bundler/bundled_gems_spec.rb b/spec/bundler/bundled_gems_spec.rb new file mode 100644 index 0000000000..7cc830e2c8 --- /dev/null +++ b/spec/bundler/bundled_gems_spec.rb @@ -0,0 +1,25 @@ +require "bundled_gems" + +RSpec.describe "bundled_gems.rb" do + def script(code, options = {}) + options[:artifice] ||= "compact_index" + ruby("require 'bundler/inline'\n\n" + code, options) + end + + it "Show warning require and LoadError" do + script <<-RUBY + gemfile do + source "https://rubygems.org" + end + + begin + require "csv" + rescue LoadError + end + require "ostruct" + RUBY + + expect(err).to include(/csv was loaded from (.*) from Ruby 3.4.0/) + expect(err).to include(/ostruct was loaded from (.*) from Ruby 3.5.0/) + end +end diff --git a/tool/test_for_warn_bundled_gems/test.sh b/tool/test_for_warn_bundled_gems/test.sh index a21f2f14b6..b528bd4ff5 100755 --- a/tool/test_for_warn_bundled_gems/test.sh +++ b/tool/test_for_warn_bundled_gems/test.sh @@ -1,9 +1,5 @@ #!/bin/bash -echo "* Show warning require and LoadError" -ruby test_warn_bundled_gems.rb -echo - echo "* Show warning when bundled gems called as dependency" ruby test_warn_dependency.rb echo diff --git a/tool/test_for_warn_bundled_gems/test_warn_bundled_gems.rb b/tool/test_for_warn_bundled_gems/test_warn_bundled_gems.rb deleted file mode 100644 index a8f065a6b0..0000000000 --- a/tool/test_for_warn_bundled_gems/test_warn_bundled_gems.rb +++ /dev/null @@ -1,13 +0,0 @@ -require "bundler" -Bundler::Definition.no_lock = true - -require "bundler/inline" - -gemfile do - source "https://rubygems.org" -end - -Object.send(:remove_const, :Bundler) - -require "mutex_m" -require "rss" |
