diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/support/rubygems_ext.rb | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/spec/support/rubygems_ext.rb b/spec/support/rubygems_ext.rb index 5299a7b447..62e2274fbe 100644 --- a/spec/support/rubygems_ext.rb +++ b/spec/support/rubygems_ext.rb @@ -23,7 +23,8 @@ module Spec "rake" => "13.0.1", "builder" => "~> 3.2", # ruby-graphviz is used by the viz tests - "ruby-graphviz" => ">= 0.a", + # for >= Ruby 2.3 + "ruby-graphviz" => "1.2.4", } extend self @@ -105,10 +106,14 @@ module Spec end def install_gems(gems) - deps = gems.map {|name, req| "'#{name}:#{req}'" }.join(" ") - gem = ENV["GEM_COMMAND"] || "#{Gem.ruby} -S gem --backtrace" - cmd = "#{gem} install #{deps} --no-document --conservative" - system(cmd) || raise("Installing gems #{deps} for the tests to use failed!") + require "rubygems/dependency_installer" + + gems.each do |name, req| + dependency = Gem::Dependency.new(name, req) + next unless dependency.matching_specs.empty? + + Gem::DependencyInstaller.new(:document => false).install(dependency) + end end end end |