зеркало из https://github.com/github/ruby.git
Do not load files in build directory
related https://bugs.ruby-lang.org/issues/16177
This commit is contained in:
Родитель
85e43e1dfe
Коммит
1ed0212bcf
|
@ -87,6 +87,10 @@ jobs:
|
|||
- name: Extract gems
|
||||
run: make -C build update-gems extract-gems
|
||||
if: matrix.test_task == 'check'
|
||||
- name: Create dummy files in build dir
|
||||
run: |
|
||||
cd build
|
||||
./miniruby -e '(("a".."z").to_a+%w[foo bar test zzz]).each{|basename|File.write("#{basename}.rb", "raise %(do not load #{basename}.rb)")}'
|
||||
- name: Tests
|
||||
run: make -C build $JOBS -s ${{ matrix.test_task }}
|
||||
env:
|
||||
|
|
|
@ -76,12 +76,12 @@ p Foo::Bar
|
|||
eval <<-END
|
||||
class ::Object
|
||||
module A
|
||||
autoload :C, 'b'
|
||||
autoload :C, 'test-ruby-core-69206'
|
||||
end
|
||||
end
|
||||
END
|
||||
|
||||
File.open('b.rb', 'w') {|file| file.puts 'module A; class C; end; end'}
|
||||
File.write("test-ruby-core-69206.rb", 'module A; class C; end; end')
|
||||
assert_kind_of Class, ::A::C
|
||||
end
|
||||
}
|
||||
|
@ -257,7 +257,7 @@ p Foo::Bar
|
|||
|
||||
def test_autoload_private_constant
|
||||
Dir.mktmpdir('autoload') do |tmpdir|
|
||||
File.write(tmpdir+"/zzz.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
File.write(tmpdir+"/test-bug-14469.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
begin;
|
||||
class AutoloadTest
|
||||
ZZZ = :ZZZ
|
||||
|
@ -268,7 +268,7 @@ p Foo::Bar
|
|||
bug = '[ruby-core:85516] [Bug #14469]'
|
||||
begin;
|
||||
class AutoloadTest
|
||||
autoload :ZZZ, "zzz.rb"
|
||||
autoload :ZZZ, "test-bug-14469.rb"
|
||||
end
|
||||
assert_raise(NameError, bug) {AutoloadTest::ZZZ}
|
||||
end;
|
||||
|
@ -277,7 +277,7 @@ p Foo::Bar
|
|||
|
||||
def test_autoload_deprecate_constant
|
||||
Dir.mktmpdir('autoload') do |tmpdir|
|
||||
File.write(tmpdir+"/zzz.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
File.write(tmpdir+"/test-bug-14469.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
begin;
|
||||
class AutoloadTest
|
||||
ZZZ = :ZZZ
|
||||
|
@ -288,7 +288,7 @@ p Foo::Bar
|
|||
bug = '[ruby-core:85516] [Bug #14469]'
|
||||
begin;
|
||||
class AutoloadTest
|
||||
autoload :ZZZ, "zzz.rb"
|
||||
autoload :ZZZ, "test-bug-14469.rb"
|
||||
end
|
||||
assert_warning(/ZZZ is deprecated/, bug) {AutoloadTest::ZZZ}
|
||||
end;
|
||||
|
@ -297,7 +297,7 @@ p Foo::Bar
|
|||
|
||||
def test_autoload_private_constant_before_autoload
|
||||
Dir.mktmpdir('autoload') do |tmpdir|
|
||||
File.write(tmpdir+"/zzz.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
File.write(tmpdir+"/test-bug-11055.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
begin;
|
||||
class AutoloadTest
|
||||
ZZZ = :ZZZ
|
||||
|
@ -307,7 +307,7 @@ p Foo::Bar
|
|||
bug = '[Bug #11055]'
|
||||
begin;
|
||||
class AutoloadTest
|
||||
autoload :ZZZ, "zzz.rb"
|
||||
autoload :ZZZ, "test-bug-11055.rb"
|
||||
private_constant :ZZZ
|
||||
ZZZ
|
||||
end
|
||||
|
@ -317,7 +317,7 @@ p Foo::Bar
|
|||
bug = '[Bug #11055]'
|
||||
begin;
|
||||
class AutoloadTest
|
||||
autoload :ZZZ, "zzz.rb"
|
||||
autoload :ZZZ, "test-bug-11055.rb"
|
||||
private_constant :ZZZ
|
||||
end
|
||||
assert_raise(NameError, bug) {AutoloadTest::ZZZ}
|
||||
|
@ -327,7 +327,7 @@ p Foo::Bar
|
|||
|
||||
def test_autoload_deprecate_constant_before_autoload
|
||||
Dir.mktmpdir('autoload') do |tmpdir|
|
||||
File.write(tmpdir+"/zzz.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
File.write(tmpdir+"/test-bug-11055.rb", "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
begin;
|
||||
class AutoloadTest
|
||||
ZZZ = :ZZZ
|
||||
|
@ -337,7 +337,7 @@ p Foo::Bar
|
|||
bug = '[Bug #11055]'
|
||||
begin;
|
||||
class AutoloadTest
|
||||
autoload :ZZZ, "zzz.rb"
|
||||
autoload :ZZZ, "test-bug-11055.rb"
|
||||
deprecate_constant :ZZZ
|
||||
end
|
||||
assert_warning(/ZZZ is deprecated/, bug) {class AutoloadTest; ZZZ; end}
|
||||
|
@ -347,7 +347,7 @@ p Foo::Bar
|
|||
bug = '[Bug #11055]'
|
||||
begin;
|
||||
class AutoloadTest
|
||||
autoload :ZZZ, "zzz.rb"
|
||||
autoload :ZZZ, "test-bug-11055.rb"
|
||||
deprecate_constant :ZZZ
|
||||
end
|
||||
assert_warning(/ZZZ is deprecated/, bug) {AutoloadTest::ZZZ}
|
||||
|
@ -383,7 +383,7 @@ p Foo::Bar
|
|||
|
||||
def test_autoload_same_file
|
||||
Dir.mktmpdir('autoload') do |tmpdir|
|
||||
File.write("#{tmpdir}/bug14742.rb", "#{<<~'begin;'}\n#{<<~'end;'}")
|
||||
File.write("#{tmpdir}/test-bug-14742.rb", "#{<<~'begin;'}\n#{<<~'end;'}")
|
||||
begin;
|
||||
module Foo; end
|
||||
module Bar; end
|
||||
|
@ -391,8 +391,8 @@ p Foo::Bar
|
|||
3.times do # timing-dependent, needs a few times to hit [Bug #14742]
|
||||
assert_separately(%W[-I #{tmpdir}], "#{<<-'begin;'}\n#{<<-'end;'}")
|
||||
begin;
|
||||
autoload :Foo, 'bug14742'
|
||||
autoload :Bar, 'bug14742'
|
||||
autoload :Foo, 'test-bug-14742'
|
||||
autoload :Bar, 'test-bug-14742'
|
||||
t1 = Thread.new do Foo end
|
||||
t2 = Thread.new do Bar end
|
||||
t1.join
|
||||
|
@ -407,15 +407,15 @@ p Foo::Bar
|
|||
|
||||
def test_autoload_same_file_with_raise
|
||||
Dir.mktmpdir('autoload') do |tmpdir|
|
||||
File.write("#{tmpdir}/bug16177.rb", "#{<<~'begin;'}\n#{<<~'end;'}")
|
||||
File.write("#{tmpdir}/test-bug-16177.rb", "#{<<~'begin;'}\n#{<<~'end;'}")
|
||||
begin;
|
||||
raise '[ruby-core:95055] [Bug #16177]'
|
||||
end;
|
||||
assert_raise(RuntimeError, '[ruby-core:95055] [Bug #16177]') do
|
||||
assert_separately(%W[-I #{tmpdir}], "#{<<-'begin;'}\n#{<<-'end;'}")
|
||||
begin;
|
||||
autoload :Foo, 'bug16177'
|
||||
autoload :Bar, 'bug16177'
|
||||
autoload :Foo, 'test-bug-16177'
|
||||
autoload :Bar, 'test-bug-16177'
|
||||
t1 = Thread.new do Foo end
|
||||
t2 = Thread.new do Bar end
|
||||
t1.join
|
||||
|
|
|
@ -818,9 +818,9 @@ class TestRequire < Test::Unit::TestCase
|
|||
rescue NotImplementedError, Errno::EACCES
|
||||
skip "File.symlink is not implemented"
|
||||
end
|
||||
File.write(File.join(tmp, "real/a.rb"), "print __FILE__")
|
||||
result = IO.popen([EnvUtil.rubybin, "-I#{tmp}/symlink", "-e", "require 'a.rb'"], &:read)
|
||||
assert_operator(result, :end_with?, "/real/a.rb")
|
||||
File.write(File.join(tmp, "real/test_symlink_load_path.rb"), "print __FILE__")
|
||||
result = IO.popen([EnvUtil.rubybin, "-I#{tmp}/symlink", "-e", "require 'test_symlink_load_path.rb'"], &:read)
|
||||
assert_operator(result, :end_with?, "/real/test_symlink_load_path.rb")
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
@ -1388,7 +1388,7 @@ class TestGem < Gem::TestCase
|
|||
a = util_spec "a", "1"
|
||||
b = util_spec "b", "1", "c" => nil
|
||||
c = util_spec "c", "2"
|
||||
d = util_spec "d", "1", {'e' => '= 1'}, "lib/d.rb"
|
||||
d = util_spec "d", "1", {'e' => '= 1'}, "lib/d#{$$}.rb"
|
||||
e = util_spec "e", "1"
|
||||
|
||||
install_specs a, c, b, e, d
|
||||
|
@ -1397,7 +1397,7 @@ class TestGem < Gem::TestCase
|
|||
r.gem "a"
|
||||
r.gem "b", "= 1"
|
||||
|
||||
require 'd'
|
||||
require "d#{$$}"
|
||||
end
|
||||
|
||||
assert_equal %w!a-1 b-1 c-2 d-1 e-1!, loaded_spec_names
|
||||
|
|
|
@ -126,8 +126,8 @@ end
|
|||
def test_self_activate_ambiguous_direct
|
||||
save_loaded_features do
|
||||
a1 = util_spec "a", "1", "b" => "> 0"
|
||||
b1 = util_spec("b", "1", { "c" => ">= 1" }, "lib/d.rb")
|
||||
b2 = util_spec("b", "2", { "c" => ">= 2" }, "lib/d.rb")
|
||||
b1 = util_spec("b", "1", { "c" => ">= 1" }, "lib/d#{$$}.rb")
|
||||
b2 = util_spec("b", "2", { "c" => ">= 2" }, "lib/d#{$$}.rb")
|
||||
c1 = util_spec "c", "1"
|
||||
c2 = util_spec "c", "2"
|
||||
|
||||
|
@ -138,7 +138,7 @@ end
|
|||
assert_equal %w(a-1), loaded_spec_names
|
||||
assert_equal ["b (> 0)"], unresolved_names
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1 b-2 c-2), loaded_spec_names
|
||||
assert_equal [], unresolved_names
|
||||
|
@ -176,8 +176,8 @@ end
|
|||
a1 = util_spec "a", "1", "b" => "> 0"
|
||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||
c1 = util_spec "c", "1", nil, "lib/d.rb"
|
||||
c2 = util_spec "c", "2", nil, "lib/d.rb"
|
||||
c1 = util_spec "c", "1", nil, "lib/d#{$$}.rb"
|
||||
c2 = util_spec "c", "2", nil, "lib/d#{$$}.rb"
|
||||
|
||||
install_specs c1, c2, b1, b2, a1
|
||||
|
||||
|
@ -185,7 +185,7 @@ end
|
|||
assert_equal %w(a-1), loaded_spec_names
|
||||
assert_equal ["b (> 0)"], unresolved_names
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1 b-2 c-2), loaded_spec_names
|
||||
assert_equal [], unresolved_names
|
||||
|
@ -198,8 +198,8 @@ end
|
|||
a2 = util_spec "a", "2", "b" => "> 0"
|
||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||
c1 = util_spec "c", "1", nil, "lib/d.rb"
|
||||
c2 = util_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
|
||||
c1 = util_spec "c", "1", nil, "lib/d#{$$}.rb"
|
||||
c2 = util_spec("c", "2", { "a" => "1" }, "lib/d#{$$}.rb") # conflicts with a-2
|
||||
|
||||
install_specs c1, b1, a1, a2, c2, b2
|
||||
|
||||
|
@ -207,7 +207,7 @@ end
|
|||
assert_equal %w(a-2), loaded_spec_names
|
||||
assert_equal ["b (> 0)"], unresolved_names
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-2 b-1 c-1), loaded_spec_names
|
||||
assert_equal [], unresolved_names
|
||||
|
@ -221,7 +221,7 @@ end
|
|||
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||
c1 = util_spec "c", "1"
|
||||
c2 = util_spec "c", "2"
|
||||
d1 = util_spec "d", "1", nil, "lib/d.rb"
|
||||
d1 = util_spec "d", "1", nil, "lib/d#{$$}.rb"
|
||||
|
||||
install_specs d1, c1, c2, b1, b2, a1
|
||||
|
||||
|
@ -229,7 +229,7 @@ end
|
|||
assert_equal %w(a-1), loaded_spec_names
|
||||
assert_equal ["b (> 0)"], unresolved_names
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1 d-1), loaded_spec_names
|
||||
assert_equal ["b (> 0)"], unresolved_names
|
||||
|
@ -241,14 +241,14 @@ end
|
|||
a1 = util_spec "a", "1", "b" => "> 0"
|
||||
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
||||
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||
c1 = util_spec "c", "1", nil, "lib/c.rb" # 1st level
|
||||
c2 = util_spec "c", "2", nil, "lib/c.rb"
|
||||
c1 = util_spec "c", "1", nil, "lib/c#{$$}.rb" # 1st level
|
||||
c2 = util_spec "c", "2", nil, "lib/c#{$$}.rb"
|
||||
|
||||
install_specs c1, c2, b1, b2, a1
|
||||
|
||||
a1.activate
|
||||
|
||||
require "c"
|
||||
require "c#{$$}"
|
||||
|
||||
assert_equal %w(a-1 b-2 c-2), loaded_spec_names
|
||||
end
|
||||
|
@ -261,14 +261,14 @@ end
|
|||
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||
c1 = util_spec "c", "1", "d" => ">= 0" # 1st level
|
||||
c2 = util_spec "c", "2", "d" => ">= 0"
|
||||
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
||||
d1 = util_spec "d", "1", nil, "lib/d#{$$}.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d#{$$}.rb"
|
||||
|
||||
install_specs d1, d2, c1, c2, b1, b2, a1
|
||||
|
||||
a1.activate
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1 b-2 c-2 d-2), loaded_spec_names
|
||||
end
|
||||
|
@ -281,15 +281,15 @@ end
|
|||
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||
c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
|
||||
c2 = util_spec "c", "2", "d" => "<= 2"
|
||||
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
||||
d1 = util_spec "d", "1", nil, "lib/d#{$$}.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d#{$$}.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d#{$$}.rb"
|
||||
|
||||
install_specs d1, d2, d3, c1, c2, b1, b2, a1
|
||||
|
||||
a1.activate
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1 b-2 c-2 d-2), loaded_spec_names
|
||||
end
|
||||
|
@ -302,16 +302,16 @@ end
|
|||
b2 = util_spec "b", "2", "c" => ">= 0"
|
||||
c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
|
||||
c2 = util_spec "c", "2", "d" => "<= 2"
|
||||
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
||||
e = util_spec "anti_d", "1", nil, "lib/d.rb"
|
||||
d1 = util_spec "d", "1", nil, "lib/d#{$$}.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d#{$$}.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d#{$$}.rb"
|
||||
e = util_spec "anti_d", "1", nil, "lib/d#{$$}.rb"
|
||||
|
||||
install_specs d1, d2, d3, e, c1, c2, b1, b2, a1
|
||||
|
||||
a1.activate
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1 b-2 c-2 d-2), loaded_spec_names
|
||||
end
|
||||
|
@ -322,8 +322,8 @@ end
|
|||
base = util_spec "0", "1", "A" => ">= 1"
|
||||
a1 = util_spec "A", "1", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
||||
a2 = util_spec "A", "2", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
||||
b1 = util_spec "b", "1", {"c" => "= 1"}, "lib/d.rb"
|
||||
b2 = util_spec "b", "2", {"c" => "= 2"}, "lib/d.rb"
|
||||
b1 = util_spec "b", "1", {"c" => "= 1"}, "lib/d#{$$}.rb"
|
||||
b2 = util_spec "b", "2", {"c" => "= 2"}, "lib/d#{$$}.rb"
|
||||
c1 = util_spec "c", "1", {}, "lib/c.rb"
|
||||
c2 = util_spec "c", "2", {}, "lib/c.rb"
|
||||
c3 = util_spec "c", "3", {}, "lib/c.rb"
|
||||
|
@ -334,7 +334,7 @@ end
|
|||
assert_equal %w(0-1), loaded_spec_names
|
||||
assert_equal ["A (>= 1)"], unresolved_names
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_equal %w(0-1 A-2 b-2 c-2), loaded_spec_names
|
||||
assert_equal [], unresolved_names
|
||||
|
@ -349,15 +349,15 @@ end
|
|||
c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
|
||||
c2 = util_spec "c", "2", "d" => "<= 2"
|
||||
c3 = util_spec "c", "3", "d" => "<= 3"
|
||||
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
||||
d1 = util_spec "d", "1", nil, "lib/d#{$$}.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d#{$$}.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d#{$$}.rb"
|
||||
|
||||
install_specs d1, d2, d3, c1, c2, c3, b1, b2, a1
|
||||
|
||||
a1.activate
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_includes [%w(a-1 b-2 c-3 d-2),%w(a-1 b-2 d-2)], loaded_spec_names
|
||||
end
|
||||
|
@ -371,15 +371,15 @@ end
|
|||
c1 = util_spec "xc", "1", "d" => "<= 3" # 1st level
|
||||
c2 = util_spec "xc", "2", "d" => "<= 2"
|
||||
c3 = util_spec "xc", "3", "d" => "<= 3"
|
||||
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
||||
d1 = util_spec "d", "1", nil, "lib/d#{$$}.rb" # 2nd level
|
||||
d2 = util_spec "d", "2", nil, "lib/d#{$$}.rb"
|
||||
d3 = util_spec "d", "3", nil, "lib/d#{$$}.rb"
|
||||
|
||||
install_specs d1, d2, d3, c1, c2, c3, b1, b2, a1
|
||||
|
||||
a1.activate
|
||||
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
|
||||
assert_includes [%w(a-1 b-2 d-2 xc-3), %w(a-1 b-2 d-2)], loaded_spec_names
|
||||
end
|
||||
|
@ -516,12 +516,12 @@ end
|
|||
def test_self_activate_via_require_wtf
|
||||
save_loaded_features do
|
||||
a1 = util_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
|
||||
b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b.rb"
|
||||
b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b.rb" # this
|
||||
b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b#{$$}.rb"
|
||||
b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b#{$$}.rb" # this
|
||||
c1 = util_spec "c", "1"
|
||||
c2 = util_spec "c", "2" # this
|
||||
d1 = util_spec "d", "1", { "c" => "< 2" }, "lib/d.rb"
|
||||
d2 = util_spec "d", "2", { "c" => "< 2" }, "lib/d.rb" # this
|
||||
d1 = util_spec "d", "1", { "c" => "< 2" }, "lib/d#{$$}.rb"
|
||||
d2 = util_spec "d", "2", { "c" => "< 2" }, "lib/d#{$$}.rb" # this
|
||||
|
||||
install_specs c1, c2, b1, b2, d1, d2, a1
|
||||
|
||||
|
@ -530,10 +530,10 @@ end
|
|||
assert_equal %w(a-1), loaded_spec_names
|
||||
assert_equal ["b (> 0)", "d (> 0)"], unresolved_names
|
||||
|
||||
require "b"
|
||||
require "b#{$$}"
|
||||
|
||||
e = assert_raises Gem::LoadError do
|
||||
require "d"
|
||||
require "d#{$$}"
|
||||
end
|
||||
|
||||
assert_equal "unable to find a version of 'd' to activate", e.message
|
||||
|
@ -2287,7 +2287,7 @@ dependencies: []
|
|||
|
||||
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
|
||||
|
||||
|
@ -2295,7 +2295,7 @@ dependencies: []
|
|||
assert_equal %w(a-1), loaded_spec_names
|
||||
assert_equal [], unresolved_names
|
||||
|
||||
assert require "d"
|
||||
assert require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1), loaded_spec_names
|
||||
assert_equal [], unresolved_names
|
||||
|
@ -2308,8 +2308,8 @@ dependencies: []
|
|||
a2 = util_spec "a", "2", "b" => "> 0"
|
||||
b1 = util_spec "b", "1", "c" => ">= 1"
|
||||
b2 = util_spec "b", "2", "c" => ">= 2"
|
||||
c1 = util_spec "c", "1", nil, "lib/d.rb"
|
||||
c2 = util_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
|
||||
c1 = util_spec "c", "1", nil, "lib/d#{$$}.rb"
|
||||
c2 = util_spec("c", "2", { "a" => "1" }, "lib/d#{$$}.rb") # conflicts with a-2
|
||||
|
||||
install_specs c1, b1, a1, a2, c2, b2
|
||||
|
||||
|
@ -2318,7 +2318,7 @@ dependencies: []
|
|||
assert_equal %w(a-1 c-1), loaded_spec_names
|
||||
assert_equal ["b (> 0)"], unresolved_names
|
||||
|
||||
assert require "d"
|
||||
assert require "d#{$$}"
|
||||
|
||||
assert_equal %w(a-1 c-1), loaded_spec_names
|
||||
assert_equal ["b (> 0)"], unresolved_names
|
||||
|
|
|
@ -124,13 +124,13 @@ class TestGemRequire < Gem::TestCase
|
|||
Object.const_set :FILE_ENTERED_LATCH, Latch.new(2)
|
||||
Object.const_set :FILE_EXIT_LATCH, Latch.new(1)
|
||||
|
||||
a1 = util_spec "a", "1", nil, "lib/a.rb"
|
||||
b1 = util_spec "b", "1", nil, "lib/b.rb"
|
||||
a1 = util_spec "a#{$$}", "1", nil, "lib/a#{$$}.rb"
|
||||
b1 = util_spec "b#{$$}", "1", nil, "lib/b#{$$}.rb"
|
||||
|
||||
install_specs a1, b1
|
||||
|
||||
t1 = create_sync_thread{ assert_require 'a' }
|
||||
t2 = create_sync_thread{ assert_require 'b' }
|
||||
t1 = create_sync_thread{ assert_require "a#{$$}" }
|
||||
t2 = create_sync_thread{ assert_require "b#{$$}" }
|
||||
|
||||
# wait until both files are waiting on the exit latch
|
||||
FILE_ENTERED_LATCH.await
|
||||
|
@ -326,7 +326,7 @@ class TestGemRequire < Gem::TestCase
|
|||
end
|
||||
|
||||
def test_require_doesnt_traverse_development_dependencies
|
||||
a = util_spec("a", "1", nil, "lib/a.rb")
|
||||
a = util_spec("a#{$$}", "1", nil, "lib/a#{$$}.rb")
|
||||
z = util_spec("z", "1", "w" => "> 0")
|
||||
w1 = util_spec("w", "1") { |s| s.add_development_dependency "non-existent" }
|
||||
w2 = util_spec("w", "2") { |s| s.add_development_dependency "non-existent" }
|
||||
|
@ -337,7 +337,7 @@ class TestGemRequire < Gem::TestCase
|
|||
assert_equal %w(z-1), loaded_spec_names
|
||||
assert_equal ["w (> 0)"], unresolved_names
|
||||
|
||||
assert require("a")
|
||||
assert require("a#{$$}")
|
||||
end
|
||||
|
||||
def test_default_gem_only
|
||||
|
@ -451,15 +451,15 @@ class TestGemRequire < Gem::TestCase
|
|||
end
|
||||
|
||||
def test_require_default_when_gem_defined
|
||||
a = util_spec("a", "1", nil, "lib/a.rb")
|
||||
a = util_spec("a#{$$}", "1", nil, "lib/a#{$$}.rb")
|
||||
install_specs a
|
||||
c = Class.new do
|
||||
def self.gem(*args)
|
||||
raise "received #gem with #{args.inspect}"
|
||||
end
|
||||
end
|
||||
assert c.send(:require, "a")
|
||||
assert_equal %w(a-1), loaded_spec_names
|
||||
assert c.send(:require, "a#{$$}")
|
||||
assert_equal %W(a#{$$}-1), loaded_spec_names
|
||||
end
|
||||
|
||||
def test_require_bundler
|
||||
|
|
Загрузка…
Ссылка в новой задаче