summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spec/bundler/bundled_gems_spec.rb20
-rwxr-xr-xtool/test_for_warn_bundled_gems/test.sh4
-rw-r--r--tool/test_for_warn_bundled_gems/test_warn_bootsnap_rubyarchdir_gem.rb14
3 files changed, 20 insertions, 18 deletions
diff --git a/spec/bundler/bundled_gems_spec.rb b/spec/bundler/bundled_gems_spec.rb
index 16c67e53ad..66e90a11a5 100644
--- a/spec/bundler/bundled_gems_spec.rb
+++ b/spec/bundler/bundled_gems_spec.rb
@@ -173,6 +173,26 @@ RSpec.describe "bundled_gems.rb" do
# test_warn_bootsnap.rb:14: warning: ...
end
+ it "Show warning with bootsnap for gem with native extension" do
+ script <<-RUBY
+ gemfile do
+ source "https://rubygems.org"
+ # gem "bootsnap", require: false
+ end
+
+ # require 'bootsnap'
+ # Bootsnap.setup(cache_dir: 'tmp/cache')
+
+ # bootsnap expand required feature to full path
+ # require 'fiddle'
+ require Gem::BUNDLED_GEMS::ARCHDIR + "fiddle"
+ RUBY
+
+ expect(err).to include(/fiddle was loaded from (.*) from Ruby 3.5.0/)
+ # TODO: We should assert caller location like below:
+ # test_warn_bootsnap_rubyarchdir_gem.rb:14: warning: ...
+ end
+
it "Don't show warning fiddle/import when fiddle on Gemfile" do
build_lib "fiddle", "1.0.0" do |s|
s.write "lib/fiddle.rb", "puts 'fiddle'"
diff --git a/tool/test_for_warn_bundled_gems/test.sh b/tool/test_for_warn_bundled_gems/test.sh
index 23e2a01189..fe9ea00f5d 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 with bootsnap for gem with native extension"
-ruby test_warn_bootsnap_rubyarchdir_gem.rb
-echo
-
echo "* Show warning with zeitwerk"
ruby test_warn_zeitwerk.rb
echo
diff --git a/tool/test_for_warn_bundled_gems/test_warn_bootsnap_rubyarchdir_gem.rb b/tool/test_for_warn_bundled_gems/test_warn_bootsnap_rubyarchdir_gem.rb
deleted file mode 100644
index 866da9c065..0000000000
--- a/tool/test_for_warn_bundled_gems/test_warn_bootsnap_rubyarchdir_gem.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-require "bundler"
-Bundler::Definition.no_lock = true
-
-require "bundler/inline"
-
-gemfile do
- source "https://rubygems.org"
- gem "bootsnap", require: false
-end
-
-require 'bootsnap'
-Bootsnap.setup(cache_dir: 'tmp/cache')
-
-require 'syslog'