Skip to content

Remove the 'gem' usage from the code #313

@voxik

Description

@voxik

The f69260d commit introduces dependency on RubyGems by calling gem 'minitest'. This is unfortunate. Previously, I was able to run the RDoc test suite in Fedora by command such as:

RUBYOPT=-I/usr/share/gems/gems/rake-10.1.0/lib:/usr/share/gems/gems/minitest-4.7.0/lib:/usr/lib64/gems/ruby/json-1.8.1:/usr/share/gems/gems/json-1.8.1/lib:lib GEM_PATH= ruby -e 'Dir.glob "./test/**/test_*.rb", &method(:require)'

Now you force usage of RubyGems and the test suite fails:

/usr/share/rubygems/rubygems/dependency.rb:298:in `to_specs': Could not find 'minitest' (~> 4.0) among 0 total gem(s) (Gem::LoadError)
    from /usr/share/rubygems/rubygems/dependency.rb:309:in `to_spec'
    from /usr/share/rubygems/rubygems/core_ext/kernel_gem.rb:53:in `gem'
    from /builddir/build/BUILD/rubygem-rdoc-4.1.1/usr/share/gems/gems/rdoc-4.1.1/lib/rdoc/test_case.rb:4:in `<top (required)>'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:135:in `require'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:144:in `require'
    from /builddir/build/BUILD/rubygem-rdoc-4.1.1/usr/share/gems/gems/rdoc-4.1.1/test/test_rdoc_markdown.rb:3:in `<top (required)>'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:135:in `require'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:144:in `require'
    from -e:1:in `glob'
    from -e:1:in `<main>'

Although I noticed #279 and I understand your reasons, I don't think this is right solution. If every library needed to pass the test suite is available at Ruby's loadpath, the testsuite have to pass.

BTW the same applies to RubyGesm: https://github.com/rubygems/rubygems/blob/master/lib/rubygems/test_case.rb#L4

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions