diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-12 05:07:50 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-12 05:07:50 +0000 |
commit | 7f9bf068fcff9ca7d6a21711f31c5b8d6022dddf (patch) | |
tree | 2bf9d83db081c73e583aeaf9f30140732c43282a /test/rubygems | |
parent | 53a5b276b8bc6e22a9fecc23dd99259e2d0e7fa4 (diff) |
Merge rubygems@21f12a8 from upstream.
* [BudlerVersionFinder] set .filter! and .compatible? to match only on major versions https://github.com/rubygems/rubygems/pull/2515
* Fix broken symlink that points to ../* https://github.com/rubygems/rubygems/pull/2516
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems')
-rw-r--r-- | test/rubygems/test_bundled_ca.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_bundler_version_finder.rb | 15 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_build_command.rb | 30 | ||||
-rw-r--r-- | test/rubygems/test_gem_package.rb | 5 | ||||
-rw-r--r-- | test/rubygems/test_gem_remote_fetcher.rb | 1 | ||||
-rw-r--r-- | test/rubygems/test_gem_specification.rb | 10 |
6 files changed, 44 insertions, 19 deletions
diff --git a/test/rubygems/test_bundled_ca.rb b/test/rubygems/test_bundled_ca.rb index 97a64af323..d56a374e1d 100644 --- a/test/rubygems/test_bundled_ca.rb +++ b/test/rubygems/test_bundled_ca.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true require 'rubygems/test_case' -require 'net/https' +require 'net/http' require 'rubygems/request' # = Testing Bundled CA diff --git a/test/rubygems/test_gem_bundler_version_finder.rb b/test/rubygems/test_gem_bundler_version_finder.rb index 7dafe13033..3b63b89423 100644 --- a/test/rubygems/test_gem_bundler_version_finder.rb +++ b/test/rubygems/test_gem_bundler_version_finder.rb @@ -88,20 +88,21 @@ class TestGemBundlerVersionFinder < Gem::TestCase bvf.stub(:bundler_version, v("2.1.1.1")) do assert bvf.compatible?(util_spec("foo")) assert bvf.compatible?(util_spec("bundler", "2.1.1.1")) - refute bvf.compatible?(util_spec("bundler", "2.1.1.a")) + assert bvf.compatible?(util_spec("bundler", "2.1.1.a")) + assert bvf.compatible?(util_spec("bundler", "2.999")) refute bvf.compatible?(util_spec("bundler", "1.999")) - refute bvf.compatible?(util_spec("bundler", "2.999")) + refute bvf.compatible?(util_spec("bundler", "3.0.0")) end end def test_filter - versions = %w[1 1.0 1.0.1.1 2.a 3 3.0] + versions = %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1] specs = versions.map { |v| util_spec("bundler", v) } - assert_equal %w[1 1.0 1.0.1.1 2.a 3 3.0], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) bvf.stub(:bundler_version, v("2.1.1.1")) do - assert_empty util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[2 2.a 2.0 2.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) end bvf.stub(:bundler_version, v("1.1.1.1")) do assert_equal %w[1 1.0 1.0.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) @@ -110,10 +111,10 @@ class TestGemBundlerVersionFinder < Gem::TestCase assert_equal %w[1 1.0 1.0.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) end bvf.stub(:bundler_version, v("2.a")) do - assert_equal %w[2.a], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[2 2.a 2.0 2.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) end bvf.stub(:bundler_version, v("3")) do - assert_equal %w[3 3.0], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[3 3.a 3.0 3.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) end end diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb index 68b5724c61..ac82a408c7 100644 --- a/test/rubygems/test_gem_commands_build_command.rb +++ b/test/rubygems/test_gem_commands_build_command.rb @@ -22,7 +22,6 @@ class TestGemCommandsBuildCommand < Gem::TestCase end @gem = util_spec 'some_gem' do |s| - s.rubyforge_project = 'example' s.license = 'AGPL-3.0' s.files = ['README.md'] end @@ -37,11 +36,39 @@ class TestGemCommandsBuildCommand < Gem::TestCase assert @cmd.options[:strict] end + def test_options_filename + gemspec_file = File.join(@tempdir, @gem.spec_name) + + File.open gemspec_file, 'w' do |gs| + gs.write @gem.to_ruby + end + + @cmd.options[:args] = [gemspec_file] + @cmd.options[:output] = "test.gem" + + use_ui @ui do + Dir.chdir @tempdir do + @cmd.execute + end + end + + file = File.join(@tempdir, File::SEPARATOR, "test.gem") + assert File.exist?(file) + + output = @ui.output.split "\n" + assert_equal " Successfully built RubyGem", output.shift + assert_equal " Name: some_gem", output.shift + assert_equal " Version: 2", output.shift + assert_equal " File: test.gem", output.shift + assert_equal [], output + end + def test_handle_options_defaults @cmd.handle_options [] refute @cmd.options[:force] refute @cmd.options[:strict] + assert_nil @cmd.options[:output] end def test_execute @@ -97,7 +124,6 @@ class TestGemCommandsBuildCommand < Gem::TestCase def test_execute_strict_with_warnings bad_gem = util_spec 'some_bad_gem' do |s| - s.rubyforge_project = 'example' s.files = ['README.md'] end diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb index b868fe237c..77c5b65c90 100644 --- a/test/rubygems/test_gem_package.rb +++ b/test/rubygems/test_gem_package.rb @@ -151,7 +151,7 @@ class TestGemPackage < Gem::Package::TarTestCase def test_add_files_symlink spec = Gem::Specification.new - spec.files = %w[lib/code.rb lib/code_sym.rb] + spec.files = %w[lib/code.rb lib/code_sym.rb lib/code_sym2.rb] FileUtils.mkdir_p 'lib' File.open 'lib/code.rb', 'w' do |io| io.write '# lib/code.rb' end @@ -159,6 +159,7 @@ class TestGemPackage < Gem::Package::TarTestCase # NOTE: 'code.rb' is correct, because it's relative to lib/code_sym.rb begin File.symlink('code.rb', 'lib/code_sym.rb') + File.symlink('../lib/code.rb', 'lib/code_sym2.rb') rescue Errno::EACCES => e if win_platform? skip "symlink - must be admin with no UAC on Windows" @@ -189,7 +190,7 @@ class TestGemPackage < Gem::Package::TarTestCase end assert_equal %w[lib/code.rb], files - assert_equal [{'lib/code_sym.rb' => 'lib/code.rb'}], symlinks + assert_equal [{'lib/code_sym.rb' => 'lib/code.rb'}, {'lib/code_sym2.rb' => '../lib/code.rb'}], symlinks end def test_build diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index 6561ba6bda..ad99783c64 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -51,7 +51,6 @@ gems: author: Jim Weirich email: jim@weirichhouse.org homepage: http://rake.rubyforge.org - rubyforge_project: rake description: Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. autorequire: default_executable: rake diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 7a26d5918e..8deb211798 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -48,7 +48,6 @@ end s.extensions << 'ext/a/extconf.rb' s.test_file = 'test/suite.rb' s.requirements << 'A working computer' - s.rubyforge_project = 'example' s.license = 'MIT' s.add_dependency 'rake', '> 0.4' @@ -80,7 +79,6 @@ end s.executable = 'exec' s.test_file = 'test/suite.rb' s.requirements << 'A working computer' - s.rubyforge_project = 'example' s.license = 'MIT' s.mark_version @@ -701,7 +699,6 @@ end required_ruby_version required_rubygems_version requirements - rubyforge_project rubygems_version signing_key specification_version @@ -871,7 +868,6 @@ require_paths: author: Austin Ziegler email: diff-lcs@halostatue.ca homepage: http://rubyforge.org/projects/ruwiki/ -rubyforge_project: ruwiki description: "Test" bindir: bin has_rdoc: true @@ -1215,7 +1211,7 @@ dependencies: [] data = Marshal.load Gem::Util.inflate(Gem.read_binary(path)) - assert_nil data.rubyforge_project + assert_nil data.signing_key end def test_initialize @@ -2506,7 +2502,6 @@ Gem::Specification.new do |s| s.homepage = "http://example.com".freeze s.licenses = ["MIT".freeze] s.requirements = ["A working computer".freeze] - s.rubyforge_project = "example".freeze s.rubygems_version = "#{Gem::VERSION}".freeze s.summary = "this is a summary".freeze s.test_files = ["test/suite.rb".freeze] @@ -2699,6 +2694,7 @@ end @a1.add_runtime_dependency 'l', '> 1.2.3' @a1.add_runtime_dependency 'm', '~> 2.1.0' @a1.add_runtime_dependency 'n', '~> 0.1.0' + @a1.add_runtime_dependency 'o' use_ui @ui do @a1.validate @@ -2719,6 +2715,8 @@ end #{w}: open-ended dependency on l (> 1.2.3) is not recommended if l is semantically versioned, use: add_runtime_dependency 'l', '~> 1.2', '> 1.2.3' +#{w}: open-ended dependency on o (>= 0) is not recommended + use a bounded requirement, such as '~> x.y' #{w}: See http://guides.rubygems.org/specification-reference/ for help EXPECTED |