diff options
author | Daniel Niknam <mhmd.niknam@gmail.com> | 2021-08-19 19:47:25 +1000 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2021-08-31 19:06:14 +0900 |
commit | c71d1a26efc26309e877cd2babfec345514833cf (patch) | |
tree | 371627293f1ae72993fd0b6933d69260d616a928 /test/rubygems/test_gem_resolver_installer_set.rb | |
parent | 54ae3f587ed42f425edc7ec741702ac764429c5d (diff) | |
download | ruby-c71d1a26efc26309e877cd2babfec345514833cf.tar.gz |
[rubygems/rubygems] Pick the last founded gems when fetching metadata
https://github.com/rubygems/rubygems/commit/e3d150d822
Co-authored-by: David RodrÃguez <deivid.rodriguez@riseup.net>
Diffstat (limited to 'test/rubygems/test_gem_resolver_installer_set.rb')
-rw-r--r-- | test/rubygems/test_gem_resolver_installer_set.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_resolver_installer_set.rb b/test/rubygems/test_gem_resolver_installer_set.rb index 66857943c9..928a16b9d3 100644 --- a/test/rubygems/test_gem_resolver_installer_set.rb +++ b/test/rubygems/test_gem_resolver_installer_set.rb @@ -64,6 +64,24 @@ class TestGemResolverInstallerSet < Gem::TestCase assert_equal %w[a-1], set.always_install.map {|s| s.full_name } end + def test_add_always_install_prerelease_github_problem + spec_fetcher do |fetcher| + fetcher.gem 'a', 1 + end + + # Github has an issue in which it will generate a misleading prerelease output in its RubyGems server API and + # returns a 0 version for the gem while it doesn't exist. + @fetcher.data["#{@gem_repo}prerelease_specs.#{Gem.marshal_version}.gz"] = util_gzip(Marshal.dump([ + Gem::NameTuple.new('a', Gem::Version.new(0), 'ruby'), + ])) + + set = Gem::Resolver::InstallerSet.new :both + + set.add_always_install dep('a') + + assert_equal %w[a-1], set.always_install.map {|s| s.full_name } + end + def test_add_always_install_prerelease_only spec_fetcher do |fetcher| fetcher.gem 'a', '3.a' |