1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[rubygems/rubygems] Update some specs to pass ruby-head CI

These specs were monkeypatching `RUBY_VERSION`, but that obviously
doesn't change the running ruby to behave any different.

The removal of some features, in particular, `String#untaint`, made
these specs fail, because untaint is no longer available under ruby-core
and bundler calls `untaint` when `RUBY_VERSION` is less than "2.7",
which these specs were overwriting it to be.

Rewrite these specs to not overwrite `RUBY_VERSION`, but still test the
same things.

https://github.com/rubygems/rubygems/commit/e8c7b92901
This commit is contained in:
David Rodríguez 2021-12-26 17:41:21 +01:00 committed by Hiroshi SHIBATA
parent 73707e5c51
commit ca3a2e46e8
Notes: git 2021-12-27 10:46:04 +09:00
2 changed files with 60 additions and 50 deletions

View file

@ -499,20 +499,17 @@ RSpec.describe "bundle install with gem sources" do
context "and using an unsupported Ruby version" do context "and using an unsupported Ruby version" do
it "prints an error" do it "prints an error" do
install_gemfile <<-G, :raise_on_error => false install_gemfile <<-G, :raise_on_error => false
::RUBY_VERSION = '2.0.1' ruby '~> 1.2'
ruby '~> 2.2'
source "#{file_uri_for(gem_repo1)}" source "#{file_uri_for(gem_repo1)}"
G G
expect(err).to include("Your Ruby version is 2.0.1, but your Gemfile specified ~> 2.2") expect(err).to include("Your Ruby version is #{RUBY_VERSION}, but your Gemfile specified ~> 1.2")
end end
end end
context "and using a supported Ruby version" do context "and using a supported Ruby version" do
before do before do
install_gemfile <<-G install_gemfile <<-G
::RUBY_VERSION = '2.1.3' ruby '~> #{RUBY_VERSION}'
::RUBY_PATCHLEVEL = 100
ruby '~> 2.1.0'
source "#{file_uri_for(gem_repo1)}" source "#{file_uri_for(gem_repo1)}"
G G
end end
@ -529,18 +526,16 @@ RSpec.describe "bundle install with gem sources" do
DEPENDENCIES DEPENDENCIES
RUBY VERSION RUBY VERSION
ruby 2.1.3p100 #{Bundler::RubyVersion.system}
BUNDLED WITH BUNDLED WITH
#{Bundler::VERSION} #{Bundler::VERSION}
L L
end end
it "updates Gemfile.lock with updated incompatible ruby version" do it "updates Gemfile.lock with updated yet still compatible ruby version" do
install_gemfile <<-G install_gemfile <<-G
::RUBY_VERSION = '2.2.3' ruby '~> #{RUBY_VERSION[0..2]}'
::RUBY_PATCHLEVEL = 100
ruby '~> 2.2.0'
source "#{file_uri_for(gem_repo1)}" source "#{file_uri_for(gem_repo1)}"
G G
@ -555,7 +550,7 @@ RSpec.describe "bundle install with gem sources" do
DEPENDENCIES DEPENDENCIES
RUBY VERSION RUBY VERSION
ruby 2.2.3p100 #{Bundler::RubyVersion.system}
BUNDLED WITH BUNDLED WITH
#{Bundler::VERSION} #{Bundler::VERSION}

View file

@ -980,20 +980,14 @@ RSpec.describe "bundle update when a gem depends on a newer version of bundler"
end end
RSpec.describe "bundle update --ruby" do RSpec.describe "bundle update --ruby" do
before do
install_gemfile <<-G
::RUBY_VERSION = '2.1.3'
::RUBY_PATCHLEVEL = 100
ruby '~> 2.1.0'
source "#{file_uri_for(gem_repo1)}"
G
end
context "when the Gemfile removes the ruby" do context "when the Gemfile removes the ruby" do
before do before do
install_gemfile <<-G
ruby '~> #{RUBY_VERSION}'
source "#{file_uri_for(gem_repo1)}"
G
gemfile <<-G gemfile <<-G
::RUBY_VERSION = '2.1.4'
::RUBY_PATCHLEVEL = 222
source "#{file_uri_for(gem_repo1)}" source "#{file_uri_for(gem_repo1)}"
G G
end end
@ -1018,10 +1012,13 @@ RSpec.describe "bundle update --ruby" do
context "when the Gemfile specified an updated Ruby version" do context "when the Gemfile specified an updated Ruby version" do
before do before do
install_gemfile <<-G
ruby '~> #{RUBY_VERSION}'
source "#{file_uri_for(gem_repo1)}"
G
gemfile <<-G gemfile <<-G
::RUBY_VERSION = '2.1.4' ruby '~> #{RUBY_VERSION[0..2]}'
::RUBY_PATCHLEVEL = 222
ruby '~> 2.1.0'
source "#{file_uri_for(gem_repo1)}" source "#{file_uri_for(gem_repo1)}"
G G
end end
@ -1038,37 +1035,55 @@ RSpec.describe "bundle update --ruby" do
DEPENDENCIES DEPENDENCIES
RUBY VERSION
#{Bundler::RubyVersion.system}
BUNDLED WITH
#{Bundler::VERSION}
L
end
end
context "when a different Ruby is being used than has been versioned" do
before do
install_gemfile <<-G
ruby '~> #{RUBY_VERSION}'
source "#{file_uri_for(gem_repo1)}"
G
gemfile <<-G
ruby '~> 2.1.0'
source "#{file_uri_for(gem_repo1)}"
G
end
it "shows a helpful error message" do
bundle "update --ruby", :raise_on_error => false
expect(err).to include("Your Ruby version is #{Bundler::RubyVersion.system.gem_version}, but your Gemfile specified ~> 2.1.0")
end
end
context "when updating Ruby version and Gemfile `ruby`" do
before do
lockfile <<~L
GEM
remote: #{file_uri_for(gem_repo1)}/
specs:
PLATFORMS
#{lockfile_platforms}
DEPENDENCIES
RUBY VERSION RUBY VERSION
ruby 2.1.4p222 ruby 2.1.4p222
BUNDLED WITH BUNDLED WITH
#{Bundler::VERSION} #{Bundler::VERSION}
L L
end
end
context "when a different Ruby is being used than has been versioned" do
before do
gemfile <<-G gemfile <<-G
::RUBY_VERSION = '2.2.2' ruby '~> #{RUBY_VERSION}'
::RUBY_PATCHLEVEL = 505
ruby '~> 2.1.0'
source "#{file_uri_for(gem_repo1)}"
G
end
it "shows a helpful error message" do
bundle "update --ruby", :raise_on_error => false
expect(err).to include("Your Ruby version is 2.2.2, but your Gemfile specified ~> 2.1.0")
end
end
context "when updating Ruby version and Gemfile `ruby`" do
before do
gemfile <<-G
::RUBY_VERSION = '1.8.3'
::RUBY_PATCHLEVEL = 55
ruby '~> 1.8.0'
source "#{file_uri_for(gem_repo1)}" source "#{file_uri_for(gem_repo1)}"
G G
end end
@ -1086,7 +1101,7 @@ RSpec.describe "bundle update --ruby" do
DEPENDENCIES DEPENDENCIES
RUBY VERSION RUBY VERSION
ruby 1.8.3p55 #{Bundler::RubyVersion.system}
BUNDLED WITH BUNDLED WITH
#{Bundler::VERSION} #{Bundler::VERSION}