rubygems-update 3.4.19 → 3.4.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +58 -0
  3. data/Manifest.txt +1 -0
  4. data/bundler/CHANGELOG.md +62 -2
  5. data/bundler/lib/bundler/build_metadata.rb +3 -3
  6. data/bundler/lib/bundler/cli/check.rb +1 -1
  7. data/bundler/lib/bundler/cli/gem.rb +1 -3
  8. data/bundler/lib/bundler/cli/info.rb +1 -1
  9. data/bundler/lib/bundler/cli/install.rb +2 -2
  10. data/bundler/lib/bundler/cli/lock.rb +26 -23
  11. data/bundler/lib/bundler/cli/open.rb +5 -7
  12. data/bundler/lib/bundler/cli/update.rb +1 -0
  13. data/bundler/lib/bundler/definition.rb +42 -25
  14. data/bundler/lib/bundler/env.rb +2 -2
  15. data/bundler/lib/bundler/fetcher/base.rb +2 -2
  16. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -5
  17. data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
  18. data/bundler/lib/bundler/fetcher.rb +31 -30
  19. data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
  20. data/bundler/lib/bundler/index.rb +62 -31
  21. data/bundler/lib/bundler/injector.rb +1 -1
  22. data/bundler/lib/bundler/installer/parallel_installer.rb +0 -26
  23. data/bundler/lib/bundler/installer/standalone.rb +15 -1
  24. data/bundler/lib/bundler/lockfile_parser.rb +32 -39
  25. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  26. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  27. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  28. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  29. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-config.1 +1 -1
  31. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  32. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  33. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  34. data/bundler/lib/bundler/man/bundle-exec.1.ronn +2 -3
  35. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  40. data/bundler/lib/bundler/man/bundle-install.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  42. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  45. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-plugin.1 +17 -17
  47. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +5 -5
  48. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  51. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  52. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  53. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  54. data/bundler/lib/bundler/man/bundle.1 +1 -1
  55. data/bundler/lib/bundler/man/gemfile.5 +12 -1
  56. data/bundler/lib/bundler/man/gemfile.5.ronn +5 -0
  57. data/bundler/lib/bundler/plugin.rb +1 -1
  58. data/bundler/lib/bundler/resolver/package.rb +5 -0
  59. data/bundler/lib/bundler/resolver.rb +45 -10
  60. data/bundler/lib/bundler/retry.rb +1 -1
  61. data/bundler/lib/bundler/ruby_dsl.rb +23 -2
  62. data/bundler/lib/bundler/ruby_version.rb +8 -1
  63. data/bundler/lib/bundler/self_manager.rb +2 -0
  64. data/bundler/lib/bundler/settings.rb +86 -25
  65. data/bundler/lib/bundler/shared_helpers.rb +16 -1
  66. data/bundler/lib/bundler/source/git/git_proxy.rb +27 -6
  67. data/bundler/lib/bundler/source/rubygems.rb +22 -25
  68. data/bundler/lib/bundler/spec_set.rb +2 -2
  69. data/bundler/lib/bundler/stub_specification.rb +4 -2
  70. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +6 -2
  71. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +1 -1
  72. data/bundler/lib/bundler/version.rb +1 -1
  73. data/bundler/lib/bundler/yaml_serializer.rb +6 -7
  74. data/lib/rubygems/available_set.rb +1 -1
  75. data/lib/rubygems/basic_specification.rb +3 -3
  76. data/lib/rubygems/command.rb +17 -20
  77. data/lib/rubygems/command_manager.rb +1 -1
  78. data/lib/rubygems/commands/cert_command.rb +3 -3
  79. data/lib/rubygems/commands/check_command.rb +5 -1
  80. data/lib/rubygems/commands/cleanup_command.rb +1 -1
  81. data/lib/rubygems/commands/contents_command.rb +1 -1
  82. data/lib/rubygems/commands/dependency_command.rb +3 -4
  83. data/lib/rubygems/commands/help_command.rb +2 -2
  84. data/lib/rubygems/commands/open_command.rb +1 -3
  85. data/lib/rubygems/commands/owner_command.rb +9 -11
  86. data/lib/rubygems/commands/setup_command.rb +8 -8
  87. data/lib/rubygems/commands/specification_command.rb +5 -1
  88. data/lib/rubygems/commands/stale_command.rb +1 -1
  89. data/lib/rubygems/commands/uninstall_command.rb +6 -7
  90. data/lib/rubygems/commands/unpack_command.rb +4 -6
  91. data/lib/rubygems/commands/update_command.rb +3 -3
  92. data/lib/rubygems/commands/yank_command.rb +1 -1
  93. data/lib/rubygems/config_file.rb +60 -13
  94. data/lib/rubygems/core_ext/kernel_gem.rb +2 -2
  95. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  96. data/lib/rubygems/core_ext/kernel_warn.rb +4 -5
  97. data/lib/rubygems/defaults.rb +6 -2
  98. data/lib/rubygems/dependency_installer.rb +8 -12
  99. data/lib/rubygems/deprecate.rb +4 -3
  100. data/lib/rubygems/doctor.rb +1 -1
  101. data/lib/rubygems/errors.rb +1 -1
  102. data/lib/rubygems/exceptions.rb +1 -1
  103. data/lib/rubygems/ext/builder.rb +5 -4
  104. data/lib/rubygems/ext/cargo_builder.rb +2 -2
  105. data/lib/rubygems/gem_runner.rb +5 -1
  106. data/lib/rubygems/gemcutter_utilities.rb +4 -4
  107. data/lib/rubygems/indexer.rb +1 -1
  108. data/lib/rubygems/install_update_options.rb +1 -1
  109. data/lib/rubygems/installer.rb +17 -19
  110. data/lib/rubygems/name_tuple.rb +1 -1
  111. data/lib/rubygems/package/old.rb +1 -1
  112. data/lib/rubygems/package/tar_reader/entry.rb +18 -20
  113. data/lib/rubygems/package/tar_reader.rb +0 -5
  114. data/lib/rubygems/package/tar_writer.rb +1 -1
  115. data/lib/rubygems/package.rb +18 -12
  116. data/lib/rubygems/platform.rb +6 -2
  117. data/lib/rubygems/query_utils.rb +5 -5
  118. data/lib/rubygems/remote_fetcher.rb +10 -2
  119. data/lib/rubygems/request_set/gem_dependency_api.rb +1 -1
  120. data/lib/rubygems/request_set.rb +2 -1
  121. data/lib/rubygems/requirement.rb +1 -1
  122. data/lib/rubygems/resolver/activation_request.rb +2 -4
  123. data/lib/rubygems/resolver/api_set.rb +2 -1
  124. data/lib/rubygems/resolver/api_specification.rb +1 -1
  125. data/lib/rubygems/resolver/installed_specification.rb +1 -1
  126. data/lib/rubygems/resolver/local_specification.rb +1 -1
  127. data/lib/rubygems/s3_uri_signer.rb +1 -1
  128. data/lib/rubygems/security/signer.rb +10 -2
  129. data/lib/rubygems/security/trust_dir.rb +8 -10
  130. data/lib/rubygems/security.rb +2 -2
  131. data/lib/rubygems/security_option.rb +1 -1
  132. data/lib/rubygems/source/local.rb +34 -37
  133. data/lib/rubygems/source.rb +7 -3
  134. data/lib/rubygems/source_list.rb +2 -2
  135. data/lib/rubygems/spec_fetcher.rb +29 -33
  136. data/lib/rubygems/specification.rb +43 -36
  137. data/lib/rubygems/specification_policy.rb +36 -35
  138. data/lib/rubygems/stub_specification.rb +13 -10
  139. data/lib/rubygems/uninstaller.rb +2 -2
  140. data/lib/rubygems/update_suggestion.rb +1 -1
  141. data/lib/rubygems/user_interaction.rb +2 -2
  142. data/lib/rubygems/util/licenses.rb +115 -0
  143. data/lib/rubygems/util.rb +5 -1
  144. data/lib/rubygems/validator.rb +5 -7
  145. data/lib/rubygems/version.rb +3 -2
  146. data/lib/rubygems/yaml_serializer.rb +88 -0
  147. data/lib/rubygems.rb +8 -10
  148. data/rubygems-update.gemspec +1 -1
  149. data/setup.rb +2 -0
  150. data/test/rubygems/bundler_test_gem.rb +6 -3
  151. data/test/rubygems/helper.rb +38 -32
  152. data/test/rubygems/package/tar_test_case.rb +2 -2
  153. data/test/rubygems/test_gem.rb +55 -30
  154. data/test/rubygems/test_gem_command.rb +3 -1
  155. data/test/rubygems/test_gem_commands_build_command.rb +2 -1
  156. data/test/rubygems/test_gem_commands_cert_command.rb +22 -22
  157. data/test/rubygems/test_gem_commands_cleanup_command.rb +2 -2
  158. data/test/rubygems/test_gem_commands_environment_command.rb +2 -1
  159. data/test/rubygems/test_gem_commands_exec_command.rb +5 -1
  160. data/test/rubygems/test_gem_commands_install_command.rb +3 -3
  161. data/test/rubygems/test_gem_commands_open_command.rb +5 -2
  162. data/test/rubygems/test_gem_commands_pristine_command.rb +2 -2
  163. data/test/rubygems/test_gem_commands_push_command.rb +7 -6
  164. data/test/rubygems/test_gem_commands_signin_command.rb +8 -8
  165. data/test/rubygems/test_gem_commands_stale_command.rb +1 -1
  166. data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
  167. data/test/rubygems/test_gem_commands_unpack_command.rb +2 -2
  168. data/test/rubygems/test_gem_config_file.rb +46 -12
  169. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +28 -12
  170. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +1 -1
  171. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +16 -14
  172. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  173. data/test/rubygems/test_gem_ext_cargo_builder.rb +2 -2
  174. data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
  175. data/test/rubygems/test_gem_indexer.rb +1 -1
  176. data/test/rubygems/test_gem_install_update_options.rb +3 -3
  177. data/test/rubygems/test_gem_installer.rb +15 -15
  178. data/test/rubygems/test_gem_package.rb +152 -36
  179. data/test/rubygems/test_gem_package_old.rb +1 -1
  180. data/test/rubygems/test_gem_package_tar_header.rb +10 -10
  181. data/test/rubygems/test_gem_package_tar_reader.rb +4 -4
  182. data/test/rubygems/test_gem_package_tar_reader_entry.rb +53 -1
  183. data/test/rubygems/test_gem_package_tar_writer.rb +41 -41
  184. data/test/rubygems/test_gem_rdoc.rb +2 -2
  185. data/test/rubygems/test_gem_remote_fetcher.rb +34 -34
  186. data/test/rubygems/test_gem_request.rb +5 -5
  187. data/test/rubygems/test_gem_request_connection_pools.rb +2 -1
  188. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +14 -7
  189. data/test/rubygems/test_gem_requirement.rb +1 -1
  190. data/test/rubygems/test_gem_security.rb +2 -2
  191. data/test/rubygems/test_gem_security_signer.rb +2 -2
  192. data/test/rubygems/test_gem_security_trust_dir.rb +6 -6
  193. data/test/rubygems/test_gem_spec_fetcher.rb +2 -2
  194. data/test/rubygems/test_gem_specification.rb +71 -35
  195. data/test/rubygems/test_gem_update_suggestion.rb +23 -23
  196. data/test/rubygems/test_gem_util.rb +2 -2
  197. data/test/rubygems/test_gem_version.rb +4 -2
  198. data/test/rubygems/test_require.rb +4 -6
  199. data/test/rubygems/utilities.rb +4 -3
  200. metadata +4 -3
@@ -28,12 +28,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
28
28
  end
29
29
 
30
30
  def test_add_file
31
- Time.stub :now, Time.at(1458518157) do
32
- @tar_writer.add_file "x", 0644 do |f|
31
+ Time.stub :now, Time.at(1_458_518_157) do
32
+ @tar_writer.add_file "x", 0o644 do |f|
33
33
  f.write "a" * 10
34
34
  end
35
35
 
36
- assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
36
+ assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now),
37
37
  @io.string[0, 512])
38
38
  end
39
39
  assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
@@ -42,19 +42,19 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
42
42
 
43
43
  def test_add_file_source_date_epoch
44
44
  ENV["SOURCE_DATE_EPOCH"] = "123456789"
45
- Time.stub :now, Time.at(1458518157) do
46
- @tar_writer.mkdir "foo", 0644
45
+ Time.stub :now, Time.at(1_458_518_157) do
46
+ @tar_writer.mkdir "foo", 0o644
47
47
 
48
- assert_headers_equal tar_dir_header("foo", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
48
+ assert_headers_equal tar_dir_header("foo", "", 0o644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
49
49
  @io.string[0, 512]
50
50
  end
51
51
  end
52
52
 
53
53
  def test_add_symlink
54
- Time.stub :now, Time.at(1458518157) do
55
- @tar_writer.add_symlink "x", "y", 0644
54
+ Time.stub :now, Time.at(1_458_518_157) do
55
+ @tar_writer.add_symlink "x", "y", 0o644
56
56
 
57
- assert_headers_equal(tar_symlink_header("x", "", 0644, Time.now, "y"),
57
+ assert_headers_equal(tar_symlink_header("x", "", 0o644, Time.now, "y"),
58
58
  @io.string[0, 512])
59
59
  end
60
60
  assert_equal 512, @io.pos
@@ -62,10 +62,10 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
62
62
 
63
63
  def test_add_symlink_source_date_epoch
64
64
  ENV["SOURCE_DATE_EPOCH"] = "123456789"
65
- Time.stub :now, Time.at(1458518157) do
66
- @tar_writer.add_symlink "x", "y", 0644
65
+ Time.stub :now, Time.at(1_458_518_157) do
66
+ @tar_writer.add_symlink "x", "y", 0o644
67
67
 
68
- assert_headers_equal(tar_symlink_header("x", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc, "y"),
68
+ assert_headers_equal(tar_symlink_header("x", "", 0o644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc, "y"),
69
69
  @io.string[0, 512])
70
70
  end
71
71
  end
@@ -73,8 +73,8 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
73
73
  def test_add_file_digest
74
74
  digest_algorithms = Digest::SHA1.new, Digest::SHA512.new
75
75
 
76
- Time.stub :now, Time.at(1458518157) do
77
- digests = @tar_writer.add_file_digest "x", 0644, digest_algorithms do |io|
76
+ Time.stub :now, Time.at(1_458_518_157) do
77
+ digests = @tar_writer.add_file_digest "x", 0o644, digest_algorithms do |io|
78
78
  io.write "a" * 10
79
79
  end
80
80
 
@@ -86,7 +86,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
86
86
  "e1cf14b0",
87
87
  digests["SHA512"].hexdigest
88
88
 
89
- assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
89
+ assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now),
90
90
  @io.string[0, 512])
91
91
  end
92
92
  assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
@@ -96,8 +96,8 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
96
96
  def test_add_file_digest_multiple
97
97
  digest_algorithms = [Digest::SHA1.new, Digest::SHA512.new]
98
98
 
99
- Time.stub :now, Time.at(1458518157) do
100
- digests = @tar_writer.add_file_digest "x", 0644, digest_algorithms do |io|
99
+ Time.stub :now, Time.at(1_458_518_157) do
100
+ digests = @tar_writer.add_file_digest "x", 0o644, digest_algorithms do |io|
101
101
  io.write "a" * 10
102
102
  end
103
103
 
@@ -109,7 +109,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
109
109
  "e1cf14b0",
110
110
  digests["SHA512"].hexdigest
111
111
 
112
- assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
112
+ assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now),
113
113
  @io.string[0, 512])
114
114
  end
115
115
  assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
@@ -121,12 +121,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
121
121
 
122
122
  signer = Gem::Security::Signer.new PRIVATE_KEY, [PUBLIC_CERT]
123
123
 
124
- Time.stub :now, Time.at(1458518157) do
125
- @tar_writer.add_file_signed "x", 0644, signer do |io|
124
+ Time.stub :now, Time.at(1_458_518_157) do
125
+ @tar_writer.add_file_signed "x", 0o644, signer do |io|
126
126
  io.write "a" * 10
127
127
  end
128
128
 
129
- assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
129
+ assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now),
130
130
  @io.string[0, 512])
131
131
 
132
132
  assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
@@ -136,7 +136,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
136
136
 
137
137
  signature = signer.sign digest.digest
138
138
 
139
- assert_headers_equal(tar_file_header("x.sig", "", 0444, signature.length,
139
+ assert_headers_equal(tar_file_header("x.sig", "", 0o444, signature.length,
140
140
  Time.now),
141
141
  @io.string[1024, 512])
142
142
  assert_equal "#{signature}#{"\0" * (512 - signature.length)}",
@@ -149,12 +149,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
149
149
  def test_add_file_signer_empty
150
150
  signer = Gem::Security::Signer.new nil, nil
151
151
 
152
- Time.stub :now, Time.at(1458518157) do
153
- @tar_writer.add_file_signed "x", 0644, signer do |io|
152
+ Time.stub :now, Time.at(1_458_518_157) do
153
+ @tar_writer.add_file_signed "x", 0o644, signer do |io|
154
154
  io.write "a" * 10
155
155
  end
156
156
 
157
- assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
157
+ assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now),
158
158
  @io.string[0, 512])
159
159
  end
160
160
  assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
@@ -163,12 +163,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
163
163
  end
164
164
 
165
165
  def test_add_file_simple
166
- Time.stub :now, Time.at(1458518157) do
167
- @tar_writer.add_file_simple "x", 0644, 10 do |io|
166
+ Time.stub :now, Time.at(1_458_518_157) do
167
+ @tar_writer.add_file_simple "x", 0o644, 10 do |io|
168
168
  io.write "a" * 10
169
169
  end
170
170
 
171
- assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
171
+ assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now),
172
172
  @io.string[0, 512])
173
173
 
174
174
  assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
@@ -178,18 +178,18 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
178
178
 
179
179
  def test_add_file_simple_source_date_epoch
180
180
  ENV["SOURCE_DATE_EPOCH"] = "123456789"
181
- Time.stub :now, Time.at(1458518157) do
182
- @tar_writer.add_file_simple "x", 0644, 10 do |io|
181
+ Time.stub :now, Time.at(1_458_518_157) do
182
+ @tar_writer.add_file_simple "x", 0o644, 10 do |io|
183
183
  io.write "a" * 10
184
184
  end
185
185
 
186
- assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
186
+ assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
187
187
  @io.string[0, 512])
188
188
  end
189
189
  end
190
190
 
191
191
  def test_add_file_simple_padding
192
- Time.stub :now, Time.at(1458518157) do
192
+ Time.stub :now, Time.at(1_458_518_157) do
193
193
  @tar_writer.add_file_simple "x", 0, 100
194
194
 
195
195
  assert_headers_equal tar_file_header("x", "", 0, 100, Time.now),
@@ -247,10 +247,10 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
247
247
  end
248
248
 
249
249
  def test_mkdir
250
- Time.stub :now, Time.at(1458518157) do
251
- @tar_writer.mkdir "foo", 0644
250
+ Time.stub :now, Time.at(1_458_518_157) do
251
+ @tar_writer.mkdir "foo", 0o644
252
252
 
253
- assert_headers_equal tar_dir_header("foo", "", 0644, Time.now),
253
+ assert_headers_equal tar_dir_header("foo", "", 0o644, Time.now),
254
254
  @io.string[0, 512]
255
255
 
256
256
  assert_equal 512, @io.pos
@@ -259,20 +259,20 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
259
259
 
260
260
  def test_mkdir_source_date_epoch
261
261
  ENV["SOURCE_DATE_EPOCH"] = "123456789"
262
- Time.stub :now, Time.at(1458518157) do
263
- @tar_writer.mkdir "foo", 0644
262
+ Time.stub :now, Time.at(1_458_518_157) do
263
+ @tar_writer.mkdir "foo", 0o644
264
264
 
265
- assert_headers_equal tar_dir_header("foo", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
265
+ assert_headers_equal tar_dir_header("foo", "", 0o644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
266
266
  @io.string[0, 512]
267
267
  end
268
268
  end
269
269
 
270
270
  def test_split_name
271
271
  assert_equal ["b" * 100, "a" * 155],
272
- @tar_writer.split_name("#{'a' * 155}/#{'b' * 100}")
272
+ @tar_writer.split_name("#{"a" * 155}/#{"b" * 100}")
273
273
 
274
- assert_equal ["#{'qwer/' * 19}bla", "a" * 151],
275
- @tar_writer.split_name("#{'a' * 151}/#{'qwer/' * 19}bla")
274
+ assert_equal ["#{"qwer/" * 19}bla", "a" * 151],
275
+ @tar_writer.split_name("#{"a" * 151}/#{"qwer/" * 19}bla")
276
276
  names = [
277
277
  ([""] + ["123456789"] * 9 + ["1234567890"]).join("/"), # 101 bytes (several pieces)
278
278
  (["123456789"] * 9 + ["1234567890"] + [""]).join("/"), # 101 bytes (several pieces)
@@ -100,7 +100,7 @@ class TestGemRDoc < Gem::TestCase
100
100
 
101
101
  assert_equal @a.base_dir, e.directory
102
102
  ensure
103
- FileUtils.chmod(0755, @a.base_dir) if File.directory?(@a.base_dir)
103
+ FileUtils.chmod(0o755, @a.base_dir) if File.directory?(@a.base_dir)
104
104
  end
105
105
 
106
106
  def test_ri_installed?
@@ -130,7 +130,7 @@ class TestGemRDoc < Gem::TestCase
130
130
  assert_equal @a.doc_dir, e.directory
131
131
  ensure
132
132
  if File.exist? @a.doc_dir
133
- FileUtils.chmod 0755, @a.doc_dir
133
+ FileUtils.chmod 0o755, @a.doc_dir
134
134
  FileUtils.rm_r @a.doc_dir
135
135
  end
136
136
  end
@@ -361,9 +361,13 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
361
361
  FileUtils.mv @a1_gem, @tempdir
362
362
  local_path = File.join @tempdir, @a1.file_name
363
363
  inst = nil
364
- FileUtils.chmod 0555, @a1.cache_dir
365
- FileUtils.mkdir_p File.join(Gem.user_dir, "cache") rescue nil
366
- FileUtils.chmod 0555, File.join(Gem.user_dir, "cache")
364
+ FileUtils.chmod 0o555, @a1.cache_dir
365
+ begin
366
+ FileUtils.mkdir_p File.join(Gem.user_dir, "cache")
367
+ rescue StandardError
368
+ nil
369
+ end
370
+ FileUtils.chmod 0o555, File.join(Gem.user_dir, "cache")
367
371
 
368
372
  Dir.chdir @tempdir do
369
373
  inst = Gem::RemoteFetcher.fetcher
@@ -372,21 +376,21 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
372
376
  assert_equal(File.join(@tempdir, @a1.file_name),
373
377
  inst.download(@a1, local_path))
374
378
  ensure
375
- FileUtils.chmod 0755, File.join(Gem.user_dir, "cache")
376
- FileUtils.chmod 0755, @a1.cache_dir
379
+ FileUtils.chmod 0o755, File.join(Gem.user_dir, "cache")
380
+ FileUtils.chmod 0o755, @a1.cache_dir
377
381
  end
378
382
 
379
383
  def test_download_read_only
380
- FileUtils.chmod 0555, @a1.cache_dir
381
- FileUtils.chmod 0555, @gemhome
384
+ FileUtils.chmod 0o555, @a1.cache_dir
385
+ FileUtils.chmod 0o555, @gemhome
382
386
 
383
387
  fetcher = util_fuck_with_fetcher File.read(@a1_gem)
384
388
  fetcher.download(@a1, "http://gems.example.com")
385
389
  a1_cache_gem = File.join Gem.user_dir, "cache", @a1.file_name
386
390
  assert File.exist? a1_cache_gem
387
391
  ensure
388
- FileUtils.chmod 0755, @gemhome
389
- FileUtils.chmod 0755, @a1.cache_dir
392
+ FileUtils.chmod 0o755, @gemhome
393
+ FileUtils.chmod 0o755, @a1.cache_dir
390
394
  end
391
395
  end
392
396
 
@@ -749,7 +753,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
749
753
  "my-bucket" => { :id => "testuser", :secret => "testpass" },
750
754
  }
751
755
  url = "s3://my-bucket/gems/specs.4.8.gz"
752
- Time.stub :now, Time.at(1561353581) do
756
+ Time.stub :now, Time.at(1_561_353_581) do
753
757
  assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b"
754
758
  end
755
759
  ensure
@@ -761,7 +765,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
761
765
  "my-bucket" => { :id => "testuser", :secret => "testpass", :region => "us-west-2" },
762
766
  }
763
767
  url = "s3://my-bucket/gems/specs.4.8.gz"
764
- Time.stub :now, Time.at(1561353581) do
768
+ Time.stub :now, Time.at(1_561_353_581) do
765
769
  assert_fetch_s3 url, "4afc3010757f1fd143e769f1d1dabd406476a4fc7c120e9884fd02acbb8f26c9", nil, "us-west-2"
766
770
  end
767
771
  ensure
@@ -773,7 +777,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
773
777
  "my-bucket" => { :id => "testuser", :secret => "testpass", :security_token => "testtoken" },
774
778
  }
775
779
  url = "s3://my-bucket/gems/specs.4.8.gz"
776
- Time.stub :now, Time.at(1561353581) do
780
+ Time.stub :now, Time.at(1_561_353_581) do
777
781
  assert_fetch_s3 url, "935160a427ef97e7630f799232b8f208c4a4e49aad07d0540572a2ad5fe9f93c", "testtoken"
778
782
  end
779
783
  ensure
@@ -788,7 +792,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
788
792
  "my-bucket" => { :provider => "env" },
789
793
  }
790
794
  url = "s3://my-bucket/gems/specs.4.8.gz"
791
- Time.stub :now, Time.at(1561353581) do
795
+ Time.stub :now, Time.at(1_561_353_581) do
792
796
  assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b"
793
797
  end
794
798
  ensure
@@ -804,7 +808,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
804
808
  "my-bucket" => { :provider => "env", :region => "us-west-2" },
805
809
  }
806
810
  url = "s3://my-bucket/gems/specs.4.8.gz"
807
- Time.stub :now, Time.at(1561353581) do
811
+ Time.stub :now, Time.at(1_561_353_581) do
808
812
  assert_fetch_s3 url, "4afc3010757f1fd143e769f1d1dabd406476a4fc7c120e9884fd02acbb8f26c9", nil, "us-west-2"
809
813
  end
810
814
  ensure
@@ -820,7 +824,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
820
824
  "my-bucket" => { :provider => "env" },
821
825
  }
822
826
  url = "s3://my-bucket/gems/specs.4.8.gz"
823
- Time.stub :now, Time.at(1561353581) do
827
+ Time.stub :now, Time.at(1_561_353_581) do
824
828
  assert_fetch_s3 url, "935160a427ef97e7630f799232b8f208c4a4e49aad07d0540572a2ad5fe9f93c", "testtoken"
825
829
  end
826
830
  ensure
@@ -830,7 +834,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
830
834
 
831
835
  def test_fetch_s3_url_creds
832
836
  url = "s3://testuser:testpass@my-bucket/gems/specs.4.8.gz"
833
- Time.stub :now, Time.at(1561353581) do
837
+ Time.stub :now, Time.at(1_561_353_581) do
834
838
  assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b"
835
839
  end
836
840
  end
@@ -841,7 +845,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
841
845
  }
842
846
 
843
847
  url = "s3://my-bucket/gems/specs.4.8.gz"
844
- Time.stub :now, Time.at(1561353581) do
848
+ Time.stub :now, Time.at(1_561_353_581) do
845
849
  assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b", nil, "us-east-1",
846
850
  '{"AccessKeyId": "testuser", "SecretAccessKey": "testpass"}'
847
851
  end
@@ -855,7 +859,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
855
859
  }
856
860
 
857
861
  url = "s3://my-bucket/gems/specs.4.8.gz"
858
- Time.stub :now, Time.at(1561353581) do
862
+ Time.stub :now, Time.at(1_561_353_581) do
859
863
  assert_fetch_s3 url, "4afc3010757f1fd143e769f1d1dabd406476a4fc7c120e9884fd02acbb8f26c9", nil, "us-west-2",
860
864
  '{"AccessKeyId": "testuser", "SecretAccessKey": "testpass"}'
861
865
  end
@@ -869,7 +873,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
869
873
  }
870
874
 
871
875
  url = "s3://my-bucket/gems/specs.4.8.gz"
872
- Time.stub :now, Time.at(1561353581) do
876
+ Time.stub :now, Time.at(1_561_353_581) do
873
877
  assert_fetch_s3 url, "935160a427ef97e7630f799232b8f208c4a4e49aad07d0540572a2ad5fe9f93c", "testtoken", "us-east-1",
874
878
  '{"AccessKeyId": "testuser", "SecretAccessKey": "testpass", "Token": "testtoken"}'
875
879
  end
@@ -1151,14 +1155,12 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
1151
1155
  end
1152
1156
  server.ssl_context.tmp_dh_callback = proc { TEST_KEY_DH2048 }
1153
1157
  t = Thread.new do
1154
- begin
1155
- server.start
1156
- rescue Exception => ex
1157
- puts "ERROR during server thread: #{ex.message}"
1158
- raise
1159
- ensure
1160
- server.shutdown
1161
- end
1158
+ server.start
1159
+ rescue Exception => ex
1160
+ puts "ERROR during server thread: #{ex.message}"
1161
+ raise
1162
+ ensure
1163
+ server.shutdown
1162
1164
  end
1163
1165
  while server.status != :Running
1164
1166
  sleep 0.1
@@ -1205,13 +1207,11 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
1205
1207
  end
1206
1208
  end
1207
1209
  th = Thread.new do
1208
- begin
1209
- s.start
1210
- rescue Exception => ex
1211
- abort "ERROR during server thread: #{ex.message}"
1212
- ensure
1213
- s.shutdown
1214
- end
1210
+ s.start
1211
+ rescue Exception => ex
1212
+ abort "ERROR during server thread: #{ex.message}"
1213
+ ensure
1214
+ s.shutdown
1215
1215
  end
1216
1216
  th[:server] = s
1217
1217
  th
@@ -112,8 +112,8 @@ class TestGemRequest < Gem::TestCase
112
112
  end
113
113
 
114
114
  def test_configure_connection_for_https_ssl_ca_cert
115
- ssl_ca_cert, Gem.configuration.ssl_ca_cert =
116
- Gem.configuration.ssl_ca_cert, CA_CERT_FILE
115
+ ssl_ca_cert = Gem.configuration.ssl_ca_cert
116
+ Gem.configuration.ssl_ca_cert = CA_CERT_FILE
117
117
 
118
118
  connection = Net::HTTP.new "localhost", 443
119
119
 
@@ -214,7 +214,7 @@ class TestGemRequest < Gem::TestCase
214
214
  end
215
215
 
216
216
  auth_header = conn.payload["Authorization"]
217
- assert_equal "Basic #{base64_encode64('user:pass')}".strip, auth_header
217
+ assert_equal "Basic #{base64_encode64("user:pass")}".strip, auth_header
218
218
  assert_includes @ui.output, "GET https://user:REDACTED@example.rubygems/specs.#{Gem.marshal_version}"
219
219
  end
220
220
 
@@ -231,7 +231,7 @@ class TestGemRequest < Gem::TestCase
231
231
  end
232
232
 
233
233
  auth_header = conn.payload["Authorization"]
234
- assert_equal "Basic #{base64_encode64('user:{DEScede}pass')}".strip, auth_header
234
+ assert_equal "Basic #{base64_encode64("user:{DEScede}pass")}".strip, auth_header
235
235
  assert_includes @ui.output, "GET https://user:REDACTED@example.rubygems/specs.#{Gem.marshal_version}"
236
236
  end
237
237
 
@@ -248,7 +248,7 @@ class TestGemRequest < Gem::TestCase
248
248
  end
249
249
 
250
250
  auth_header = conn.payload["Authorization"]
251
- assert_equal "Basic #{base64_encode64('{DEScede}pass:x-oauth-basic')}".strip, auth_header
251
+ assert_equal "Basic #{base64_encode64("{DEScede}pass:x-oauth-basic")}".strip, auth_header
252
252
  assert_includes @ui.output, "GET https://REDACTED:x-oauth-basic@example.rubygems/specs.#{Gem.marshal_version}"
253
253
  end
254
254
 
@@ -121,7 +121,8 @@ class TestGemRequestConnectionPool < Gem::TestCase
121
121
  end
122
122
 
123
123
  def test_net_http_args_no_proxy
124
- orig_no_proxy, ENV["no_proxy"] = ENV["no_proxy"], "example"
124
+ orig_no_proxy = ENV["no_proxy"]
125
+ ENV["no_proxy"] = "example"
125
126
 
126
127
  pools = Gem::Request::ConnectionPools.new nil, []
127
128
 
@@ -246,7 +246,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
246
246
  end
247
247
 
248
248
  def test_gem_platforms
249
- win_platform, Gem.win_platform = Gem.win_platform?, false
249
+ win_platform = Gem.win_platform?
250
+ Gem.win_platform = false
250
251
 
251
252
  with_engine_version "ruby", "2.0.0" do
252
253
  @gda.gem "a", :platforms => :ruby
@@ -258,7 +259,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
258
259
  end
259
260
 
260
261
  def test_gem_platforms_bundler_ruby
261
- win_platform, Gem.win_platform = Gem.win_platform?, false
262
+ win_platform = Gem.win_platform?
263
+ Gem.win_platform = false
262
264
 
263
265
  with_engine_version "ruby", "2.0.0" do
264
266
  set = Gem::RequestSet.new
@@ -320,7 +322,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
320
322
  end
321
323
 
322
324
  def test_gem_platforms_maglev
323
- win_platform, Gem.win_platform = Gem.win_platform?, false
325
+ win_platform = Gem.win_platform?
326
+ Gem.win_platform = false
324
327
 
325
328
  with_engine_version "maglev", "1.0.0" do
326
329
  set = Gem::RequestSet.new
@@ -356,7 +359,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
356
359
  end
357
360
 
358
361
  def test_gem_platforms_multiple
359
- win_platform, Gem.win_platform = Gem.win_platform?, false
362
+ win_platform = Gem.win_platform?
363
+ Gem.win_platform = false
360
364
 
361
365
  with_engine_version "ruby", "2.0.0" do
362
366
  @gda.gem "a", :platforms => [:mswin, :jruby]
@@ -369,7 +373,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
369
373
  end
370
374
 
371
375
  def test_gem_platforms_platform
372
- win_platform, Gem.win_platform = Gem.win_platform?, false
376
+ win_platform = Gem.win_platform?
377
+ Gem.win_platform = false
373
378
 
374
379
  with_engine_version "ruby", "2.0.0" do
375
380
  @gda.gem "a", :platforms => :jruby, :platform => :ruby
@@ -696,7 +701,8 @@ end
696
701
  end
697
702
 
698
703
  def test_platform_multiple
699
- win_platform, Gem.win_platform = Gem.win_platform?, false
704
+ win_platform = Gem.win_platform?
705
+ Gem.win_platform = false
700
706
 
701
707
  gda = @GDA.new @set, nil
702
708
 
@@ -722,7 +728,8 @@ end
722
728
  end
723
729
 
724
730
  def test_platform_ruby
725
- win_platform, Gem.win_platform = Gem.win_platform?, false
731
+ win_platform = Gem.win_platform?
732
+ Gem.win_platform = false
726
733
 
727
734
  @gda.platform :ruby do
728
735
  @gda.gem "a"
@@ -84,7 +84,7 @@ class TestGemRequirement < Gem::TestCase
84
84
  Gem::Requirement.parse(Gem::Version.new("2"))
85
85
  end
86
86
 
87
- if !(Gem.java_platform? && ENV["JRUBY_OPTS"].to_s.include?("--debug"))
87
+ unless (Gem.java_platform? && ENV["JRUBY_OPTS"].to_s.include?("--debug"))
88
88
  def test_parse_deduplication
89
89
  assert_same "~>", Gem::Requirement.parse("~> 1").first
90
90
  end
@@ -308,7 +308,7 @@ class TestGemSecurity < Gem::TestCase
308
308
 
309
309
  passphrase = "It should be long."
310
310
 
311
- @SEC.write key, path, 0600, passphrase
311
+ @SEC.write key, path, 0o600, passphrase
312
312
 
313
313
  assert_path_exist path
314
314
 
@@ -326,7 +326,7 @@ class TestGemSecurity < Gem::TestCase
326
326
 
327
327
  cipher = OpenSSL::Cipher.new "AES-192-CBC"
328
328
 
329
- @SEC.write key, path, 0600, passphrase, cipher
329
+ @SEC.write key, path, 0o600, passphrase, cipher
330
330
 
331
331
  assert_path_exist path
332
332
 
@@ -144,7 +144,7 @@ B8khkB8hDKC6moCzebmUxCBmTmXD0Wjzon+bf4MOriVE3a0ySGRvpr1mKR2+
144
144
 
145
145
  def test_sign_expired_auto_update
146
146
  pend if Gem.java_platform?
147
- FileUtils.mkdir_p File.join(Gem.user_home, ".gem"), :mode => 0700
147
+ FileUtils.mkdir_p File.join(Gem.user_home, ".gem"), :mode => 0o700
148
148
 
149
149
  private_key_path = File.join(Gem.user_home, ".gem", "gem-private_key.pem")
150
150
  Gem::Security.write PRIVATE_KEY, private_key_path
@@ -171,7 +171,7 @@ B8khkB8hDKC6moCzebmUxCBmTmXD0Wjzon+bf4MOriVE3a0ySGRvpr1mKR2+
171
171
  end
172
172
 
173
173
  def test_sign_expired_auto_update_exists
174
- FileUtils.mkdir_p File.join(Gem.user_home, ".gem"), :mode => 0700
174
+ FileUtils.mkdir_p File.join(Gem.user_home, ".gem"), :mode => 0o700
175
175
 
176
176
  expiry = EXPIRED_CERT.not_after.strftime "%Y%m%d%H%M%S"
177
177
  expired_path =
@@ -56,7 +56,7 @@ class TestGemSecurityTrustDir < Gem::TestCase
56
56
 
57
57
  assert_path_exist trusted
58
58
 
59
- mask = 0100600 & (~File.umask)
59
+ mask = 0o100600 & (~File.umask)
60
60
 
61
61
  assert_equal mask, File.stat(trusted).mode unless win_platform?
62
62
 
@@ -70,8 +70,8 @@ class TestGemSecurityTrustDir < Gem::TestCase
70
70
 
71
71
  assert_path_exist @dest_dir
72
72
 
73
- mask = 040700 & (~File.umask)
74
- mask |= 0200000 if RUBY_PLATFORM.include?("aix")
73
+ mask = 0o40700 & (~File.umask)
74
+ mask |= 0o200000 if RUBY_PLATFORM.include?("aix")
75
75
 
76
76
  assert_equal mask, File.stat(@dest_dir).mode unless win_platform?
77
77
  end
@@ -87,12 +87,12 @@ class TestGemSecurityTrustDir < Gem::TestCase
87
87
  end
88
88
 
89
89
  def test_verify_wrong_permissions
90
- FileUtils.mkdir_p @dest_dir, :mode => 0777
90
+ FileUtils.mkdir_p @dest_dir, :mode => 0o777
91
91
 
92
92
  @trust_dir.verify
93
93
 
94
- mask = 040700 & (~File.umask)
95
- mask |= 0200000 if RUBY_PLATFORM.include?("aix")
94
+ mask = 0o40700 & (~File.umask)
95
+ mask |= 0o200000 if RUBY_PLATFORM.include?("aix")
96
96
 
97
97
  assert_equal mask, File.stat(@dest_dir).mode unless win_platform?
98
98
  end
@@ -41,12 +41,12 @@ class TestGemSpecFetcher < Gem::TestCase
41
41
  def test_initialize_unwritable_home_dir
42
42
  pend "chmod not supported" if Gem.win_platform?
43
43
 
44
- FileUtils.chmod 0000, Gem.user_home
44
+ FileUtils.chmod 0o000, Gem.user_home
45
45
 
46
46
  begin
47
47
  assert Gem::SpecFetcher.new
48
48
  ensure
49
- FileUtils.chmod 0755, Gem.user_home
49
+ FileUtils.chmod 0o755, Gem.user_home
50
50
  end
51
51
  end
52
52