mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Remove save_loaded_features
https://github.com/rubygems/rubygems/commit/f5e408f83d
This commit is contained in:
parent
3f0150f2fd
commit
a4f2aafd3a
3 changed files with 257 additions and 305 deletions
|
@ -825,10 +825,6 @@ class Gem::TestCase < Test::Unit::TestCase
|
||||||
Gem::Specification.unresolved_deps.values.map(&:to_s).sort
|
Gem::Specification.unresolved_deps.values.map(&:to_s).sort
|
||||||
end
|
end
|
||||||
|
|
||||||
def save_loaded_features
|
|
||||||
yield
|
|
||||||
end
|
|
||||||
|
|
||||||
def new_default_spec(name, version, deps = nil, *files)
|
def new_default_spec(name, version, deps = nil, *files)
|
||||||
spec = util_spec name, version, deps
|
spec = util_spec name, version, deps
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ class TestGem < Gem::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_self_finish_resolve
|
def test_self_finish_resolve
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||||
b2 = util_spec "b", "2", "c" => ">= 2"
|
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||||
|
@ -44,10 +43,8 @@ class TestGem < Gem::TestCase
|
||||||
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_finish_resolve_wtf
|
def test_self_finish_resolve_wtf
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
|
a1 = util_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
|
||||||
b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b.rb" # this
|
b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b.rb" # this
|
||||||
b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b.rb"
|
b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b.rb"
|
||||||
|
@ -68,10 +65,8 @@ class TestGem < Gem::TestCase
|
||||||
assert_equal %w[a-1 b-1 c-1 d-2], loaded_spec_names
|
assert_equal %w[a-1 b-1 c-1 d-2], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_finish_resolve_respects_loaded_specs
|
def test_self_finish_resolve_respects_loaded_specs
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||||
b2 = util_spec "b", "2", "c" => ">= 2"
|
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||||
|
@ -91,7 +86,6 @@ class TestGem < Gem::TestCase
|
||||||
assert_equal %w[a-1 b-1 c-1], loaded_spec_names
|
assert_equal %w[a-1 b-1 c-1], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_install
|
def test_self_install
|
||||||
spec_fetcher do |f|
|
spec_fetcher do |f|
|
||||||
|
@ -210,15 +204,12 @@ class TestGem < Gem::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_require_missing
|
def test_require_missing
|
||||||
save_loaded_features do
|
|
||||||
assert_raise ::LoadError do
|
assert_raise ::LoadError do
|
||||||
require "test_require_missing"
|
require "test_require_missing"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_require_does_not_glob
|
def test_require_does_not_glob
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", nil, "lib/a1.rb"
|
a1 = util_spec "a", "1", nil, "lib/a1.rb"
|
||||||
|
|
||||||
install_specs a1
|
install_specs a1
|
||||||
|
@ -229,7 +220,6 @@ class TestGem < Gem::TestCase
|
||||||
|
|
||||||
assert_equal [], loaded_spec_names
|
assert_equal [], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_bin_path_active
|
def test_self_bin_path_active
|
||||||
a1 = util_spec 'a', '1' do |s|
|
a1 = util_spec 'a', '1' do |s|
|
||||||
|
@ -1444,7 +1434,6 @@ class TestGem < Gem::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_self_needs_picks_up_unresolved_deps
|
def test_self_needs_picks_up_unresolved_deps
|
||||||
save_loaded_features do
|
|
||||||
a = util_spec "a", "1"
|
a = util_spec "a", "1"
|
||||||
b = util_spec "b", "1", "c" => nil
|
b = util_spec "b", "1", "c" => nil
|
||||||
c = util_spec "c", "2"
|
c = util_spec "c", "2"
|
||||||
|
@ -1462,7 +1451,6 @@ class TestGem < Gem::TestCase
|
||||||
|
|
||||||
assert_equal %w[a-1 b-1 c-2 d-1 e-1], loaded_spec_names
|
assert_equal %w[a-1 b-1 c-2 d-1 e-1], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_gunzip
|
def test_self_gunzip
|
||||||
input = "\x1F\x8B\b\0\xED\xA3\x1AQ\0\x03\xCBH" +
|
input = "\x1F\x8B\b\0\xED\xA3\x1AQ\0\x03\xCBH" +
|
||||||
|
|
|
@ -127,7 +127,6 @@ end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_self_activate_ambiguous_direct
|
def test_self_activate_ambiguous_direct
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec("b", "1", { "c" => ">= 1" }, "lib/d#{$$}.rb")
|
b1 = util_spec("b", "1", { "c" => ">= 1" }, "lib/d#{$$}.rb")
|
||||||
b2 = util_spec("b", "2", { "c" => ">= 2" }, "lib/d#{$$}.rb")
|
b2 = util_spec("b", "2", { "c" => ">= 2" }, "lib/d#{$$}.rb")
|
||||||
|
@ -146,10 +145,8 @@ end
|
||||||
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_find_in_unresolved_tree_is_not_exponentiental
|
def test_find_in_unresolved_tree_is_not_exponentiental
|
||||||
save_loaded_features do
|
|
||||||
num_of_pkg = 7
|
num_of_pkg = 7
|
||||||
num_of_version_per_pkg = 3
|
num_of_version_per_pkg = 3
|
||||||
packages = (0..num_of_pkg).map do |pkgi|
|
packages = (0..num_of_pkg).map do |pkgi|
|
||||||
|
@ -172,10 +169,8 @@ end
|
||||||
end
|
end
|
||||||
assert_operator tms.total, :<=, 10
|
assert_operator tms.total, :<=, 10
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_activate_ambiguous_indirect
|
def test_self_activate_ambiguous_indirect
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||||
b2 = util_spec "b", "2", "c" => ">= 2"
|
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||||
|
@ -193,10 +188,8 @@ end
|
||||||
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_activate_ambiguous_indirect_conflict
|
def test_self_activate_ambiguous_indirect_conflict
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
a2 = util_spec "a", "2", "b" => "> 0"
|
a2 = util_spec "a", "2", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||||
|
@ -215,10 +208,8 @@ end
|
||||||
assert_equal %w[a-2 b-1 c-1], loaded_spec_names
|
assert_equal %w[a-2 b-1 c-1], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_activate_ambiguous_unrelated
|
def test_self_activate_ambiguous_unrelated
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||||
b2 = util_spec "b", "2", "c" => ">= 2"
|
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||||
|
@ -237,10 +228,8 @@ end
|
||||||
assert_equal %w[a-1 d-1], loaded_spec_names
|
assert_equal %w[a-1 d-1], loaded_spec_names
|
||||||
assert_equal ["b (> 0)"], unresolved_names
|
assert_equal ["b (> 0)"], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_require_should_prefer_latest_gem_level1
|
def test_require_should_prefer_latest_gem_level1
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
||||||
b2 = util_spec "b", "2", "c" => ">= 0"
|
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||||
|
@ -255,10 +244,8 @@ end
|
||||||
|
|
||||||
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_require_should_prefer_latest_gem_level2
|
def test_require_should_prefer_latest_gem_level2
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
||||||
b2 = util_spec "b", "2", "c" => ">= 0"
|
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||||
|
@ -275,10 +262,8 @@ end
|
||||||
|
|
||||||
assert_equal %w[a-1 b-2 c-2 d-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2 d-2], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_require_finds_in_2nd_level_indirect
|
def test_require_finds_in_2nd_level_indirect
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
||||||
b2 = util_spec "b", "2", "c" => ">= 0"
|
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||||
|
@ -296,10 +281,8 @@ end
|
||||||
|
|
||||||
assert_equal %w[a-1 b-2 c-2 d-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2 d-2], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_require_should_prefer_reachable_gems
|
def test_require_should_prefer_reachable_gems
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
||||||
b2 = util_spec "b", "2", "c" => ">= 0"
|
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||||
|
@ -318,10 +301,8 @@ end
|
||||||
|
|
||||||
assert_equal %w[a-1 b-2 c-2 d-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2 d-2], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_require_should_not_conflict
|
def test_require_should_not_conflict
|
||||||
save_loaded_features do
|
|
||||||
base = util_spec "0", "1", "A" => ">= 1"
|
base = util_spec "0", "1", "A" => ">= 1"
|
||||||
a1 = util_spec "A", "1", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
a1 = util_spec "A", "1", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
||||||
a2 = util_spec "A", "2", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
a2 = util_spec "A", "2", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
||||||
|
@ -342,10 +323,8 @@ end
|
||||||
assert_equal %w[0-1 A-2 b-2 c-2], loaded_spec_names
|
assert_equal %w[0-1 A-2 b-2 c-2], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_inner_clonflict_in_indirect_gems
|
def test_inner_clonflict_in_indirect_gems
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 1" # unresolved
|
b1 = util_spec "b", "1", "c" => ">= 1" # unresolved
|
||||||
b2 = util_spec "b", "2", "c" => ">= 1", "d" => "< 3"
|
b2 = util_spec "b", "2", "c" => ">= 1", "d" => "< 3"
|
||||||
|
@ -364,10 +343,8 @@ end
|
||||||
|
|
||||||
assert_includes [%w[a-1 b-2 c-3 d-2],%w[a-1 b-2 d-2]], loaded_spec_names
|
assert_includes [%w[a-1 b-2 c-3 d-2],%w[a-1 b-2 d-2]], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_inner_clonflict_in_indirect_gems_reversed
|
def test_inner_clonflict_in_indirect_gems_reversed
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "xc" => ">= 1" # unresolved
|
b1 = util_spec "b", "1", "xc" => ">= 1" # unresolved
|
||||||
b2 = util_spec "b", "2", "xc" => ">= 1", "d" => "< 3"
|
b2 = util_spec "b", "2", "xc" => ">= 1", "d" => "< 3"
|
||||||
|
@ -386,7 +363,6 @@ end
|
||||||
|
|
||||||
assert_includes [%w[a-1 b-2 d-2 xc-3], %w[a-1 b-2 d-2]], loaded_spec_names
|
assert_includes [%w[a-1 b-2 d-2 xc-3], %w[a-1 b-2 d-2]], loaded_spec_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# [A] depends on
|
# [A] depends on
|
||||||
|
@ -509,15 +485,12 @@ end
|
||||||
install_specs b1, b2, a1
|
install_specs b1, b2, a1
|
||||||
|
|
||||||
a1.activate
|
a1.activate
|
||||||
save_loaded_features do
|
|
||||||
require "b/c"
|
require "b/c"
|
||||||
end
|
|
||||||
|
|
||||||
assert_equal %w[a-1 b-1], loaded_spec_names
|
assert_equal %w[a-1 b-1], loaded_spec_names
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_self_activate_via_require_wtf
|
def test_self_activate_via_require_wtf
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
|
a1 = util_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
|
||||||
b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b#{$$}.rb"
|
b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b#{$$}.rb"
|
||||||
b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b#{$$}.rb" # this
|
b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b#{$$}.rb" # this
|
||||||
|
@ -544,7 +517,6 @@ end
|
||||||
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
assert_equal %w[a-1 b-2 c-2], loaded_spec_names
|
||||||
assert_equal ["d (> 0)"], unresolved_names
|
assert_equal ["d (> 0)"], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_self_activate_deep_unambiguous
|
def test_self_activate_deep_unambiguous
|
||||||
a1 = util_spec "a", "1", "b" => "= 1"
|
a1 = util_spec "a", "1", "b" => "= 1"
|
||||||
|
@ -2146,7 +2118,6 @@ dependencies: []
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_require_already_activated
|
def test_require_already_activated
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", nil, "lib/d#{$$}.rb"
|
a1 = util_spec "a", "1", nil, "lib/d#{$$}.rb"
|
||||||
|
|
||||||
install_specs a1 # , a2, b1, b2, c1, c2
|
install_specs a1 # , a2, b1, b2, c1, c2
|
||||||
|
@ -2160,10 +2131,8 @@ dependencies: []
|
||||||
assert_equal %w[a-1], loaded_spec_names
|
assert_equal %w[a-1], loaded_spec_names
|
||||||
assert_equal [], unresolved_names
|
assert_equal [], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_require_already_activated_indirect_conflict
|
def test_require_already_activated_indirect_conflict
|
||||||
save_loaded_features do
|
|
||||||
a1 = util_spec "a", "1", "b" => "> 0"
|
a1 = util_spec "a", "1", "b" => "> 0"
|
||||||
a2 = util_spec "a", "2", "b" => "> 0"
|
a2 = util_spec "a", "2", "b" => "> 0"
|
||||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||||
|
@ -2183,7 +2152,6 @@ dependencies: []
|
||||||
assert_equal %w[a-1 c-1], loaded_spec_names
|
assert_equal %w[a-1 c-1], loaded_spec_names
|
||||||
assert_equal ["b (> 0)"], unresolved_names
|
assert_equal ["b (> 0)"], unresolved_names
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_requirements
|
def test_requirements
|
||||||
assert_equal ['A working computer'], @a1.requirements
|
assert_equal ['A working computer'], @a1.requirements
|
||||||
|
|
Loading…
Add table
Reference in a new issue