Skip to content

Commit 4cc0094

Browse files
voxikhsbt
authored andcommitted
Ignore default_path test cases for Ruby with custom configuration
RubyGems provides means to override their defaults, such as `Gem.default_path` method. With such modified configuration, the following errors might be observed: ~~~ 1) Failure: TestGem#test_default_path_vendor_dir [/home/runner/work/ruby/ruby/src/test/rubygems/test_gem.rb:612]: <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-qs43ch/gemhome", "/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-qs43ch/vendor/gems/3.3.0+0"]> expected but was <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-qs43ch/gemhome", "/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-qs43ch/vendor/gems/3.3.0+0", "/usr/local/lib/ruby/bundled_gems/3.3.0+0", "/usr/local/lib/ruby/default_gems/3.3.0+0"]>. make: *** [uncommon.mk:943: yes-test-all] Error 4 2) Failure: TestGem#test_default_path_missing_vendor [/home/runner/work/ruby/ruby/src/test/rubygems/test_gem.rb:592]: <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-c41yb7/gemhome"]> expected but was <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-c41yb7/gemhome", "/usr/local/lib/ruby/bundled_gems/3.3.0+0", "/usr/local/lib/ruby/default_gems/3.3.0+0"]>. 3) Failure: TestGem#test_default_path_user_home [/home/runner/work/ruby/ruby/src/test/rubygems/test_gem.rb:600]: <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-5mm6uc/userhome/.local/share/gem/ruby/3.3.0+0", "/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-5mm6uc/gemhome"]> expected but was <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-5mm6uc/userhome/.local/share/gem/ruby/3.3.0+0", "/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-5mm6uc/gemhome", "/usr/local/lib/ruby/bundled_gems/3.3.0+0", "/usr/local/lib/ruby/default_gems/3.3.0+0"]>. 4) Failure: TestGem#test_default_path [/home/runner/work/ruby/ruby/src/test/rubygems/test_gem.rb:582]: <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-kan9o5/gemhome"]> expected but was <["/home/runner/work/ruby/ruby/build/tmp/test_rubygems_20231110-59661-kan9o5/gemhome", "/usr/local/lib/ruby/bundled_gems/3.3.0+0", "/usr/local/lib/ruby/default_gems/3.3.0+0"]>. ~~~ Of course the `Gem.default_path` could be stubbed, but testing stub should not be the point. Therefore, just detect if `Gem.default_path` was customized and ignore the test cases.
1 parent 0f188d9 commit 4cc0094

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

test/rubygems/test_gem.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,8 @@ def test_self_default_exec_format_jruby
577577
end
578578

579579
def test_default_path
580+
original_gem_default_path?
581+
580582
vendordir(File.join(@tempdir, "vendor")) do
581583
FileUtils.rm_rf Gem.user_home
582584

@@ -587,6 +589,8 @@ def test_default_path
587589
end
588590

589591
def test_default_path_missing_vendor
592+
original_gem_default_path?
593+
590594
vendordir(nil) do
591595
FileUtils.rm_rf Gem.user_home
592596

@@ -597,6 +601,8 @@ def test_default_path_missing_vendor
597601
end
598602

599603
def test_default_path_user_home
604+
original_gem_default_path?
605+
600606
vendordir(File.join(@tempdir, "vendor")) do
601607
expected = [Gem.user_dir, Gem.default_dir]
602608

@@ -605,6 +611,8 @@ def test_default_path_user_home
605611
end
606612

607613
def test_default_path_vendor_dir
614+
original_gem_default_path?
615+
608616
vendordir(File.join(@tempdir, "vendor")) do
609617
FileUtils.mkdir_p Gem.vendor_dir
610618

@@ -1799,4 +1807,10 @@ def util_remove_interrupt_command
17991807
def util_cache_dir
18001808
File.join Gem.dir, "cache"
18011809
end
1810+
1811+
def original_gem_default_path?
1812+
unless Gem.method(:default_path).source_location.first.match? "lib/rubygems/defaults.rb"
1813+
pend "Gem.default_path likely differs from original RubyGems implementation"
1814+
end
1815+
end
18021816
end

0 commit comments

Comments
 (0)