rubygems-update 2.7.4 → 2.7.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +5 -8
- data/Manifest.txt +2 -1
- data/Rakefile +7 -0
- data/bundler/CHANGELOG.md +13 -0
- data/bundler/bundler.gemspec +2 -0
- data/bundler/lib/bundler/cli/gem.rb +1 -1
- data/bundler/lib/bundler/cli/init.rb +1 -5
- data/bundler/lib/bundler/cli/update.rb +3 -1
- data/bundler/lib/bundler/definition.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +4 -1
- data/bundler/lib/bundler/source/rubygems.rb +2 -4
- data/bundler/lib/bundler/templates/.document +1 -0
- data/bundler/lib/bundler/templates/Executable +11 -3
- data/bundler/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +0 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +5 -5
- data/lib/rubygems/commands/generate_index_command.rb +1 -1
- data/lib/rubygems/commands/setup_command.rb +12 -6
- data/lib/rubygems/commands/unpack_command.rb +2 -2
- data/lib/rubygems/config_file.rb +1 -1
- data/lib/rubygems/ext/builder.rb +1 -1
- data/lib/rubygems/indexer.rb +5 -4
- data/lib/rubygems/installer.rb +9 -4
- data/lib/rubygems/package.rb +2 -2
- data/lib/rubygems/package/file_source.rb +2 -2
- data/lib/rubygems/package/old.rb +1 -1
- data/lib/rubygems/request_set/lockfile.rb +1 -1
- data/lib/rubygems/security.rb +1 -1
- data/lib/rubygems/security/trust_dir.rb +1 -1
- data/lib/rubygems/source.rb +1 -1
- data/lib/rubygems/specification.rb +4 -0
- data/lib/rubygems/stub_specification.rb +2 -0
- data/lib/rubygems/test_case.rb +14 -8
- data/lib/rubygems/test_utilities.rb +1 -1
- data/lib/rubygems/util.rb +2 -1
- data/lib/rubygems/validator.rb +3 -3
- data/test/rubygems/test_gem.rb +17 -14
- data/test/rubygems/test_gem_commands_cleanup_command.rb +1 -1
- data/test/rubygems/test_gem_commands_install_command.rb +1 -0
- data/test/rubygems/test_gem_commands_push_command.rb +5 -5
- data/test/rubygems/test_gem_commands_setup_command.rb +20 -20
- data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -2
- data/test/rubygems/test_gem_dependency_installer.rb +1 -1
- data/test/rubygems/test_gem_doctor.rb +2 -2
- data/test/rubygems/test_gem_ext_builder.rb +6 -6
- data/test/rubygems/test_gem_gemcutter_utilities.rb +4 -4
- data/test/rubygems/test_gem_indexer.rb +1 -2
- data/test/rubygems/test_gem_install_update_options.rb +2 -0
- data/test/rubygems/test_gem_installer.rb +5 -1
- data/test/rubygems/test_gem_package.rb +15 -15
- data/test/rubygems/test_gem_package_old.rb +1 -1
- data/test/rubygems/test_gem_rdoc.rb +2 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
- data/test/rubygems/test_gem_request_connection_pools.rb +6 -7
- data/test/rubygems/test_gem_request_set.rb +7 -7
- data/test/rubygems/test_gem_request_set_lockfile.rb +4 -4
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +1 -1
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
- data/test/rubygems/test_gem_server.rb +4 -4
- data/test/rubygems/test_gem_source.rb +3 -3
- data/test/rubygems/test_gem_source_git.rb +1 -1
- data/test/rubygems/test_gem_specification.rb +21 -17
- data/test/rubygems/test_gem_stub_specification.rb +7 -7
- data/test/rubygems/test_gem_util.rb +23 -0
- data/test/rubygems/test_gem_version.rb +11 -0
- data/test/rubygems/test_require.rb +15 -21
- metadata +4 -3
@@ -70,7 +70,7 @@ class TestGemResolverGitSpecification < Gem::TestCase
|
|
70
70
|
Dir.chdir 'git/a' do
|
71
71
|
FileUtils.mkdir_p 'ext/lib'
|
72
72
|
|
73
|
-
open 'ext/extconf.rb', 'w' do |io|
|
73
|
+
File.open 'ext/extconf.rb', 'w' do |io|
|
74
74
|
io.puts 'require "mkmf"'
|
75
75
|
io.puts 'create_makefile "a"'
|
76
76
|
end
|
@@ -100,7 +100,7 @@ class TestGemServer < Gem::TestCase
|
|
100
100
|
specs_dir = File.join dir, 'specifications'
|
101
101
|
FileUtils.mkdir_p specs_dir
|
102
102
|
|
103
|
-
open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
103
|
+
File.open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
104
104
|
io.write spec.to_ruby
|
105
105
|
end
|
106
106
|
|
@@ -198,7 +198,7 @@ class TestGemServer < Gem::TestCase
|
|
198
198
|
|
199
199
|
FileUtils.mkdir_p specs_dir
|
200
200
|
|
201
|
-
open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
201
|
+
File.open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
202
202
|
io.write spec.to_ruby
|
203
203
|
end
|
204
204
|
|
@@ -339,7 +339,7 @@ class TestGemServer < Gem::TestCase
|
|
339
339
|
specs_dir = File.join dir, 'specifications'
|
340
340
|
FileUtils.mkdir_p specs_dir
|
341
341
|
|
342
|
-
open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
342
|
+
File.open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
343
343
|
io.write spec.to_ruby
|
344
344
|
end
|
345
345
|
|
@@ -378,7 +378,7 @@ class TestGemServer < Gem::TestCase
|
|
378
378
|
specs_dir = File.join dir, 'specifications'
|
379
379
|
FileUtils.mkdir_p specs_dir
|
380
380
|
|
381
|
-
open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
381
|
+
File.open File.join(specs_dir, spec.spec_name), 'w' do |io|
|
382
382
|
io.write spec.to_ruby
|
383
383
|
end
|
384
384
|
|
@@ -110,7 +110,7 @@ class TestGemSource < Gem::TestCase
|
|
110
110
|
|
111
111
|
cache_file = File.join cache_dir, a1.spec_name
|
112
112
|
|
113
|
-
open cache_file, 'wb' do |io|
|
113
|
+
File.open cache_file, 'wb' do |io|
|
114
114
|
Marshal.dump a1, io
|
115
115
|
end
|
116
116
|
|
@@ -163,7 +163,7 @@ class TestGemSource < Gem::TestCase
|
|
163
163
|
|
164
164
|
cache_file = File.join cache_dir, "latest_specs.#{Gem.marshal_version}"
|
165
165
|
|
166
|
-
open cache_file, 'wb' do |io|
|
166
|
+
File.open cache_file, 'wb' do |io|
|
167
167
|
Marshal.dump latest_specs, io
|
168
168
|
end
|
169
169
|
|
@@ -187,7 +187,7 @@ class TestGemSource < Gem::TestCase
|
|
187
187
|
|
188
188
|
cache_file = File.join cache_dir, "latest_specs.#{Gem.marshal_version}"
|
189
189
|
|
190
|
-
open cache_file, 'wb' do |io|
|
190
|
+
File.open cache_file, 'wb' do |io|
|
191
191
|
# Setup invalid data in the cache:
|
192
192
|
io.write Marshal.dump(latest_specs)[0, 10]
|
193
193
|
end
|
@@ -922,7 +922,7 @@ dependencies: []
|
|
922
922
|
end
|
923
923
|
|
924
924
|
def test_self_load_relative
|
925
|
-
open 'a-2.gemspec', 'w' do |io|
|
925
|
+
File.open 'a-2.gemspec', 'w' do |io|
|
926
926
|
io.write @a2.to_ruby_for_cache
|
927
927
|
end
|
928
928
|
|
@@ -948,6 +948,9 @@ dependencies: []
|
|
948
948
|
@a2.files.clear
|
949
949
|
|
950
950
|
assert_equal @a2, spec
|
951
|
+
|
952
|
+
ensure
|
953
|
+
$SAFE = 0
|
951
954
|
end
|
952
955
|
|
953
956
|
def test_self_load_escape_curly
|
@@ -1111,7 +1114,7 @@ dependencies: []
|
|
1111
1114
|
end
|
1112
1115
|
|
1113
1116
|
def test_self_remove_spec_removed
|
1114
|
-
open @a1.spec_file, 'w' do |io|
|
1117
|
+
File.open @a1.spec_file, 'w' do |io|
|
1115
1118
|
io.write @a1.to_ruby
|
1116
1119
|
end
|
1117
1120
|
|
@@ -1363,13 +1366,13 @@ dependencies: []
|
|
1363
1366
|
|
1364
1367
|
assert_empty @ext.build_args
|
1365
1368
|
|
1366
|
-
open @ext.build_info_file, 'w' do |io|
|
1369
|
+
File.open @ext.build_info_file, 'w' do |io|
|
1367
1370
|
io.puts
|
1368
1371
|
end
|
1369
1372
|
|
1370
1373
|
assert_empty @ext.build_args
|
1371
1374
|
|
1372
|
-
open @ext.build_info_file, 'w' do |io|
|
1375
|
+
File.open @ext.build_info_file, 'w' do |io|
|
1373
1376
|
io.puts '--with-foo-dir=wherever'
|
1374
1377
|
end
|
1375
1378
|
|
@@ -1385,9 +1388,9 @@ dependencies: []
|
|
1385
1388
|
extconf_rb = File.join @ext.gem_dir, @ext.extensions.first
|
1386
1389
|
FileUtils.mkdir_p File.dirname extconf_rb
|
1387
1390
|
|
1388
|
-
open extconf_rb, 'w' do |f|
|
1391
|
+
File.open extconf_rb, 'w' do |f|
|
1389
1392
|
f.write <<-'RUBY'
|
1390
|
-
open 'Makefile', 'w' do |f|
|
1393
|
+
File.open 'Makefile', 'w' do |f|
|
1391
1394
|
f.puts "clean:\n\techo clean"
|
1392
1395
|
f.puts "default:\n\techo built"
|
1393
1396
|
f.puts "install:\n\techo installed"
|
@@ -1435,9 +1438,9 @@ dependencies: []
|
|
1435
1438
|
extconf_rb = File.join spec.gem_dir, spec.extensions.first
|
1436
1439
|
FileUtils.mkdir_p File.dirname extconf_rb
|
1437
1440
|
|
1438
|
-
open extconf_rb, 'w' do |f|
|
1441
|
+
File.open extconf_rb, 'w' do |f|
|
1439
1442
|
f.write <<-'RUBY'
|
1440
|
-
open 'Makefile', 'w' do |f|
|
1443
|
+
File.open 'Makefile', 'w' do |f|
|
1441
1444
|
f.puts "default:\n\techo built"
|
1442
1445
|
f.puts "install:\n\techo installed"
|
1443
1446
|
end
|
@@ -1461,6 +1464,7 @@ dependencies: []
|
|
1461
1464
|
|
1462
1465
|
def test_build_extensions_extensions_dir_unwritable
|
1463
1466
|
skip 'chmod not supported' if Gem.win_platform?
|
1467
|
+
skip 'skipped in root privilege' if Process.uid.zero?
|
1464
1468
|
|
1465
1469
|
ext_spec
|
1466
1470
|
|
@@ -1469,9 +1473,9 @@ dependencies: []
|
|
1469
1473
|
extconf_rb = File.join @ext.gem_dir, @ext.extensions.first
|
1470
1474
|
FileUtils.mkdir_p File.dirname extconf_rb
|
1471
1475
|
|
1472
|
-
open extconf_rb, 'w' do |f|
|
1476
|
+
File.open extconf_rb, 'w' do |f|
|
1473
1477
|
f.write <<-'RUBY'
|
1474
|
-
open 'Makefile', 'w' do |f|
|
1478
|
+
File.open 'Makefile', 'w' do |f|
|
1475
1479
|
f.puts "clean:\n\techo clean"
|
1476
1480
|
f.puts "default:\n\techo built"
|
1477
1481
|
f.puts "install:\n\techo installed"
|
@@ -1486,7 +1490,7 @@ dependencies: []
|
|
1486
1490
|
@ext.build_extensions
|
1487
1491
|
refute_path_exists @ext.extension_dir
|
1488
1492
|
ensure
|
1489
|
-
unless ($DEBUG or win_platform?) then
|
1493
|
+
unless ($DEBUG or win_platform? or Process.uid.zero?) then
|
1490
1494
|
FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions')
|
1491
1495
|
FileUtils.chmod 0755, @ext.base_dir
|
1492
1496
|
end
|
@@ -1502,9 +1506,9 @@ dependencies: []
|
|
1502
1506
|
extconf_rb = File.join @ext.gem_dir, @ext.extensions.first
|
1503
1507
|
FileUtils.mkdir_p File.dirname extconf_rb
|
1504
1508
|
|
1505
|
-
open extconf_rb, 'w' do |f|
|
1509
|
+
File.open extconf_rb, 'w' do |f|
|
1506
1510
|
f.write <<-'RUBY'
|
1507
|
-
open 'Makefile', 'w' do |f|
|
1511
|
+
File.open 'Makefile', 'w' do |f|
|
1508
1512
|
f.puts "clean:\n\techo clean"
|
1509
1513
|
f.puts "default:\n\techo built"
|
1510
1514
|
f.puts "install:\n\techo installed"
|
@@ -1551,9 +1555,9 @@ dependencies: []
|
|
1551
1555
|
extconf_rb = File.join @ext.gem_dir, @ext.extensions.first
|
1552
1556
|
FileUtils.mkdir_p File.dirname extconf_rb
|
1553
1557
|
|
1554
|
-
open extconf_rb, 'w' do |f|
|
1558
|
+
File.open extconf_rb, 'w' do |f|
|
1555
1559
|
f.write <<-'RUBY'
|
1556
|
-
open 'Makefile', 'w' do |f|
|
1560
|
+
File.open 'Makefile', 'w' do |f|
|
1557
1561
|
f.puts "clean:\n\techo clean"
|
1558
1562
|
f.puts "default:\n\techo built"
|
1559
1563
|
f.puts "install:\n\techo installed"
|
@@ -3418,9 +3422,9 @@ end
|
|
3418
3422
|
extconf_rb = File.join @ext.gem_dir, @ext.extensions.first
|
3419
3423
|
FileUtils.mkdir_p File.dirname extconf_rb
|
3420
3424
|
|
3421
|
-
open extconf_rb, 'w' do |f|
|
3425
|
+
File.open extconf_rb, 'w' do |f|
|
3422
3426
|
f.write <<-'RUBY'
|
3423
|
-
open 'Makefile', 'w' do |f|
|
3427
|
+
File.open 'Makefile', 'w' do |f|
|
3424
3428
|
f.puts "clean:\n\techo clean"
|
3425
3429
|
f.puts "default:\n\techo built"
|
3426
3430
|
f.puts "install:\n\techo installed"
|
@@ -127,9 +127,9 @@ class TestStubSpecification < Gem::TestCase
|
|
127
127
|
extconf_rb = File.join s.gem_dir, s.extensions.first
|
128
128
|
FileUtils.mkdir_p File.dirname extconf_rb
|
129
129
|
|
130
|
-
open extconf_rb, 'w' do |f|
|
130
|
+
File.open extconf_rb, 'w' do |f|
|
131
131
|
f.write <<-'RUBY'
|
132
|
-
open 'Makefile', 'w' do |f|
|
132
|
+
File.open 'Makefile', 'w' do |f|
|
133
133
|
f.puts "clean:\n\techo clean"
|
134
134
|
f.puts "default:\n\techo built"
|
135
135
|
f.puts "install:\n\techo installed"
|
@@ -149,7 +149,7 @@ class TestStubSpecification < Gem::TestCase
|
|
149
149
|
spec = new_default_spec 'default', 1
|
150
150
|
spec.extensions << 'extconf.rb'
|
151
151
|
|
152
|
-
open spec.loaded_from, 'w' do |io|
|
152
|
+
File.open spec.loaded_from, 'w' do |io|
|
153
153
|
io.write spec.to_ruby_for_cache
|
154
154
|
end
|
155
155
|
|
@@ -198,7 +198,7 @@ class TestStubSpecification < Gem::TestCase
|
|
198
198
|
|
199
199
|
def stub_with_version
|
200
200
|
spec = File.join @gemhome, 'specifications', 'stub_e-2.gemspec'
|
201
|
-
open spec, 'w' do |io|
|
201
|
+
File.open spec, 'w' do |io|
|
202
202
|
io.write <<-STUB
|
203
203
|
# -*- encoding: utf-8 -*-
|
204
204
|
# stub: stub_v 2 ruby lib
|
@@ -221,7 +221,7 @@ end
|
|
221
221
|
|
222
222
|
def stub_without_version
|
223
223
|
spec = File.join @gemhome, 'specifications', 'stub-2.gemspec'
|
224
|
-
open spec, 'w' do |io|
|
224
|
+
File.open spec, 'w' do |io|
|
225
225
|
io.write <<-STUB
|
226
226
|
# -*- encoding: utf-8 -*-
|
227
227
|
# stub: stub_v ruby lib
|
@@ -245,7 +245,7 @@ end
|
|
245
245
|
|
246
246
|
def stub_with_extension
|
247
247
|
spec = File.join @gemhome, 'specifications', 'stub_e-2.gemspec'
|
248
|
-
open spec, 'w' do |io|
|
248
|
+
File.open spec, 'w' do |io|
|
249
249
|
io.write <<-STUB
|
250
250
|
# -*- encoding: utf-8 -*-
|
251
251
|
# stub: stub_e 2 ruby lib
|
@@ -271,7 +271,7 @@ end
|
|
271
271
|
|
272
272
|
def stub_without_extension
|
273
273
|
spec = File.join @gemhome, 'specifications', 'stub-2.gemspec'
|
274
|
-
open spec, 'w' do |io|
|
274
|
+
File.open spec, 'w' do |io|
|
275
275
|
io.write <<-STUB
|
276
276
|
# -*- encoding: utf-8 -*-
|
277
277
|
# stub: stub 2 ruby lib
|
@@ -5,6 +5,7 @@ require 'rubygems/util'
|
|
5
5
|
class TestGemUtil < Gem::TestCase
|
6
6
|
|
7
7
|
def test_class_popen
|
8
|
+
skip "MJIT executes process and it's caught by Process.wait(-1)" if defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled?
|
8
9
|
assert_equal "0\n", Gem::Util.popen(Gem.ruby, '-e', 'p 0')
|
9
10
|
|
10
11
|
assert_raises Errno::ECHILD do
|
@@ -29,6 +30,28 @@ class TestGemUtil < Gem::TestCase
|
|
29
30
|
loop { break if enum.next.nil? } # exhaust the enumerator
|
30
31
|
end
|
31
32
|
|
33
|
+
def test_traverse_parents_does_not_crash_on_permissions_error
|
34
|
+
skip 'skipped on MS Windows (chmod has no effect)' if win_platform?
|
35
|
+
|
36
|
+
FileUtils.mkdir_p 'd/e/f'
|
37
|
+
# remove 'execute' permission from "e" directory and make it
|
38
|
+
# impossible to cd into it and its children
|
39
|
+
FileUtils.chmod(0666, 'd/e')
|
40
|
+
|
41
|
+
paths = Gem::Util.traverse_parents('d/e/f').to_a
|
42
|
+
|
43
|
+
assert_equal File.join(@tempdir, 'd'), paths[0]
|
44
|
+
assert_equal @tempdir, paths[1]
|
45
|
+
# File.expand_path with macOS returns `/private` prefix.
|
46
|
+
if RUBY_PLATFORM !~ /darwin/
|
47
|
+
assert_equal Dir.tmpdir, paths[2]
|
48
|
+
assert_equal '/', paths[3]
|
49
|
+
end
|
50
|
+
ensure
|
51
|
+
# restore default permissions, allow the directory to be removed
|
52
|
+
FileUtils.chmod(0775, 'd/e') unless win_platform?
|
53
|
+
end
|
54
|
+
|
32
55
|
def test_linked_list_find
|
33
56
|
list = [1,2,3,4,5].inject(Gem::List.new(0)) { |m,o|
|
34
57
|
Gem::List.new o, m
|
@@ -2,6 +2,8 @@
|
|
2
2
|
require 'rubygems/test_case'
|
3
3
|
require "rubygems/version"
|
4
4
|
|
5
|
+
require "minitest/benchmark"
|
6
|
+
|
5
7
|
class TestGemVersion < Gem::TestCase
|
6
8
|
|
7
9
|
class V < ::Gem::Version
|
@@ -102,6 +104,15 @@ class TestGemVersion < Gem::TestCase
|
|
102
104
|
end
|
103
105
|
end
|
104
106
|
|
107
|
+
def bench_anchored_version_pattern
|
108
|
+
assert_performance_linear 0.5 do |count|
|
109
|
+
version_string = count.times.map {|i| "0" * i.succ }.join(".") << "."
|
110
|
+
version_string =~ Gem::Version::ANCHORED_VERSION_PATTERN
|
111
|
+
end
|
112
|
+
rescue RegexpError
|
113
|
+
skip "It fails to allocate the memory for regex pattern of Gem::Version::ANCHORED_VERSION_PATTERN"
|
114
|
+
end
|
115
|
+
|
105
116
|
def test_empty_version
|
106
117
|
["", " ", " "].each do |empty|
|
107
118
|
assert_equal "0", Gem::Version.new(empty).version
|
@@ -38,18 +38,6 @@ class TestGemRequire < Gem::TestCase
|
|
38
38
|
assert require(path), "'#{path}' was already required"
|
39
39
|
end
|
40
40
|
|
41
|
-
def append_latch spec
|
42
|
-
dir = spec.gem_dir
|
43
|
-
Dir.chdir dir do
|
44
|
-
spec.files.each do |file|
|
45
|
-
File.open file, 'a' do |fp|
|
46
|
-
fp.puts "FILE_ENTERED_LATCH.release"
|
47
|
-
fp.puts "FILE_EXIT_LATCH.await"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
41
|
# Providing -I on the commandline should always beat gems
|
54
42
|
def test_dash_i_beats_gems
|
55
43
|
a1 = new_spec "a", "1", {"b" => "= 1"}, "lib/test_gem_require_a.rb"
|
@@ -80,6 +68,17 @@ class TestGemRequire < Gem::TestCase
|
|
80
68
|
Object.send :remove_const, :HELLO if Object.const_defined? :HELLO
|
81
69
|
end
|
82
70
|
|
71
|
+
def create_sync_thread
|
72
|
+
Thread.new do
|
73
|
+
begin
|
74
|
+
yield
|
75
|
+
ensure
|
76
|
+
FILE_ENTERED_LATCH.release
|
77
|
+
FILE_EXIT_LATCH.await
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
83
82
|
def test_concurrent_require
|
84
83
|
skip 'deadlock' if /^1\.8\./ =~ RUBY_VERSION
|
85
84
|
|
@@ -91,11 +90,8 @@ class TestGemRequire < Gem::TestCase
|
|
91
90
|
|
92
91
|
install_specs a1, b1
|
93
92
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
t1 = Thread.new { assert_require 'a' }
|
98
|
-
t2 = Thread.new { assert_require 'b' }
|
93
|
+
t1 = create_sync_thread{ assert_require 'a' }
|
94
|
+
t2 = create_sync_thread{ assert_require 'b' }
|
99
95
|
|
100
96
|
# wait until both files are waiting on the exit latch
|
101
97
|
FILE_ENTERED_LATCH.await
|
@@ -106,10 +102,8 @@ class TestGemRequire < Gem::TestCase
|
|
106
102
|
assert t1.join, "thread 1 should exit"
|
107
103
|
assert t2.join, "thread 2 should exit"
|
108
104
|
ensure
|
109
|
-
|
110
|
-
|
111
|
-
Object.send :remove_const, :FILE_ENTERED_LATCH
|
112
|
-
Object.send :remove_const, :FILE_EXIT_LATCH
|
105
|
+
Object.send :remove_const, :FILE_ENTERED_LATCH if Object.const_defined? :FILE_ENTERED_LATCH
|
106
|
+
Object.send :remove_const, :FILE_EXIT_LATCH if Object.const_defined? :FILE_EXIT_LATCH
|
113
107
|
end
|
114
108
|
|
115
109
|
def test_require_is_not_lazy_with_exact_req
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2018-02-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: builder
|
@@ -283,12 +283,12 @@ files:
|
|
283
283
|
- bundler/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem
|
284
284
|
- bundler/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem
|
285
285
|
- bundler/lib/bundler/stub_specification.rb
|
286
|
+
- bundler/lib/bundler/templates/.document
|
286
287
|
- bundler/lib/bundler/templates/Executable
|
287
288
|
- bundler/lib/bundler/templates/Executable.bundler
|
288
289
|
- bundler/lib/bundler/templates/Executable.standalone
|
289
290
|
- bundler/lib/bundler/templates/Gemfile
|
290
291
|
- bundler/lib/bundler/templates/gems.rb
|
291
|
-
- bundler/lib/bundler/templates/newgem/.travis.yml.tt
|
292
292
|
- bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
|
293
293
|
- bundler/lib/bundler/templates/newgem/Gemfile.tt
|
294
294
|
- bundler/lib/bundler/templates/newgem/LICENSE.txt.tt
|
@@ -309,6 +309,7 @@ files:
|
|
309
309
|
- bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt
|
310
310
|
- bundler/lib/bundler/templates/newgem/test/newgem_test.rb.tt
|
311
311
|
- bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt
|
312
|
+
- bundler/lib/bundler/templates/newgem/travis.yml.tt
|
312
313
|
- bundler/lib/bundler/ui.rb
|
313
314
|
- bundler/lib/bundler/ui/rg_proxy.rb
|
314
315
|
- bundler/lib/bundler/ui/shell.rb
|