diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2021-01-21 14:35:56 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-21 14:35:56 +0900 |
commit | 151e469a6259837246d88b3abbb4d9e46ff38b9d (patch) | |
tree | c071c3e89e5d9ce493f754ce0536499373eab286 /test/rubygems | |
parent | 41d0c708122d0f6389410d503b7f4e6342bf56a0 (diff) |
Merge RubyGems 3.2.6 and Bundler 2.2.6 (#4103)
Diffstat (limited to 'test/rubygems')
-rw-r--r-- | test/rubygems/test_gem.rb | 5 | ||||
-rw-r--r-- | test/rubygems/test_gem_ext_builder.rb | 24 | ||||
-rw-r--r-- | test/rubygems/test_gem_platform.rb | 8 | ||||
-rw-r--r-- | test/rubygems/test_gem_requirement.rb | 34 |
4 files changed, 71 insertions, 0 deletions
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 344b03be9b..68e3eccdaf 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -692,6 +692,11 @@ class TestGem < Gem::TestCase ensure FileUtils.chmod 0600, parent end + + def test_self_ensure_gem_directories_non_existent_paths + Gem.ensure_gem_subdirectories '/proc/0123456789/bogus' # should not raise + Gem.ensure_gem_subdirectories 'classpath:/bogus/x' # JRuby embed scenario + end end def test_self_extension_dir_shared diff --git a/test/rubygems/test_gem_ext_builder.rb b/test/rubygems/test_gem_ext_builder.rb index 0fe650b8a5..6bebfa7a03 100644 --- a/test/rubygems/test_gem_ext_builder.rb +++ b/test/rubygems/test_gem_ext_builder.rb @@ -14,6 +14,7 @@ class TestGemExtBuilder < Gem::TestCase FileUtils.mkdir_p @dest_path @orig_DESTDIR = ENV['DESTDIR'] + @orig_make = ENV['make'] @spec = util_spec 'a' @@ -22,6 +23,7 @@ class TestGemExtBuilder < Gem::TestCase def teardown ENV['DESTDIR'] = @orig_DESTDIR + ENV['make'] = @orig_make super end @@ -81,6 +83,28 @@ install: assert_match %r{DESTDIR\\=#{ENV['DESTDIR']} install$}, results end + def test_custom_make_with_options + ENV['make'] = 'make V=1' + results = [] + File.open File.join(@ext, 'Makefile'), 'w' do |io| + io.puts <<-MAKEFILE +all: +\t@#{Gem.ruby} -e "puts 'all: OK'" + +clean: +\t@#{Gem.ruby} -e "puts 'clean: OK'" + +install: +\t@#{Gem.ruby} -e "puts 'install: OK'" + MAKEFILE + end + Gem::Ext::Builder.make @dest_path, results, @ext + results = results.join("\n").b + assert_match %r{clean: OK}, results + assert_match %r{all: OK}, results + assert_match %r{install: OK}, results + end + def test_build_extensions @spec.extensions << 'ext/extconf.rb' diff --git a/test/rubygems/test_gem_platform.rb b/test/rubygems/test_gem_platform.rb index 83a6f24de4..84754402ad 100644 --- a/test/rubygems/test_gem_platform.rb +++ b/test/rubygems/test_gem_platform.rb @@ -356,6 +356,14 @@ class TestGemPlatform < Gem::TestCase assert_local_match 'sparc-solaris2.8-mq5.3' end + def test_inspect + result = Gem::Platform.new("universal-java11").inspect + + assert_equal 1, result.scan(/@cpu=/).size + assert_equal 1, result.scan(/@os=/).size + assert_equal 1, result.scan(/@version=/).size + end + def assert_local_match(name) assert_match Gem::Platform.local, name end diff --git a/test/rubygems/test_gem_requirement.rb b/test/rubygems/test_gem_requirement.rb index 20127a1e15..837f60fbb2 100644 --- a/test/rubygems/test_gem_requirement.rb +++ b/test/rubygems/test_gem_requirement.rb @@ -402,6 +402,27 @@ class TestGemRequirement < Gem::TestCase assert_equal r1.hash, r2.hash end + def test_hash_returns_equal_hashes_for_equivalent_requirements + refute_requirement_hash_equal "= 1.2", "= 1.3" + refute_requirement_hash_equal "= 1.3", "= 1.2" + + refute_requirement_hash_equal "~> 1.3", "~> 1.3.0" + refute_requirement_hash_equal "~> 1.3.0", "~> 1.3" + + assert_requirement_hash_equal ["> 2", "~> 1.3", "~> 1.3.1"], ["~> 1.3.1", "~> 1.3", "> 2"] + + assert_requirement_hash_equal ["> 2", "~> 1.3"], ["> 2.0", "~> 1.3"] + assert_requirement_hash_equal ["> 2.0", "~> 1.3"], ["> 2", "~> 1.3"] + + assert_requirement_hash_equal "= 1.0", "= 1.0.0" + assert_requirement_hash_equal "= 1.1", "= 1.1.0" + assert_requirement_hash_equal "= 1", "= 1.0.0" + + assert_requirement_hash_equal "1.0", "1.0.0" + assert_requirement_hash_equal "1.1", "1.1.0" + assert_requirement_hash_equal "1", "1.0.0" + end + # Assert that two requirements are equal. Handles Gem::Requirements, # strings, arrays, numbers, and versions. @@ -416,6 +437,13 @@ class TestGemRequirement < Gem::TestCase "#{requirement} is satisfied by #{version}" end + # Assert that two requirement hashes are equal. Handles Gem::Requirements, + # strings, arrays, numbers, and versions. + + def assert_requirement_hash_equal(expected, actual) + assert_equal req(expected).hash, req(actual).hash + end + # Refute the assumption that two requirements are equal. def refute_requirement_equal(unexpected, actual) @@ -428,4 +456,10 @@ class TestGemRequirement < Gem::TestCase refute req(requirement).satisfied_by?(v(version)), "#{requirement} is not satisfied by #{version}" end + + # Refute the assumption that two requirements hashes are equal. + + def refute_requirement_hash_equal(unexpected, actual) + refute_equal req(unexpected).hash, req(actual).hash + end end |