rubygems-update 1.3.5 → 1.3.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

Files changed (146) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.autotest +8 -1
  3. data/ChangeLog +164 -0
  4. data/History.txt +52 -1
  5. data/Manifest.txt +8 -8
  6. data/README +3 -2
  7. data/Rakefile +49 -5
  8. data/bin/gem +2 -2
  9. data/bin/update_rubygems +9 -11
  10. data/cruise_config.rb +4 -3
  11. data/hide_lib_for_update/note.txt +5 -0
  12. data/lib/rbconfig/datadir.rb +10 -14
  13. data/lib/rubygems.rb +117 -140
  14. data/lib/rubygems/builder.rb +4 -2
  15. data/lib/rubygems/command.rb +51 -48
  16. data/lib/rubygems/command_manager.rb +2 -0
  17. data/lib/rubygems/commands/dependency_command.rb +10 -5
  18. data/lib/rubygems/commands/environment_command.rb +1 -1
  19. data/lib/rubygems/commands/fetch_command.rb +6 -5
  20. data/lib/rubygems/commands/install_command.rb +1 -0
  21. data/lib/rubygems/commands/mirror_command.rb +8 -8
  22. data/lib/rubygems/commands/owner_command.rb +75 -0
  23. data/lib/rubygems/commands/pristine_command.rb +1 -1
  24. data/lib/rubygems/commands/push_command.rb +45 -0
  25. data/lib/rubygems/commands/query_command.rb +4 -1
  26. data/lib/rubygems/commands/rdoc_command.rb +24 -9
  27. data/lib/rubygems/commands/server_command.rb +6 -0
  28. data/lib/rubygems/commands/setup_command.rb +14 -4
  29. data/lib/rubygems/commands/unpack_command.rb +2 -2
  30. data/lib/rubygems/commands/update_command.rb +2 -2
  31. data/lib/rubygems/commands/which_command.rb +7 -9
  32. data/lib/rubygems/config_file.rb +100 -26
  33. data/lib/rubygems/defaults.rb +1 -1
  34. data/lib/rubygems/dependency.rb +133 -75
  35. data/lib/rubygems/dependency_installer.rb +28 -10
  36. data/lib/rubygems/dependency_list.rb +41 -12
  37. data/lib/rubygems/doc_manager.rb +7 -0
  38. data/lib/rubygems/format.rb +16 -20
  39. data/lib/rubygems/gem_openssl.rb +1 -1
  40. data/lib/rubygems/gem_path_searcher.rb +10 -12
  41. data/lib/rubygems/gemcutter_utilities.rb +49 -0
  42. data/lib/rubygems/indexer.rb +2 -2
  43. data/lib/rubygems/install_update_options.rb +1 -9
  44. data/lib/rubygems/installer.rb +35 -76
  45. data/lib/rubygems/local_remote_options.rb +1 -2
  46. data/lib/rubygems/package.rb +0 -1
  47. data/lib/rubygems/package/tar_input.rb +3 -1
  48. data/lib/rubygems/package_task.rb +16 -11
  49. data/lib/rubygems/remote_fetcher.rb +22 -8
  50. data/lib/rubygems/requirement.rb +78 -100
  51. data/lib/rubygems/server.rb +41 -10
  52. data/lib/rubygems/source_index.rb +5 -5
  53. data/lib/rubygems/spec_fetcher.rb +2 -2
  54. data/lib/rubygems/specification.rb +66 -16
  55. data/lib/rubygems/test_utilities.rb +33 -4
  56. data/lib/rubygems/uninstaller.rb +3 -3
  57. data/lib/rubygems/user_interaction.rb +45 -0
  58. data/lib/rubygems/validator.rb +6 -7
  59. data/lib/rubygems/version.rb +206 -149
  60. data/lib/rubygems/version_option.rb +16 -0
  61. data/test/fake_certlib/openssl.rb +1 -1
  62. data/test/functional.rb +0 -7
  63. data/test/gem_installer_test_case.rb +4 -4
  64. data/test/gem_package_tar_test_case.rb +1 -1
  65. data/test/gemutilities.rb +35 -31
  66. data/test/insure_session.rb +0 -8
  67. data/test/mockgemui.rb +0 -8
  68. data/test/simple_gem.rb +2 -8
  69. data/test/test_config.rb +3 -10
  70. data/test/test_gem.rb +9 -14
  71. data/test/test_gem_builder.rb +1 -7
  72. data/test/test_gem_command.rb +1 -8
  73. data/test/test_gem_command_manager.rb +1 -7
  74. data/test/test_gem_commands_build_command.rb +4 -4
  75. data/test/test_gem_commands_cert_command.rb +1 -2
  76. data/test/test_gem_commands_check_command.rb +1 -7
  77. data/test/test_gem_commands_contents_command.rb +1 -1
  78. data/test/test_gem_commands_dependency_command.rb +17 -31
  79. data/test/test_gem_commands_environment_command.rb +1 -1
  80. data/test/test_gem_commands_fetch_command.rb +14 -12
  81. data/test/test_gem_commands_generate_index_command.rb +1 -1
  82. data/test/test_gem_commands_install_command.rb +22 -20
  83. data/test/test_gem_commands_list_command.rb +1 -1
  84. data/test/test_gem_commands_lock_command.rb +1 -1
  85. data/test/test_gem_commands_mirror_command.rb +5 -5
  86. data/test/test_gem_commands_outdated_command.rb +3 -5
  87. data/test/test_gem_commands_owner_command.rb +105 -0
  88. data/test/test_gem_commands_pristine_command.rb +2 -2
  89. data/test/test_gem_commands_push_command.rb +61 -0
  90. data/test/test_gem_commands_query_command.rb +23 -56
  91. data/test/test_gem_commands_server_command.rb +1 -1
  92. data/test/test_gem_commands_sources_command.rb +1 -70
  93. data/test/test_gem_commands_specification_command.rb +3 -4
  94. data/test/test_gem_commands_stale_command.rb +1 -1
  95. data/test/test_gem_commands_uninstall_command.rb +3 -4
  96. data/test/test_gem_commands_unpack_command.rb +1 -1
  97. data/test/test_gem_commands_update_command.rb +13 -13
  98. data/test/test_gem_commands_which_command.rb +66 -0
  99. data/test/test_gem_config_file.rb +13 -7
  100. data/test/test_gem_dependency.rb +82 -134
  101. data/test/test_gem_dependency_installer.rb +55 -30
  102. data/test/test_gem_dependency_list.rb +28 -7
  103. data/test/test_gem_doc_manager.rb +1 -7
  104. data/test/test_gem_ext_configure_builder.rb +2 -2
  105. data/test/test_gem_ext_ext_conf_builder.rb +1 -1
  106. data/test/test_gem_ext_rake_builder.rb +1 -1
  107. data/test/test_gem_format.rb +14 -11
  108. data/test/test_gem_gem_path_searcher.rb +12 -1
  109. data/test/test_gem_gem_runner.rb +1 -1
  110. data/test/test_gem_gemcutter_utilities.rb +103 -0
  111. data/test/test_gem_indexer.rb +44 -51
  112. data/test/test_gem_install_update_options.rb +1 -7
  113. data/test/test_gem_installer.rb +22 -82
  114. data/test/test_gem_local_remote_options.rb +1 -1
  115. data/test/test_gem_package_tar_header.rb +1 -8
  116. data/test/test_gem_package_tar_input.rb +1 -8
  117. data/test/test_gem_package_tar_output.rb +1 -8
  118. data/test/test_gem_package_tar_reader.rb +1 -8
  119. data/test/test_gem_package_tar_reader_entry.rb +1 -8
  120. data/test/test_gem_package_tar_writer.rb +1 -8
  121. data/test/test_gem_package_task.rb +1 -25
  122. data/test/test_gem_platform.rb +4 -4
  123. data/test/test_gem_remote_fetcher.rb +31 -21
  124. data/test/test_gem_requirement.rb +210 -140
  125. data/test/test_gem_server.rb +36 -1
  126. data/test/test_gem_source_index.rb +7 -13
  127. data/test/test_gem_spec_fetcher.rb +17 -47
  128. data/test/test_gem_specification.rb +7 -20
  129. data/test/test_gem_stream_ui.rb +21 -1
  130. data/test/test_gem_uninstaller.rb +1 -2
  131. data/test/test_gem_validator.rb +2 -8
  132. data/test/test_gem_version.rb +110 -254
  133. data/test/test_gem_version_option.rb +1 -1
  134. data/test/test_kernel.rb +1 -7
  135. data/util/CL2notes +1 -1
  136. data/util/gem_prelude.rb.template +64 -41
  137. metadata +33 -71
  138. metadata.gz.sig +0 -0
  139. data/lib/rubygems/digest/digest_adapter.rb +0 -49
  140. data/lib/rubygems/digest/md5.rb +0 -23
  141. data/lib/rubygems/digest/sha1.rb +0 -22
  142. data/lib/rubygems/digest/sha2.rb +0 -22
  143. data/lib/rubygems/timer.rb +0 -28
  144. data/test/test_gem_digest.rb +0 -46
  145. data/test/test_gem_source_info_cache.rb +0 -447
  146. data/test/test_gem_source_info_cache_entry.rb +0 -78
@@ -1,5 +1,4 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)),
2
- 'gem_installer_test_case')
1
+ require File.expand_path('../gem_installer_test_case', __FILE__)
3
2
  require 'rubygems/install_update_options'
4
3
  require 'rubygems/command'
5
4
 
@@ -20,11 +19,6 @@ class TestGemInstallUpdateOptions < GemInstallerTestCase
20
19
  assert @cmd.handles?(args)
21
20
  end
22
21
 
23
- def test_prerelease
24
- @cmd.handle_options %w[--prerelease]
25
- assert_equal true, @cmd.options[:prerelease]
26
- end
27
-
28
22
  def test_security_policy
29
23
  @cmd.handle_options %w[-P HighSecurity]
30
24
 
@@ -1,11 +1,4 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)),
8
- 'gem_installer_test_case')
1
+ require File.expand_path('../gem_installer_test_case', __FILE__)
9
2
 
10
3
  class TestGemInstaller < GemInstallerTestCase
11
4
 
@@ -108,19 +101,6 @@ load Gem.bin_path('a', 'my_exec', version)
108
101
  assert_equal 'a requires b (> 2, runtime)', e.message
109
102
  end
110
103
 
111
- def test_expand_and_validate_gem_dir
112
- @installer.gem_dir = '/nonexistent'
113
- expanded_gem_dir = @installer.send(:expand_and_validate_gem_dir)
114
- if win_platform?
115
- expected = File.expand_path('/nonexistent').downcase
116
- expanded_gem_dir = expanded_gem_dir.downcase
117
- else
118
- expected = '/nonexistent'
119
- end
120
-
121
- assert_equal expected, expanded_gem_dir
122
- end
123
-
124
104
  def test_extract_files
125
105
  format = Object.new
126
106
  def format.file_entries
@@ -516,7 +496,7 @@ load Gem.bin_path('a', 'my_exec', version)
516
496
 
517
497
  @installer.generate_bin
518
498
 
519
- default_shebang = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
499
+ default_shebang = Gem.ruby
520
500
  shebang_line = open("#{@gemhome}/bin/my_exec") { |f| f.readlines.first }
521
501
  assert_match(/\A#!/, shebang_line)
522
502
  assert_match(/#{default_shebang}/, shebang_line)
@@ -524,11 +504,11 @@ load Gem.bin_path('a', 'my_exec', version)
524
504
 
525
505
  def test_initialize
526
506
  spec = quick_gem 'a' do |s| s.platform = Gem::Platform.new 'mswin32' end
527
- gem = File.join @tempdir, "#{spec.full_name}.gem"
507
+ gem = File.join @tempdir, spec.file_name
528
508
 
529
509
  Dir.mkdir util_inst_bindir
530
510
  util_build_gem spec
531
- FileUtils.mv File.join(@gemhome, 'cache', "#{spec.full_name}.gem"),
511
+ FileUtils.mv File.join(@gemhome, 'cache', spec.file_name),
532
512
  @tempdir
533
513
 
534
514
  installer = Gem::Installer.new gem
@@ -540,7 +520,7 @@ load Gem.bin_path('a', 'my_exec', version)
540
520
  Dir.mkdir util_inst_bindir
541
521
  util_setup_gem
542
522
 
543
- cache_file = File.join @gemhome, 'cache', "#{@spec.full_name}.gem"
523
+ cache_file = File.join @gemhome, 'cache', @spec.file_name
544
524
 
545
525
  Gem.pre_install do |installer|
546
526
  refute File.exist?(cache_file), 'cache file should not exist yet'
@@ -568,8 +548,7 @@ load Gem.bin_path('a', 'my_exec', version)
568
548
 
569
549
  assert File.exist?(File.join(gemdir, 'ext', 'a', 'Rakefile'))
570
550
 
571
- spec_file = File.join(@gemhome, 'specifications',
572
- "#{@spec.full_name}.gemspec")
551
+ spec_file = File.join(@gemhome, 'specifications', @spec.spec_name)
573
552
 
574
553
  assert_equal spec_file, @spec.loaded_from
575
554
  assert File.exist?(spec_file)
@@ -583,7 +562,7 @@ load Gem.bin_path('a', 'my_exec', version)
583
562
 
584
563
  use_ui @ui do
585
564
  Dir.chdir @tempdir do Gem::Builder.new(@spec).build end
586
- gem = File.join @tempdir, "#{@spec.full_name}.gem"
565
+ gem = File.join @tempdir, @spec.file_name
587
566
  end
588
567
 
589
568
  gem_data = File.open gem, 'rb' do |fp| fp.read 1024 end
@@ -666,8 +645,7 @@ load Gem.bin_path('a', 'my_exec', version)
666
645
  assert_equal 0111, exe_mode, "0%o" % exe_mode unless win_platform?
667
646
  assert File.exist?(File.join(gemdir, 'lib', 'code.rb'))
668
647
 
669
- assert File.exist?(File.join(@gemhome, 'specifications',
670
- "#{@spec.full_name}.gemspec"))
648
+ assert File.exist?(File.join(@gemhome, 'specifications', @spec.spec_name))
671
649
  end
672
650
 
673
651
  def test_install_missing_dirs
@@ -677,7 +655,7 @@ load Gem.bin_path('a', 'my_exec', version)
677
655
 
678
656
  use_ui @ui do
679
657
  Dir.chdir @tempdir do Gem::Builder.new(@spec).build end
680
- gem = File.join @tempdir, "#{@spec.full_name}.gem"
658
+ gem = File.join @tempdir, @spec.file_name
681
659
 
682
660
  @installer.install
683
661
  end
@@ -686,50 +664,8 @@ load Gem.bin_path('a', 'my_exec', version)
686
664
  File.directory? File.join(Gem.dir, 'docs')
687
665
  File.directory? File.join(Gem.dir, 'specifications')
688
666
 
689
- assert File.exist?(File.join(@gemhome, 'cache', "#{@spec.full_name}.gem"))
690
- assert File.exist?(File.join(@gemhome, 'specifications',
691
- "#{@spec.full_name}.gemspec"))
692
- end
693
-
694
- unless win_platform? # File.chmod doesn't work
695
- def test_install_user_local_fallback
696
- Dir.mkdir util_inst_bindir
697
- File.chmod 0755, @userhome
698
- File.chmod 0000, util_inst_bindir
699
- File.chmod 0000, Gem.dir
700
- @spec.executables = ["executable"]
701
-
702
- build_rake_in do
703
- use_ui @ui do
704
- util_setup_gem
705
- @installer.install
706
- end
707
- end
708
-
709
- assert File.exist?(File.join(Gem.user_dir, 'gems',
710
- @spec.full_name, 'lib', 'code.rb'))
711
- assert File.exist?(File.join(Gem.user_dir, 'bin', 'executable'))
712
- ensure
713
- File.chmod 0755, Gem.dir
714
- File.chmod 0755, util_inst_bindir
715
- end
716
-
717
- def test_install_bindir_read_only
718
- Dir.mkdir util_inst_bindir
719
- File.chmod 0755, @userhome
720
- File.chmod 0000, util_inst_bindir
721
-
722
- build_rake_in do
723
- use_ui @ui do
724
- util_setup_gem
725
- @installer.install
726
- end
727
- end
728
-
729
- assert File.exist?(File.join(Gem.user_dir, 'bin', 'executable'))
730
- ensure
731
- File.chmod 0755, util_inst_bindir
732
- end
667
+ assert File.exist?(File.join(@gemhome, 'cache', @spec.file_name))
668
+ assert File.exist?(File.join(@gemhome, 'specifications', @spec.spec_name))
733
669
  end
734
670
 
735
671
  def test_install_with_message
@@ -750,7 +686,7 @@ load Gem.bin_path('a', 'my_exec', version)
750
686
  e = assert_raises Gem::InstallError do
751
687
  installer.install
752
688
  end
753
- assert_equal 'old_ruby_required requires Ruby version = 1.4.6',
689
+ assert_equal 'old_ruby_required requires Ruby version = 1.4.6.',
754
690
  e.message
755
691
  end
756
692
  end
@@ -762,15 +698,15 @@ load Gem.bin_path('a', 'my_exec', version)
762
698
 
763
699
  util_build_gem spec
764
700
 
765
- gem = File.join @gemhome, 'cache', "#{spec.full_name}.gem"
701
+ gem = File.join @gemhome, 'cache', spec.file_name
766
702
 
767
703
  use_ui @ui do
768
704
  @installer = Gem::Installer.new gem
769
705
  e = assert_raises Gem::InstallError do
770
706
  @installer.install
771
707
  end
772
- assert_equal 'old_rubygems_required requires RubyGems version < 0',
773
- e.message
708
+ assert_equal 'old_rubygems_required requires RubyGems version < 0. ' +
709
+ "Try 'gem update --system' to update RubyGems itself.", e.message
774
710
  end
775
711
  end
776
712
 
@@ -826,7 +762,11 @@ load Gem.bin_path('a', 'my_exec', version)
826
762
  @installer.env_shebang = true
827
763
 
828
764
  shebang = @installer.shebang 'my_exec'
829
- assert_equal "#!/usr/bin/env #{Gem::ConfigMap[:ruby_install_name]}", shebang
765
+
766
+ env_shebang = "/usr/bin/env" unless Gem.win_platform?
767
+
768
+ assert_equal("#!#{env_shebang} #{Gem::ConfigMap[:ruby_install_name]}",
769
+ shebang)
830
770
  end
831
771
 
832
772
  def test_shebang_nested
@@ -890,7 +830,7 @@ load Gem.bin_path('a', 'my_exec', version)
890
830
 
891
831
  def test_write_spec
892
832
  spec_dir = File.join @gemhome, 'specifications'
893
- spec_file = File.join spec_dir, "#{@spec.full_name}.gemspec"
833
+ spec_file = File.join spec_dir, @spec.spec_name
894
834
  FileUtils.rm spec_file
895
835
  refute File.exist?(spec_file)
896
836
 
@@ -910,7 +850,7 @@ load Gem.bin_path('a', 'my_exec', version)
910
850
 
911
851
  util_build_gem spec
912
852
 
913
- File.join @gemhome, 'cache', "#{spec.full_name}.gem"
853
+ File.join @gemhome, 'cache', spec.file_name
914
854
  end
915
855
 
916
856
  end
@@ -1,4 +1,4 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
1
+ require File.expand_path('../gemutilities', __FILE__)
2
2
  require 'rubygems/local_remote_options'
3
3
  require 'rubygems/command'
4
4
 
@@ -1,11 +1,4 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)),
8
- 'gem_package_tar_test_case')
1
+ require File.expand_path('../gem_package_tar_test_case', __FILE__)
9
2
  require 'rubygems/package'
10
3
 
11
4
  class TestGemPackageTarHeader < TarTestCase
@@ -1,11 +1,4 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)),
8
- 'gem_package_tar_test_case')
1
+ require File.expand_path('../gem_package_tar_test_case', __FILE__)
9
2
  require 'rubygems/package/tar_input'
10
3
 
11
4
  class TestGemPackageTarInput < TarTestCase
@@ -1,11 +1,4 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)),
8
- 'gem_package_tar_test_case')
1
+ require File.expand_path('../gem_package_tar_test_case', __FILE__)
9
2
  require 'rubygems/package/tar_output'
10
3
 
11
4
  class TestGemPackageTarOutput < TarTestCase
@@ -1,11 +1,4 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)),
8
- 'gem_package_tar_test_case')
1
+ require File.expand_path('../gem_package_tar_test_case', __FILE__)
9
2
  require 'rubygems/package'
10
3
 
11
4
  class TestGemPackageTarReader < TarTestCase
@@ -1,11 +1,4 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)),
8
- 'gem_package_tar_test_case')
1
+ require File.expand_path('../gem_package_tar_test_case', __FILE__)
9
2
  require 'rubygems/package'
10
3
 
11
4
  class TestGemPackageTarReaderEntry < TarTestCase
@@ -1,11 +1,4 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)),
8
- 'gem_package_tar_test_case')
1
+ require File.expand_path('../gem_package_tar_test_case', __FILE__)
9
2
  require 'rubygems/package/tar_writer'
10
3
 
11
4
  class TestTarWriter < TarTestCase
@@ -1,25 +1,4 @@
1
- # Copyright (c) 2003, 2004 Jim Weirich, 2009 Eric Hodel
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining
4
- # a copy of this software and associated documentation files (the
5
- # "Software"), to deal in the Software without restriction, including
6
- # without limitation the rights to use, copy, modify, merge, publish,
7
- # distribute, sublicense, and/or sell copies of the Software, and to
8
- # permit persons to whom the Software is furnished to do so, subject to
9
- # the following conditions:
10
- #
11
- # The above copyright notice and this permission notice shall be
12
- # included in all copies or substantial portions of the Software.
13
- #
14
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
1
+ require File.expand_path('../gemutilities', __FILE__)
23
2
  require 'rubygems'
24
3
  require 'rubygems/package_task'
25
4
 
@@ -35,7 +14,6 @@ class TestGemPackageTask < MiniTest::Unit::TestCase
35
14
  p.package_files << "y"
36
15
  end
37
16
  assert_equal ["x", "y"], pkg.package_files
38
- assert_equal "pkgr-1.2.3.gem", pkg.gem_file
39
17
  end
40
18
 
41
19
  def test_gem_package_with_current_platform
@@ -49,7 +27,6 @@ class TestGemPackageTask < MiniTest::Unit::TestCase
49
27
  p.package_files << "y"
50
28
  end
51
29
  assert_equal ["x", "y"], pkg.package_files
52
- assert_match(/^pkgr-1\.2\.3-(\S+)\.gem$/, pkg.gem_file)
53
30
  end
54
31
 
55
32
  def test_gem_package_with_ruby_platform
@@ -63,7 +40,6 @@ class TestGemPackageTask < MiniTest::Unit::TestCase
63
40
  p.package_files << "y"
64
41
  end
65
42
  assert_equal ["x", "y"], pkg.package_files
66
- assert_equal "pkgr-1.2.3.gem", pkg.gem_file
67
43
  end
68
44
 
69
45
  end
@@ -1,4 +1,4 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
1
+ require File.expand_path('../gemutilities', __FILE__)
2
2
  require 'rubygems/platform'
3
3
  require 'rbconfig'
4
4
 
@@ -100,8 +100,8 @@ class TestGemPlatform < RubyGemTestCase
100
100
  end
101
101
 
102
102
  def test_initialize_mswin32_vc6
103
- orig_RUBY_SO_NAME = Config::CONFIG['RUBY_SO_NAME']
104
- Config::CONFIG['RUBY_SO_NAME'] = 'msvcrt-ruby18'
103
+ orig_RUBY_SO_NAME = RbConfig::CONFIG['RUBY_SO_NAME']
104
+ RbConfig::CONFIG['RUBY_SO_NAME'] = 'msvcrt-ruby18'
105
105
 
106
106
  expected = ['x86', 'mswin32', nil]
107
107
 
@@ -109,7 +109,7 @@ class TestGemPlatform < RubyGemTestCase
109
109
 
110
110
  assert_equal expected, platform.to_a, 'i386-mswin32 VC6'
111
111
  ensure
112
- Config::CONFIG['RUBY_SO_NAME'] = orig_RUBY_SO_NAME
112
+ RbConfig::CONFIG['RUBY_SO_NAME'] = orig_RUBY_SO_NAME
113
113
  end
114
114
 
115
115
  def test_initialize_platform
@@ -1,14 +1,8 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
1
+ require File.expand_path('../gemutilities', __FILE__)
2
+ require 'ostruct'
8
3
  require 'webrick'
9
- require 'zlib'
10
4
  require 'rubygems/remote_fetcher'
11
- require 'ostruct'
5
+ require 'rubygems/format'
12
6
 
13
7
  # = Testing Proxy Settings
14
8
  #
@@ -208,7 +202,7 @@ gems:
208
202
 
209
203
  fetcher = util_fuck_with_fetcher a1_data
210
204
 
211
- a1_cache_gem = File.join(@gemhome, 'cache', "#{@a1.full_name}.gem")
205
+ a1_cache_gem = File.join(@gemhome, 'cache', @a1.file_name)
212
206
  assert_equal a1_cache_gem, fetcher.download(@a1, 'http://gems.example.com')
213
207
  assert_equal("http://gems.example.com/gems/a-1.gem",
214
208
  fetcher.instance_variable_get(:@test_arg).to_s)
@@ -220,20 +214,20 @@ gems:
220
214
 
221
215
  inst = Gem::RemoteFetcher.fetcher
222
216
 
223
- assert_equal File.join(@gemhome, 'cache', "#{@a1.full_name}.gem"),
217
+ assert_equal File.join(@gemhome, 'cache', @a1.file_name),
224
218
  inst.download(@a1, 'http://gems.example.com')
225
219
  end
226
220
 
227
221
  def test_download_local
228
222
  FileUtils.mv @a1_gem, @tempdir
229
- local_path = File.join @tempdir, "#{@a1.full_name}.gem"
223
+ local_path = File.join @tempdir, @a1.file_name
230
224
  inst = nil
231
225
 
232
226
  Dir.chdir @tempdir do
233
227
  inst = Gem::RemoteFetcher.fetcher
234
228
  end
235
229
 
236
- assert_equal File.join(@gemhome, 'cache', "#{@a1.full_name}.gem"),
230
+ assert_equal File.join(@gemhome, 'cache', @a1.file_name),
237
231
  inst.download(@a1, local_path)
238
232
  end
239
233
 
@@ -241,14 +235,14 @@ gems:
241
235
  space_path = File.join @tempdir, 'space path'
242
236
  FileUtils.mkdir space_path
243
237
  FileUtils.mv @a1_gem, space_path
244
- local_path = File.join space_path, "#{@a1.full_name}.gem"
238
+ local_path = File.join space_path, @a1.file_name
245
239
  inst = nil
246
240
 
247
241
  Dir.chdir @tempdir do
248
242
  inst = Gem::RemoteFetcher.fetcher
249
243
  end
250
244
 
251
- assert_equal File.join(@gemhome, 'cache', "#{@a1.full_name}.gem"),
245
+ assert_equal File.join(@gemhome, 'cache', @a1.file_name),
252
246
  inst.download(@a1, local_path)
253
247
  end
254
248
 
@@ -262,7 +256,7 @@ gems:
262
256
 
263
257
  install_dir = File.join @tempdir, 'more_gems'
264
258
 
265
- a1_cache_gem = File.join install_dir, 'cache', "#{@a1.full_name}.gem"
259
+ a1_cache_gem = File.join install_dir, 'cache', @a1.file_name
266
260
  FileUtils.mkdir_p(File.dirname(a1_cache_gem))
267
261
  actual = fetcher.download(@a1, 'http://gems.example.com', install_dir)
268
262
 
@@ -276,7 +270,7 @@ gems:
276
270
  unless win_platform? # File.chmod doesn't work
277
271
  def test_download_local_read_only
278
272
  FileUtils.mv @a1_gem, @tempdir
279
- local_path = File.join @tempdir, "#{@a1.full_name}.gem"
273
+ local_path = File.join @tempdir, @a1.file_name
280
274
  inst = nil
281
275
  File.chmod 0555, File.join(@gemhome, 'cache')
282
276
 
@@ -284,7 +278,7 @@ gems:
284
278
  inst = Gem::RemoteFetcher.fetcher
285
279
  end
286
280
 
287
- assert_equal File.join(@tempdir, "#{@a1.full_name}.gem"),
281
+ assert_equal File.join(@tempdir, @a1.file_name),
288
282
  inst.download(@a1, local_path)
289
283
  ensure
290
284
  File.chmod 0755, File.join(@gemhome, 'cache')
@@ -296,8 +290,7 @@ gems:
296
290
 
297
291
  fetcher = util_fuck_with_fetcher File.read(@a1_gem)
298
292
  fetcher.download(@a1, 'http://gems.example.com')
299
- assert File.exist?(File.join(Gem.user_dir, 'cache',
300
- "#{@a1.full_name}.gem"))
293
+ assert File.exist?(File.join(Gem.user_dir, 'cache', @a1.file_name))
301
294
  ensure
302
295
  File.chmod 0755, File.join(@gemhome)
303
296
  File.chmod 0755, File.join(@gemhome, 'cache')
@@ -319,7 +312,7 @@ gems:
319
312
 
320
313
  fetcher = util_fuck_with_fetcher e1_data, :blow_chunks
321
314
 
322
- e1_cache_gem = File.join(@gemhome, 'cache', "#{e1.full_name}.gem")
315
+ e1_cache_gem = File.join(@gemhome, 'cache', e1.file_name)
323
316
 
324
317
  assert_equal e1_cache_gem, fetcher.download(e1, 'http://gems.example.com')
325
318
 
@@ -328,6 +321,23 @@ gems:
328
321
  assert File.exist?(e1_cache_gem)
329
322
  end
330
323
 
324
+ def test_download_same_file
325
+ FileUtils.mv @a1_gem, @tempdir
326
+ local_path = File.join @tempdir, @a1.file_name
327
+ inst = nil
328
+
329
+ Dir.chdir @tempdir do
330
+ inst = Gem::RemoteFetcher.fetcher
331
+ end
332
+
333
+ cache_path = File.join @gemhome, 'cache', @a1.file_name
334
+ FileUtils.mv local_path, cache_path
335
+
336
+ gem = Gem::Format.from_file_by_path cache_path
337
+
338
+ assert_equal cache_path, inst.download(gem.spec, cache_path)
339
+ end
340
+
331
341
  def test_download_unsupported
332
342
  inst = Gem::RemoteFetcher.fetcher
333
343