diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-07 11:24:48 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-07 11:24:48 +0000 |
commit | 4c1952f4bf9d2fe183431747a83596287e9b7631 (patch) | |
tree | 94b238b32f569bae8bd734c691aa6fd1d569718a /test/rubygems/test_gem_commands_pristine_command.rb | |
parent | 8cc53044081fa00384412a0f141c9f1be9065e1a (diff) |
Ignore to handle the different platform
When `GEM_HOME` was shared with CRuby and JRuby. RubyGems try to
handle both platforms. It should be ignored the different platform.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_commands_pristine_command.rb')
-rw-r--r-- | test/rubygems/test_gem_commands_pristine_command.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_commands_pristine_command.rb b/test/rubygems/test_gem_commands_pristine_command.rb index c8e3bec88e..8df8e8a744 100644 --- a/test/rubygems/test_gem_commands_pristine_command.rb +++ b/test/rubygems/test_gem_commands_pristine_command.rb @@ -514,6 +514,47 @@ class TestGemCommandsPristineCommand < Gem::TestCase assert_empty(@ui.error) end + def test_execute_multi_platform + a = util_spec 'a' do |s| + s.extensions << 'ext/a/extconf.rb' + end + + b = util_spec 'b' do |s| + s.extensions << 'ext/a/extconf.rb' + s.platform = Gem::Platform.new("java") + end + + ext_path = File.join @tempdir, 'ext', 'a', 'extconf.rb' + write_file ext_path do |io| + io.write <<-'RUBY' + File.open "Makefile", "w" do |f| + f.puts "clean:\n\techo cleaned\n" + f.puts "all:\n\techo built\n" + f.puts "install:\n\techo installed\n" + end + RUBY + end + + install_gem a + install_gem b + + @cmd.options[:extensions] = true + @cmd.options[:extensions_set] = true + @cmd.options[:args] = [] + + use_ui @ui do + @cmd.execute + end + + out = @ui.output.split "\n" + + assert_equal 'Restoring gems to pristine condition...', out.shift + assert_equal 'Building native extensions. This could take a while...', + out.shift + assert_equal "Restored #{a.full_name}", out.shift + assert_empty out, out.inspect + end + def test_handle_options @cmd.handle_options %w[] |