rubygems-update 1.3.6 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- data.tar.gz.sig +0 -0
- data/ChangeLog +86 -0
- data/History.txt +34 -1
- data/Manifest.txt +6 -1
- data/Rakefile +79 -34
- data/lib/rubygems.rb +52 -30
- data/lib/rubygems/builder.rb +2 -0
- data/lib/rubygems/command.rb +12 -0
- data/lib/rubygems/command_manager.rb +17 -12
- data/lib/rubygems/commands/contents_command.rb +1 -1
- data/lib/rubygems/commands/dependency_command.rb +3 -1
- data/lib/rubygems/commands/environment_command.rb +3 -2
- data/lib/rubygems/commands/fetch_command.rb +7 -3
- data/lib/rubygems/commands/install_command.rb +2 -1
- data/lib/rubygems/commands/query_command.rb +16 -3
- data/lib/rubygems/commands/server_command.rb +5 -3
- data/lib/rubygems/commands/setup_command.rb +1 -1
- data/lib/rubygems/commands/unpack_command.rb +35 -23
- data/lib/rubygems/commands/update_command.rb +1 -1
- data/lib/rubygems/defaults.rb +4 -6
- data/lib/rubygems/dependency.rb +32 -6
- data/lib/rubygems/dependency_installer.rb +10 -3
- data/lib/rubygems/doc_manager.rb +5 -2
- data/lib/rubygems/errors.rb +35 -0
- data/lib/rubygems/exceptions.rb +10 -1
- data/lib/rubygems/indexer.rb +1 -1
- data/lib/rubygems/installer.rb +6 -5
- data/lib/rubygems/package.rb +6 -3
- data/lib/rubygems/package/f_sync_dir.rb +4 -3
- data/lib/rubygems/package/tar_header.rb +4 -3
- data/lib/rubygems/package/tar_output.rb +4 -3
- data/lib/rubygems/package/tar_reader.rb +4 -3
- data/lib/rubygems/package/tar_writer.rb +4 -3
- data/lib/rubygems/package_task.rb +4 -3
- data/lib/rubygems/platform.rb +4 -1
- data/lib/rubygems/remote_fetcher.rb +9 -3
- data/lib/rubygems/requirement.rb +5 -0
- data/lib/rubygems/security.rb +3 -3
- data/lib/rubygems/server.rb +33 -18
- data/lib/rubygems/source_index.rb +4 -4
- data/lib/rubygems/source_info_cache.rb +4 -2
- data/lib/rubygems/spec_fetcher.rb +33 -11
- data/lib/rubygems/specification.rb +40 -32
- data/lib/rubygems/test_utilities.rb +2 -2
- data/lib/rubygems/validator.rb +3 -4
- data/lib/rubygems/version.rb +1 -1
- data/test/gem_package_tar_test_case.rb +2 -2
- data/test/gemutilities.rb +15 -9
- data/test/insure_session.rb +1 -1
- data/test/plugin/exception/rubygems_plugin.rb +2 -0
- data/test/plugin/load/rubygems_plugin.rb +1 -0
- data/test/plugin/standarderror/rubygems_plugin.rb +2 -0
- data/test/rubygems/commands/crash_command.rb +5 -0
- data/test/rubygems_plugin.rb +5 -0
- data/test/simple_gem.rb +15 -15
- data/test/test_gem.rb +45 -2
- data/test/test_gem_command_manager.rb +14 -0
- data/test/test_gem_commands_contents_command.rb +7 -5
- data/test/test_gem_commands_environment_command.rb +3 -1
- data/test/test_gem_commands_fetch_command.rb +21 -1
- data/test/test_gem_commands_install_command.rb +2 -4
- data/test/test_gem_commands_query_command.rb +33 -6
- data/test/test_gem_commands_server_command.rb +9 -2
- data/test/test_gem_commands_uninstall_command.rb +4 -2
- data/test/test_gem_commands_unpack_command.rb +46 -2
- data/test/test_gem_config_file.rb +2 -0
- data/test/test_gem_dependency.rb +11 -0
- data/test/test_gem_doc_manager.rb +1 -1
- data/test/test_gem_indexer.rb +2 -2
- data/test/test_gem_installer.rb +1 -1
- data/test/test_gem_package_tar_input.rb +1 -1
- data/test/test_gem_package_tar_writer.rb +3 -3
- data/test/test_gem_platform.rb +19 -0
- data/test/test_gem_server.rb +11 -0
- data/test/test_gem_source_index.rb +2 -2
- data/test/test_gem_spec_fetcher.rb +42 -0
- data/test/test_gem_specification.rb +46 -7
- data/util/{gem_prelude.rb.template → gem_prelude.rb} +53 -23
- metadata +16 -6
- metadata.gz.sig +0 -0
| @@ -85,10 +85,10 @@ class Gem::SourceIndex | |
| 85 85 | 
             
                def load_specification(file_name)
         | 
| 86 86 | 
             
                  return nil unless file_name and File.exist? file_name
         | 
| 87 87 |  | 
| 88 | 
            -
                  spec_code = if  | 
| 89 | 
            -
                                File.read file_name
         | 
| 90 | 
            -
                              else
         | 
| 88 | 
            +
                  spec_code = if defined? Encoding then
         | 
| 91 89 | 
             
                                File.read file_name, :encoding => 'UTF-8'
         | 
| 90 | 
            +
                              else
         | 
| 91 | 
            +
                                File.read file_name
         | 
| 92 92 | 
             
                              end.untaint
         | 
| 93 93 |  | 
| 94 94 | 
             
                  begin
         | 
| @@ -414,7 +414,7 @@ class Gem::SourceIndex | |
| 414 414 | 
             
              end
         | 
| 415 415 |  | 
| 416 416 | 
             
              def ==(other) # :nodoc:
         | 
| 417 | 
            -
                self.class === other and @gems == other.gems | 
| 417 | 
            +
                self.class === other and @gems == other.gems
         | 
| 418 418 | 
             
              end
         | 
| 419 419 |  | 
| 420 420 | 
             
              def dump
         | 
| @@ -285,17 +285,19 @@ class Gem::SourceInfoCache | |
| 285 285 | 
             
                cache_data.map do |source_uri, sic_entry|
         | 
| 286 286 | 
             
                  next unless Gem.sources.include? source_uri
         | 
| 287 287 | 
             
                  # TODO - Remove this gunk after 2008/11
         | 
| 288 | 
            -
                  unless pattern.kind_of? | 
| 289 | 
            -
                    pattern = Gem::Dependency.new | 
| 288 | 
            +
                  unless pattern.kind_of? Gem::Dependency then
         | 
| 289 | 
            +
                    pattern = Gem::Dependency.new pattern, Gem::Requirement.default
         | 
| 290 290 | 
             
                  end
         | 
| 291 291 | 
             
                  sic_entry.source_index.search pattern, platform_only
         | 
| 292 292 | 
             
                end.flatten.compact
         | 
| 293 293 | 
             
              end
         | 
| 294 294 |  | 
| 295 | 
            +
              ##
         | 
| 295 296 | 
             
              # Searches all source indexes for +pattern+.  If +only_platform+ is true,
         | 
| 296 297 | 
             
              # only gems matching Gem.platforms will be selected.  Returns an Array of
         | 
| 297 298 | 
             
              # pairs containing the Gem::Specification found and the source_uri it was
         | 
| 298 299 | 
             
              # found at.
         | 
| 300 | 
            +
             | 
| 299 301 | 
             
              def search_with_source(pattern, only_platform = false, all = false)
         | 
| 300 302 | 
             
                read_all_cache_data if all
         | 
| 301 303 |  | 
| @@ -3,6 +3,7 @@ require 'fileutils' | |
| 3 3 |  | 
| 4 4 | 
             
            require 'rubygems/remote_fetcher'
         | 
| 5 5 | 
             
            require 'rubygems/user_interaction'
         | 
| 6 | 
            +
            require 'rubygems/errors'
         | 
| 6 7 |  | 
| 7 8 | 
             
            ##
         | 
| 8 9 | 
             
            # SpecFetcher handles metadata updates from remote gem repositories.
         | 
| @@ -53,7 +54,7 @@ class Gem::SpecFetcher | |
| 53 54 | 
             
              end
         | 
| 54 55 |  | 
| 55 56 | 
             
              ##
         | 
| 56 | 
            -
              #  | 
| 57 | 
            +
              # Returns the local directory to write +uri+ to.
         | 
| 57 58 |  | 
| 58 59 | 
             
              def cache_dir(uri)
         | 
| 59 60 | 
             
                File.join @dir, "#{uri.host}%#{uri.port}", File.dirname(uri.path)
         | 
| @@ -65,22 +66,28 @@ class Gem::SpecFetcher | |
| 65 66 | 
             
              # false, all platforms are returned. If +prerelease+ is true,
         | 
| 66 67 | 
             
              # prerelease versions are included.
         | 
| 67 68 |  | 
| 68 | 
            -
              def  | 
| 69 | 
            -
                specs_and_sources =  | 
| 69 | 
            +
              def fetch_with_errors(dependency, all = false, matching_platform = true, prerelease = false)
         | 
| 70 | 
            +
                specs_and_sources, errors = find_matching_with_errors dependency, all, matching_platform, prerelease
         | 
| 70 71 |  | 
| 71 | 
            -
                specs_and_sources.map do |spec_tuple, source_uri|
         | 
| 72 | 
            +
                ss = specs_and_sources.map do |spec_tuple, source_uri|
         | 
| 72 73 | 
             
                  [fetch_spec(spec_tuple, URI.parse(source_uri)), source_uri]
         | 
| 73 74 | 
             
                end
         | 
| 74 75 |  | 
| 76 | 
            +
                return [ss, errors]
         | 
| 77 | 
            +
             | 
| 75 78 | 
             
              rescue Gem::RemoteFetcher::FetchError => e
         | 
| 76 79 | 
             
                raise unless warn_legacy e do
         | 
| 77 80 | 
             
                  require 'rubygems/source_info_cache'
         | 
| 78 81 |  | 
| 79 | 
            -
                  return Gem::SourceInfoCache.search_with_source(dependency,
         | 
| 80 | 
            -
                                                                 matching_platform, all)
         | 
| 82 | 
            +
                  return [Gem::SourceInfoCache.search_with_source(dependency,
         | 
| 83 | 
            +
                                                                 matching_platform, all), nil]
         | 
| 81 84 | 
             
                end
         | 
| 82 85 | 
             
              end
         | 
| 83 86 |  | 
| 87 | 
            +
              def fetch(*args)
         | 
| 88 | 
            +
                fetch_with_errors(*args).first
         | 
| 89 | 
            +
              end
         | 
| 90 | 
            +
             | 
| 84 91 | 
             
              def fetch_spec(spec, source_uri)
         | 
| 85 92 | 
             
                spec = spec - [nil, 'ruby', '']
         | 
| 86 93 | 
             
                spec_file_name = "#{spec.join '-'}.gemspec"
         | 
| @@ -117,16 +124,27 @@ class Gem::SpecFetcher | |
| 117 124 | 
             
              # matching released versions are returned.  If +matching_platform+
         | 
| 118 125 | 
             
              # is false, gems for all platforms are returned.
         | 
| 119 126 |  | 
| 120 | 
            -
              def  | 
| 127 | 
            +
              def find_matching_with_errors(dependency, all = false, matching_platform = true, prerelease = false)
         | 
| 121 128 | 
             
                found = {}
         | 
| 122 129 |  | 
| 130 | 
            +
                rejected_specs = {}
         | 
| 131 | 
            +
             | 
| 123 132 | 
             
                list(all, prerelease).each do |source_uri, specs|
         | 
| 124 133 | 
             
                  found[source_uri] = specs.select do |spec_name, version, spec_platform|
         | 
| 125 | 
            -
                    dependency | 
| 126 | 
            -
                       | 
| 134 | 
            +
                    if dependency.match?(spec_name, version)
         | 
| 135 | 
            +
                      if matching_platform and !Gem::Platform.match(spec_platform)
         | 
| 136 | 
            +
                        pm = (rejected_specs[dependency] ||= Gem::PlatformMismatch.new(spec_name, version))
         | 
| 137 | 
            +
                        pm.add_platform spec_platform
         | 
| 138 | 
            +
                        false
         | 
| 139 | 
            +
                      else
         | 
| 140 | 
            +
                        true
         | 
| 141 | 
            +
                      end
         | 
| 142 | 
            +
                    end
         | 
| 127 143 | 
             
                  end
         | 
| 128 144 | 
             
                end
         | 
| 129 145 |  | 
| 146 | 
            +
                errors = rejected_specs.values
         | 
| 147 | 
            +
             | 
| 130 148 | 
             
                specs_and_sources = []
         | 
| 131 149 |  | 
| 132 150 | 
             
                found.each do |source_uri, specs|
         | 
| @@ -134,7 +152,11 @@ class Gem::SpecFetcher | |
| 134 152 | 
             
                  specs_and_sources.push(*specs.map { |spec| [spec, uri_str] })
         | 
| 135 153 | 
             
                end
         | 
| 136 154 |  | 
| 137 | 
            -
                specs_and_sources
         | 
| 155 | 
            +
                [specs_and_sources, errors]
         | 
| 156 | 
            +
              end
         | 
| 157 | 
            +
             | 
| 158 | 
            +
              def find_matching(*args)
         | 
| 159 | 
            +
                find_matching_with_errors(*args).first
         | 
| 138 160 | 
             
              end
         | 
| 139 161 |  | 
| 140 162 | 
             
              ##
         | 
| @@ -184,7 +206,7 @@ class Gem::SpecFetcher | |
| 184 206 | 
             
                cache = { :latest => @latest_specs,
         | 
| 185 207 | 
             
                  :prerelease => @prerelease_specs,
         | 
| 186 208 | 
             
                  :all => @specs }[type]
         | 
| 187 | 
            -
             | 
| 209 | 
            +
             | 
| 188 210 | 
             
                Gem.sources.each do |source_uri|
         | 
| 189 211 | 
             
                  source_uri = URI.parse source_uri
         | 
| 190 212 |  | 
| @@ -504,8 +504,8 @@ class Gem::Specification | |
| 504 504 | 
             
                gemspec = nil
         | 
| 505 505 | 
             
                raise "NESTED Specification.load calls not allowed!" if @@gather
         | 
| 506 506 | 
             
                @@gather = proc { |gs| gemspec = gs }
         | 
| 507 | 
            -
                data = File.read | 
| 508 | 
            -
                eval | 
| 507 | 
            +
                data = File.read filename
         | 
| 508 | 
            +
                eval data, nil, filename
         | 
| 509 509 | 
             
                gemspec
         | 
| 510 510 | 
             
              ensure
         | 
| 511 511 | 
             
                @@gather = nil
         | 
| @@ -524,7 +524,7 @@ class Gem::Specification | |
| 524 524 | 
             
              # Sets the rubygems_version to the current RubyGems version
         | 
| 525 525 |  | 
| 526 526 | 
             
              def mark_version
         | 
| 527 | 
            -
                @rubygems_version = Gem:: | 
| 527 | 
            +
                @rubygems_version = Gem::VERSION
         | 
| 528 528 | 
             
              end
         | 
| 529 529 |  | 
| 530 530 | 
             
              ##
         | 
| @@ -677,33 +677,43 @@ class Gem::Specification | |
| 677 677 | 
             
                }
         | 
| 678 678 | 
             
              end
         | 
| 679 679 |  | 
| 680 | 
            -
              def  | 
| 680 | 
            +
              def encode_with coder # :nodoc:
         | 
| 681 681 | 
             
                mark_version
         | 
| 682 682 |  | 
| 683 683 | 
             
                attributes = @@attributes.map { |name,| name.to_s }.sort
         | 
| 684 684 | 
             
                attributes = attributes - %w[name version platform]
         | 
| 685 685 |  | 
| 686 | 
            +
                coder.add 'name', @name
         | 
| 687 | 
            +
                coder.add 'version', @version
         | 
| 688 | 
            +
                platform = case @original_platform
         | 
| 689 | 
            +
                           when nil, '' then
         | 
| 690 | 
            +
                             'ruby'
         | 
| 691 | 
            +
                           when String then
         | 
| 692 | 
            +
                             @original_platform
         | 
| 693 | 
            +
                           else
         | 
| 694 | 
            +
                             @original_platform.to_s
         | 
| 695 | 
            +
                           end
         | 
| 696 | 
            +
                coder.add 'platform', platform
         | 
| 697 | 
            +
             | 
| 698 | 
            +
                attributes.each do |name|
         | 
| 699 | 
            +
                  coder.add name, instance_variable_get("@#{name}")
         | 
| 700 | 
            +
                end
         | 
| 701 | 
            +
              end
         | 
| 702 | 
            +
             | 
| 703 | 
            +
              def to_yaml(opts = {}) # :nodoc:
         | 
| 704 | 
            +
                return super if YAML.const_defined?(:ENGINE) && !YAML::ENGINE.syck?
         | 
| 705 | 
            +
             | 
| 686 706 | 
             
                yaml = YAML.quick_emit object_id, opts do |out|
         | 
| 687 707 | 
             
                  out.map taguri, to_yaml_style do |map|
         | 
| 688 | 
            -
                    map | 
| 689 | 
            -
                    map.add 'version', @version
         | 
| 690 | 
            -
                    platform = case @original_platform
         | 
| 691 | 
            -
                               when nil, '' then
         | 
| 692 | 
            -
                                 'ruby'
         | 
| 693 | 
            -
                               when String then
         | 
| 694 | 
            -
                                 @original_platform
         | 
| 695 | 
            -
                               else
         | 
| 696 | 
            -
                                 @original_platform.to_s
         | 
| 697 | 
            -
                               end
         | 
| 698 | 
            -
                    map.add 'platform', platform
         | 
| 699 | 
            -
             | 
| 700 | 
            -
                    attributes.each do |name|
         | 
| 701 | 
            -
                      map.add name, instance_variable_get("@#{name}")
         | 
| 702 | 
            -
                    end
         | 
| 708 | 
            +
                    encode_with map
         | 
| 703 709 | 
             
                  end
         | 
| 704 710 | 
             
                end
         | 
| 705 711 | 
             
              end
         | 
| 706 712 |  | 
| 713 | 
            +
              def init_with coder # :nodoc:
         | 
| 714 | 
            +
                yaml_initialize coder.tag, coder.map
         | 
| 715 | 
            +
              end
         | 
| 716 | 
            +
             | 
| 707 717 | 
             
              def yaml_initialize(tag, vals) # :nodoc:
         | 
| 708 718 | 
             
                vals.each do |ivar, val|
         | 
| 709 719 | 
             
                  instance_variable_set "@#{ivar}", val
         | 
| @@ -759,7 +769,7 @@ class Gem::Specification | |
| 759 769 | 
             
                result << "    s.specification_version = #{specification_version}"
         | 
| 760 770 | 
             
                result << nil
         | 
| 761 771 |  | 
| 762 | 
            -
                result << "    if Gem::Version.new(Gem:: | 
| 772 | 
            +
                result << "    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then"
         | 
| 763 773 |  | 
| 764 774 | 
             
                unless dependencies.empty? then
         | 
| 765 775 | 
             
                  dependencies.each do |dep|
         | 
| @@ -804,9 +814,9 @@ class Gem::Specification | |
| 804 814 | 
             
                extend Gem::UserInteraction
         | 
| 805 815 | 
             
                normalize
         | 
| 806 816 |  | 
| 807 | 
            -
                if rubygems_version != Gem:: | 
| 817 | 
            +
                if rubygems_version != Gem::VERSION then
         | 
| 808 818 | 
             
                  raise Gem::InvalidSpecificationException,
         | 
| 809 | 
            -
                        "expected RubyGems version #{Gem:: | 
| 819 | 
            +
                        "expected RubyGems version #{Gem::VERSION}, was #{rubygems_version}"
         | 
| 810 820 | 
             
                end
         | 
| 811 821 |  | 
| 812 822 | 
             
                @@required_attributes.each do |symbol|
         | 
| @@ -1052,7 +1062,7 @@ class Gem::Specification | |
| 1052 1062 | 
             
              #
         | 
| 1053 1063 | 
             
              # Do not set this, it is set automatically when the gem is packaged.
         | 
| 1054 1064 |  | 
| 1055 | 
            -
              required_attribute :rubygems_version, Gem:: | 
| 1065 | 
            +
              required_attribute :rubygems_version, Gem::VERSION
         | 
| 1056 1066 |  | 
| 1057 1067 | 
             
              ##
         | 
| 1058 1068 | 
             
              # :attr_accessor: specification_version
         | 
| @@ -1481,14 +1491,12 @@ class Gem::Specification | |
| 1481 1491 | 
             
              end
         | 
| 1482 1492 |  | 
| 1483 1493 | 
             
              overwrite_accessor :files do
         | 
| 1484 | 
            -
                 | 
| 1485 | 
            -
                 | 
| 1486 | 
            -
             | 
| 1487 | 
            -
             | 
| 1488 | 
            -
             | 
| 1489 | 
            -
             | 
| 1490 | 
            -
             | 
| 1494 | 
            +
                # DO NOT CHANGE TO ||= ! This is not a normal accessor. (yes, it sucks)
         | 
| 1495 | 
            +
                @files = [@files,
         | 
| 1496 | 
            +
                          @test_files,
         | 
| 1497 | 
            +
                          add_bindir(@executables),
         | 
| 1498 | 
            +
                          @extra_rdoc_files,
         | 
| 1499 | 
            +
                          @extensions,
         | 
| 1500 | 
            +
                         ].flatten.uniq.compact
         | 
| 1491 1501 | 
             
              end
         | 
| 1492 | 
            -
             | 
| 1493 1502 | 
             
            end
         | 
| 1494 | 
            -
             | 
| @@ -11,9 +11,9 @@ require 'rubygems/remote_fetcher' | |
| 11 11 | 
             
            #   @fetcher = Gem::FakeFetcher.new
         | 
| 12 12 | 
             
            #   @fetcher.data['http://gems.example.com/yaml'] = source_index.to_yaml
         | 
| 13 13 | 
             
            #   Gem::RemoteFetcher.fetcher = @fetcher
         | 
| 14 | 
            -
            # | 
| 14 | 
            +
            #
         | 
| 15 15 | 
             
            #   # invoke RubyGems code
         | 
| 16 | 
            -
            # | 
| 16 | 
            +
            #
         | 
| 17 17 | 
             
            #   paths = @fetcher.paths
         | 
| 18 18 | 
             
            #   assert_equal 'http://gems.example.com/yaml', paths.shift
         | 
| 19 19 | 
             
            #   assert paths.empty?, paths.join(', ')
         | 
    
        data/lib/rubygems/validator.rb
    CHANGED
    
    | @@ -10,12 +10,11 @@ require 'digest' | |
| 10 10 | 
             
            require 'rubygems/format'
         | 
| 11 11 | 
             
            require 'rubygems/installer'
         | 
| 12 12 |  | 
| 13 | 
            -
            # Load test-unit 2.x if it's a gem
         | 
| 14 13 | 
             
            begin
         | 
| 15 | 
            -
             | 
| 14 | 
            +
              gem 'test-unit'
         | 
| 16 15 | 
             
            rescue Gem::LoadError
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            end | 
| 16 | 
            +
              # Ignore - use the test-unit library that's part of the standard library
         | 
| 17 | 
            +
            end
         | 
| 19 18 |  | 
| 20 19 | 
             
            ##
         | 
| 21 20 | 
             
            # Validator performs various gem file and gem database validation
         | 
    
        data/lib/rubygems/version.rb
    CHANGED
    
    
| @@ -35,7 +35,7 @@ class TarTestCase < RubyGemTestCase | |
| 35 35 | 
             
                  linkname 100
         | 
| 36 36 | 
             
                  magic 6
         | 
| 37 37 | 
             
                  version 2
         | 
| 38 | 
            -
                  uname 32 | 
| 38 | 
            +
                  uname 32
         | 
| 39 39 | 
             
                  gname 32
         | 
| 40 40 | 
             
                  devmajor 8
         | 
| 41 41 | 
             
                  devminor 8
         | 
| @@ -54,7 +54,7 @@ class TarTestCase < RubyGemTestCase | |
| 54 54 | 
             
                    next
         | 
| 55 55 | 
             
                  end
         | 
| 56 56 |  | 
| 57 | 
            -
                  assert_equal expected[offset, length], actual[offset, length], | 
| 57 | 
            +
                  assert_equal expected[offset, length], actual[offset, length],
         | 
| 58 58 | 
             
                               "Field #{name} of the tar header differs."
         | 
| 59 59 |  | 
| 60 60 | 
             
                  offset += length
         | 
    
        data/test/gemutilities.rb
    CHANGED
    
    | @@ -8,18 +8,17 @@ else | |
| 8 8 | 
             
              require 'rubygems'
         | 
| 9 9 | 
             
            end
         | 
| 10 10 | 
             
            require 'fileutils'
         | 
| 11 | 
            -
             | 
| 12 | 
            -
              gem 'minitest', '>= 1.3.1'
         | 
| 13 | 
            -
              require 'minitest/unit'
         | 
| 14 | 
            -
            rescue Gem::LoadError
         | 
| 15 | 
            -
              warn "Install minitest gem >= 1.3.1"
         | 
| 16 | 
            -
              raise
         | 
| 17 | 
            -
            end
         | 
| 11 | 
            +
            require 'minitest/autorun'
         | 
| 18 12 | 
             
            require 'tmpdir'
         | 
| 19 13 | 
             
            require 'uri'
         | 
| 20 14 | 
             
            require 'rubygems/package'
         | 
| 21 15 | 
             
            require 'rubygems/test_utilities'
         | 
| 22 16 | 
             
            require 'pp'
         | 
| 17 | 
            +
            require 'yaml'
         | 
| 18 | 
            +
            begin
         | 
| 19 | 
            +
              YAML::ENGINE.yamler = 'psych'
         | 
| 20 | 
            +
            rescue LoadError
         | 
| 21 | 
            +
            end if YAML.const_defined? :ENGINE
         | 
| 23 22 |  | 
| 24 23 | 
             
            begin
         | 
| 25 24 | 
             
              gem 'rdoc'
         | 
| @@ -71,6 +70,13 @@ class RubyGemTestCase < MiniTest::Unit::TestCase | |
| 71 70 |  | 
| 72 71 | 
             
                Gem.ensure_gem_subdirectories @gemhome
         | 
| 73 72 |  | 
| 73 | 
            +
                @orig_ruby = if ruby = ENV['RUBY'] then
         | 
| 74 | 
            +
                               Gem.class_eval { ruby, @ruby = @ruby, ruby }
         | 
| 75 | 
            +
                               ruby
         | 
| 76 | 
            +
                             end
         | 
| 77 | 
            +
             | 
| 78 | 
            +
                Gem.ensure_gem_subdirectories @gemhome
         | 
| 79 | 
            +
             | 
| 74 80 | 
             
                @orig_ENV_HOME = ENV['HOME']
         | 
| 75 81 | 
             
                ENV['HOME'] = @userhome
         | 
| 76 82 | 
             
                Gem.instance_variable_set :@user_home, nil
         | 
| @@ -147,6 +153,8 @@ class RubyGemTestCase < MiniTest::Unit::TestCase | |
| 147 153 |  | 
| 148 154 | 
             
                Gem.clear_paths
         | 
| 149 155 |  | 
| 156 | 
            +
                Gem.class_eval { @ruby = ruby } if ruby = @orig_ruby
         | 
| 157 | 
            +
             | 
| 150 158 | 
             
                if @orig_ENV_HOME then
         | 
| 151 159 | 
             
                  ENV['HOME'] = @orig_ENV_HOME
         | 
| 152 160 | 
             
                else
         | 
| @@ -578,5 +586,3 @@ Also, a list: | |
| 578 586 |  | 
| 579 587 | 
             
            end
         | 
| 580 588 |  | 
| 581 | 
            -
            MiniTest::Unit.autorun
         | 
| 582 | 
            -
             | 
    
        data/test/insure_session.rb
    CHANGED
    
    
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            TestGem::TEST_PLUGIN_LOAD = :loaded
         | 
    
        data/test/rubygems_plugin.rb
    CHANGED
    
    
    
        data/test/simple_gem.rb
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            SIMPLE_GEM = <<-GEMDATA
         | 
| 2 | 
            -
                    MD5SUM = " | 
| 2 | 
            +
                    MD5SUM = "b12a4d48febeb2289c539c2574c4b6f8"
         | 
| 3 3 | 
             
                    if $0 == __FILE__
         | 
| 4 4 | 
             
                      require 'optparse'
         | 
| 5 | 
            -
             | 
| 5 | 
            +
             | 
| 6 6 | 
             
                      options = {}
         | 
| 7 7 | 
             
                      ARGV.options do |opts|
         | 
| 8 8 | 
             
                        opts.on_tail("--help", "show this message") {puts opts; exit}
         | 
| @@ -13,45 +13,45 @@ SIMPLE_GEM = <<-GEMDATA | |
| 13 13 | 
             
                      end
         | 
| 14 14 |  | 
| 15 15 | 
             
                      require 'rubygems'
         | 
| 16 | 
            -
                      @directory = options[:directory] || Gem.dir | 
| 16 | 
            +
                      @directory = options[:directory] || Gem.dir
         | 
| 17 17 | 
             
                      @force = options[:force]
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                      gem = Gem::Installer.new(__FILE__).install(@force, @directory) | 
| 18 | 
            +
             | 
| 19 | 
            +
                      gem = Gem::Installer.new(__FILE__).install(@force, @directory)
         | 
| 20 20 | 
             
                      if options[:gen_rdoc]
         | 
| 21 21 | 
             
                        Gem::DocManager.new(gem).generate_rdoc
         | 
| 22 22 | 
             
                      end
         | 
| 23 23 | 
             
            end
         | 
| 24 24 |  | 
| 25 25 | 
             
            __END__
         | 
| 26 | 
            -
            --- !ruby/object:Gem::Specification | 
| 26 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 27 27 | 
             
            rubygems_version: "1.0"
         | 
| 28 28 | 
             
            name: testing
         | 
| 29 | 
            -
            version: !ruby/object:Gem::Version | 
| 29 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 30 30 | 
             
              version: 1.2.3
         | 
| 31 31 | 
             
            date: 2004-03-18 22:01:52.859121 -05:00
         | 
| 32 | 
            -
            platform: | 
| 32 | 
            +
            platform:
         | 
| 33 33 | 
             
            summary: This exercise the gem testing stuff.
         | 
| 34 | 
            -
            require_paths: | 
| 34 | 
            +
            require_paths:
         | 
| 35 35 | 
             
              - lib
         | 
| 36 | 
            -
            files: | 
| 36 | 
            +
            files:
         | 
| 37 37 | 
             
              - lib/foo.rb
         | 
| 38 38 | 
             
              - lib/test
         | 
| 39 39 | 
             
              - lib/test.rb
         | 
| 40 40 | 
             
              - lib/test/wow.rb
         | 
| 41 41 | 
             
            autorequire: test
         | 
| 42 42 | 
             
            test_suite_file: foo
         | 
| 43 | 
            -
            requirements: | 
| 43 | 
            +
            requirements:
         | 
| 44 44 | 
             
              - a computer processor
         | 
| 45 | 
            -
            --- | 
| 46 | 
            -
            - | 
| 45 | 
            +
            ---
         | 
| 46 | 
            +
            -
         | 
| 47 47 | 
             
              size: 109
         | 
| 48 48 | 
             
              mode: 420
         | 
| 49 49 | 
             
              path: lib/foo.rb
         | 
| 50 | 
            -
            - | 
| 50 | 
            +
            -
         | 
| 51 51 | 
             
              size: 0
         | 
| 52 52 | 
             
              mode: 420
         | 
| 53 53 | 
             
              path: lib/test.rb
         | 
| 54 | 
            -
            - | 
| 54 | 
            +
            -
         | 
| 55 55 | 
             
              size: 15
         | 
| 56 56 | 
             
              mode: 420
         | 
| 57 57 | 
             
              path: lib/test/wow.rb
         |