rubygems-update 3.3.18 → 3.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/Manifest.txt +11 -0
  4. data/bin/gem +2 -2
  5. data/bin/update_rubygems +4 -4
  6. data/bundler/CHANGELOG.md +100 -0
  7. data/bundler/UPGRADING.md +11 -4
  8. data/bundler/bundler.gemspec +6 -8
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/cli/common.rb +1 -0
  11. data/bundler/lib/bundler/cli/install.rb +5 -2
  12. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  13. data/bundler/lib/bundler/cli/platform.rb +1 -1
  14. data/bundler/lib/bundler/cli.rb +7 -4
  15. data/bundler/lib/bundler/current_ruby.rb +14 -5
  16. data/bundler/lib/bundler/definition.rb +102 -31
  17. data/bundler/lib/bundler/dependency.rb +18 -85
  18. data/bundler/lib/bundler/dsl.rb +2 -2
  19. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  20. data/bundler/lib/bundler/feature_flag.rb +0 -1
  21. data/bundler/lib/bundler/fetcher.rb +6 -6
  22. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  23. data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
  24. data/bundler/lib/bundler/index.rb +10 -12
  25. data/bundler/lib/bundler/injector.rb +2 -1
  26. data/bundler/lib/bundler/inline.rb +1 -1
  27. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  28. data/bundler/lib/bundler/installer.rb +14 -12
  29. data/bundler/lib/bundler/lazy_specification.rb +30 -23
  30. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  31. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  32. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  33. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  35. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  36. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-config.1 +25 -6
  39. data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
  40. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  41. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  42. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  44. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
  45. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  47. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  48. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  51. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  52. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  53. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  54. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  59. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  60. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  61. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  62. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  67. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  68. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  69. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  70. data/bundler/lib/bundler/man/bundle.1 +15 -10
  71. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  72. data/bundler/lib/bundler/man/gemfile.5 +23 -47
  73. data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
  74. data/bundler/lib/bundler/man/index.txt +4 -0
  75. data/bundler/lib/bundler/match_metadata.rb +13 -0
  76. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  77. data/bundler/lib/bundler/plugin.rb +2 -0
  78. data/bundler/lib/bundler/remote_specification.rb +6 -11
  79. data/bundler/lib/bundler/resolver/base.rb +50 -0
  80. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  81. data/bundler/lib/bundler/resolver.rb +95 -90
  82. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  83. data/bundler/lib/bundler/ruby_version.rb +5 -5
  84. data/bundler/lib/bundler/rubygems_ext.rb +52 -1
  85. data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
  86. data/bundler/lib/bundler/settings.rb +1 -1
  87. data/bundler/lib/bundler/source/metadata.rb +1 -1
  88. data/bundler/lib/bundler/source_list.rb +4 -0
  89. data/bundler/lib/bundler/spec_set.rb +48 -33
  90. data/bundler/lib/bundler/version.rb +1 -1
  91. data/bundler/lib/bundler.rb +3 -3
  92. data/lib/rubygems/available_set.rb +3 -3
  93. data/lib/rubygems/basic_specification.rb +4 -4
  94. data/lib/rubygems/command.rb +25 -25
  95. data/lib/rubygems/command_manager.rb +9 -9
  96. data/lib/rubygems/commands/build_command.rb +8 -8
  97. data/lib/rubygems/commands/cert_command.rb +33 -33
  98. data/lib/rubygems/commands/check_command.rb +20 -20
  99. data/lib/rubygems/commands/cleanup_command.rb +17 -17
  100. data/lib/rubygems/commands/contents_command.rb +13 -13
  101. data/lib/rubygems/commands/dependency_command.rb +16 -16
  102. data/lib/rubygems/commands/environment_command.rb +5 -5
  103. data/lib/rubygems/commands/fetch_command.rb +8 -8
  104. data/lib/rubygems/commands/generate_index_command.rb +17 -17
  105. data/lib/rubygems/commands/help_command.rb +3 -3
  106. data/lib/rubygems/commands/info_command.rb +3 -3
  107. data/lib/rubygems/commands/install_command.rb +20 -20
  108. data/lib/rubygems/commands/list_command.rb +3 -3
  109. data/lib/rubygems/commands/lock_command.rb +4 -4
  110. data/lib/rubygems/commands/mirror_command.rb +3 -3
  111. data/lib/rubygems/commands/open_command.rb +9 -9
  112. data/lib/rubygems/commands/outdated_command.rb +5 -5
  113. data/lib/rubygems/commands/owner_command.rb +11 -11
  114. data/lib/rubygems/commands/pristine_command.rb +36 -36
  115. data/lib/rubygems/commands/push_command.rb +8 -8
  116. data/lib/rubygems/commands/query_command.rb +8 -8
  117. data/lib/rubygems/commands/rdoc_command.rb +17 -17
  118. data/lib/rubygems/commands/search_command.rb +3 -3
  119. data/lib/rubygems/commands/server_command.rb +3 -3
  120. data/lib/rubygems/commands/setup_command.rb +96 -106
  121. data/lib/rubygems/commands/signin_command.rb +9 -9
  122. data/lib/rubygems/commands/signout_command.rb +7 -7
  123. data/lib/rubygems/commands/sources_command.rb +21 -21
  124. data/lib/rubygems/commands/specification_command.rb +13 -13
  125. data/lib/rubygems/commands/stale_command.rb +2 -2
  126. data/lib/rubygems/commands/uninstall_command.rb +40 -40
  127. data/lib/rubygems/commands/unpack_command.rb +12 -12
  128. data/lib/rubygems/commands/update_command.rb +40 -56
  129. data/lib/rubygems/commands/which_command.rb +7 -7
  130. data/lib/rubygems/commands/yank_command.rb +11 -11
  131. data/lib/rubygems/config_file.rb +21 -21
  132. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  133. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  134. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  135. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  136. data/lib/rubygems/defaults.rb +16 -16
  137. data/lib/rubygems/dependency.rb +9 -9
  138. data/lib/rubygems/dependency_installer.rb +13 -13
  139. data/lib/rubygems/dependency_list.rb +6 -6
  140. data/lib/rubygems/doctor.rb +18 -18
  141. data/lib/rubygems/errors.rb +2 -2
  142. data/lib/rubygems/exceptions.rb +5 -5
  143. data/lib/rubygems/ext/build_error.rb +1 -1
  144. data/lib/rubygems/ext/builder.rb +16 -16
  145. data/lib/rubygems/ext/cargo_builder.rb +7 -7
  146. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  147. data/lib/rubygems/ext/configure_builder.rb +1 -1
  148. data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
  149. data/lib/rubygems/ext/rake_builder.rb +3 -3
  150. data/lib/rubygems/ext.rb +7 -7
  151. data/lib/rubygems/gem_runner.rb +5 -5
  152. data/lib/rubygems/gemcutter_utilities.rb +31 -28
  153. data/lib/rubygems/indexer.rb +27 -27
  154. data/lib/rubygems/install_default_message.rb +2 -2
  155. data/lib/rubygems/install_message.rb +2 -2
  156. data/lib/rubygems/install_update_options.rb +55 -55
  157. data/lib/rubygems/installer.rb +32 -40
  158. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  159. data/lib/rubygems/local_remote_options.rb +18 -20
  160. data/lib/rubygems/mock_gem_ui.rb +2 -2
  161. data/lib/rubygems/name_tuple.rb +4 -4
  162. data/lib/rubygems/optparse.rb +1 -1
  163. data/lib/rubygems/package/file_source.rb +2 -2
  164. data/lib/rubygems/package/old.rb +8 -8
  165. data/lib/rubygems/package/tar_header.rb +50 -50
  166. data/lib/rubygems/package/tar_reader/entry.rb +2 -2
  167. data/lib/rubygems/package/tar_reader.rb +1 -1
  168. data/lib/rubygems/package/tar_writer.rb +7 -7
  169. data/lib/rubygems/package.rb +54 -43
  170. data/lib/rubygems/package_task.rb +4 -4
  171. data/lib/rubygems/platform.rb +66 -55
  172. data/lib/rubygems/psych_tree.rb +1 -1
  173. data/lib/rubygems/query_utils.rb +35 -35
  174. data/lib/rubygems/rdoc.rb +2 -2
  175. data/lib/rubygems/remote_fetcher.rb +22 -22
  176. data/lib/rubygems/request/connection_pools.rb +4 -4
  177. data/lib/rubygems/request/http_pool.rb +1 -1
  178. data/lib/rubygems/request.rb +22 -22
  179. data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
  180. data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
  181. data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
  182. data/lib/rubygems/request_set/lockfile.rb +5 -5
  183. data/lib/rubygems/request_set.rb +17 -17
  184. data/lib/rubygems/requirement.rb +6 -6
  185. data/lib/rubygems/resolver/activation_request.rb +3 -3
  186. data/lib/rubygems/resolver/api_set.rb +4 -4
  187. data/lib/rubygems/resolver/api_specification.rb +6 -6
  188. data/lib/rubygems/resolver/best_set.rb +5 -5
  189. data/lib/rubygems/resolver/conflict.rb +10 -10
  190. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  191. data/lib/rubygems/resolver/git_set.rb +2 -2
  192. data/lib/rubygems/resolver/git_specification.rb +6 -6
  193. data/lib/rubygems/resolver/index_set.rb +3 -3
  194. data/lib/rubygems/resolver/index_specification.rb +6 -5
  195. data/lib/rubygems/resolver/installed_specification.rb +4 -4
  196. data/lib/rubygems/resolver/installer_set.rb +11 -16
  197. data/lib/rubygems/resolver/local_specification.rb +2 -2
  198. data/lib/rubygems/resolver/lock_set.rb +4 -4
  199. data/lib/rubygems/resolver/lock_specification.rb +4 -4
  200. data/lib/rubygems/resolver/molinillo.rb +1 -1
  201. data/lib/rubygems/resolver/specification.rb +1 -1
  202. data/lib/rubygems/resolver/vendor_set.rb +1 -1
  203. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  204. data/lib/rubygems/resolver.rb +39 -39
  205. data/lib/rubygems/s3_uri_signer.rb +6 -6
  206. data/lib/rubygems/safe_yaml.rb +2 -2
  207. data/lib/rubygems/security/policies.rb +11 -11
  208. data/lib/rubygems/security/policy.rb +18 -18
  209. data/lib/rubygems/security/signer.rb +5 -5
  210. data/lib/rubygems/security/trust_dir.rb +3 -3
  211. data/lib/rubygems/security.rb +28 -28
  212. data/lib/rubygems/security_option.rb +5 -5
  213. data/lib/rubygems/source/git.rb +21 -21
  214. data/lib/rubygems/source/installed.rb +1 -1
  215. data/lib/rubygems/source/local.rb +2 -2
  216. data/lib/rubygems/source/specific_file.rb +1 -1
  217. data/lib/rubygems/source.rb +16 -16
  218. data/lib/rubygems/spec_fetcher.rb +9 -9
  219. data/lib/rubygems/specification.rb +63 -62
  220. data/lib/rubygems/specification_policy.rb +15 -15
  221. data/lib/rubygems/stub_specification.rb +5 -5
  222. data/lib/rubygems/tsort.rb +1 -1
  223. data/lib/rubygems/uninstaller.rb +18 -18
  224. data/lib/rubygems/uri.rb +4 -4
  225. data/lib/rubygems/uri_formatter.rb +1 -1
  226. data/lib/rubygems/user_interaction.rb +33 -19
  227. data/lib/rubygems/util/licenses.rb +3 -3
  228. data/lib/rubygems/util.rb +10 -10
  229. data/lib/rubygems/validator.rb +5 -5
  230. data/lib/rubygems/version.rb +15 -9
  231. data/lib/rubygems/version_option.rb +3 -3
  232. data/lib/rubygems.rb +62 -61
  233. data/rubygems-update.gemspec +2 -2
  234. data/setup.rb +9 -9
  235. data/test/rubygems/helper.rb +132 -134
  236. data/test/rubygems/installer_test_case.rb +13 -13
  237. data/test/rubygems/package/tar_test_case.rb +2 -2
  238. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  239. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  240. data/test/rubygems/rubygems_plugin.rb +2 -2
  241. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
  242. data/test/rubygems/test_bundled_ca.rb +10 -10
  243. data/test/rubygems/test_config.rb +3 -3
  244. data/test/rubygems/test_deprecate.rb +3 -3
  245. data/test/rubygems/test_exit.rb +2 -2
  246. data/test/rubygems/test_gem.rb +342 -342
  247. data/test/rubygems/test_gem_available_set.rb +21 -21
  248. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  249. data/test/rubygems/test_gem_command.rb +44 -44
  250. data/test/rubygems/test_gem_command_manager.rb +29 -29
  251. data/test/rubygems/test_gem_commands_build_command.rb +63 -63
  252. data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
  253. data/test/rubygems/test_gem_commands_check_command.rb +4 -4
  254. data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
  255. data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
  256. data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
  257. data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
  258. data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
  259. data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
  260. data/test/rubygems/test_gem_commands_help_command.rb +13 -13
  261. data/test/rubygems/test_gem_commands_info_command.rb +28 -2
  262. data/test/rubygems/test_gem_commands_install_command.rb +131 -131
  263. data/test/rubygems/test_gem_commands_list_command.rb +4 -4
  264. data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
  265. data/test/rubygems/test_gem_commands_mirror.rb +2 -2
  266. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  267. data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
  268. data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
  269. data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
  270. data/test/rubygems/test_gem_commands_push_command.rb +54 -54
  271. data/test/rubygems/test_gem_commands_query_command.rb +73 -73
  272. data/test/rubygems/test_gem_commands_search_command.rb +2 -2
  273. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  274. data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
  275. data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
  276. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  277. data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
  278. data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
  279. data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
  280. data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
  281. data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
  282. data/test/rubygems/test_gem_commands_update_command.rb +89 -89
  283. data/test/rubygems/test_gem_commands_which_command.rb +6 -6
  284. data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
  285. data/test/rubygems/test_gem_config_file.rb +93 -81
  286. data/test/rubygems/test_gem_dependency.rb +73 -73
  287. data/test/rubygems/test_gem_dependency_installer.rb +165 -165
  288. data/test/rubygems/test_gem_dependency_list.rb +47 -47
  289. data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
  290. data/test/rubygems/test_gem_doctor.rb +26 -26
  291. data/test/rubygems/test_gem_ext_builder.rb +59 -59
  292. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
  293. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  294. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
  295. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
  296. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
  297. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  298. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
  299. data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
  300. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
  301. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
  302. data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
  303. data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
  304. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  305. data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
  306. data/test/rubygems/test_gem_gem_runner.rb +7 -7
  307. data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
  308. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
  309. data/test/rubygems/test_gem_indexer.rb +48 -48
  310. data/test/rubygems/test_gem_install_update_options.rb +16 -16
  311. data/test/rubygems/test_gem_installer.rb +303 -300
  312. data/test/rubygems/test_gem_local_remote_options.rb +10 -10
  313. data/test/rubygems/test_gem_name_tuple.rb +4 -4
  314. data/test/rubygems/test_gem_package.rb +228 -206
  315. data/test/rubygems/test_gem_package_old.rb +13 -13
  316. data/test/rubygems/test_gem_package_tar_header.rb +42 -42
  317. data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
  318. data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
  319. data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
  320. data/test/rubygems/test_gem_package_task.rb +18 -18
  321. data/test/rubygems/test_gem_path_support.rb +14 -14
  322. data/test/rubygems/test_gem_platform.rb +298 -227
  323. data/test/rubygems/test_gem_rdoc.rb +14 -14
  324. data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
  325. data/test/rubygems/test_gem_request.rb +55 -55
  326. data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
  327. data/test/rubygems/test_gem_request_set.rb +99 -99
  328. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
  329. data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
  330. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
  331. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
  332. data/test/rubygems/test_gem_requirement.rb +47 -41
  333. data/test/rubygems/test_gem_resolver.rb +133 -99
  334. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
  335. data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
  336. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
  337. data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
  338. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  339. data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
  340. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
  341. data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
  342. data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
  343. data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
  344. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
  345. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
  346. data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
  347. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
  348. data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
  349. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
  350. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  351. data/test/rubygems/test_gem_resolver_specification.rb +8 -8
  352. data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
  353. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
  354. data/test/rubygems/test_gem_security.rb +67 -67
  355. data/test/rubygems/test_gem_security_policy.rb +62 -62
  356. data/test/rubygems/test_gem_security_signer.rb +28 -28
  357. data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
  358. data/test/rubygems/test_gem_silent_ui.rb +38 -32
  359. data/test/rubygems/test_gem_source.rb +44 -44
  360. data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
  361. data/test/rubygems/test_gem_source_git.rb +59 -59
  362. data/test/rubygems/test_gem_source_installed.rb +16 -16
  363. data/test/rubygems/test_gem_source_list.rb +5 -5
  364. data/test/rubygems/test_gem_source_local.rb +14 -14
  365. data/test/rubygems/test_gem_source_lock.rb +31 -31
  366. data/test/rubygems/test_gem_source_specific_file.rb +17 -17
  367. data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
  368. data/test/rubygems/test_gem_source_vendor.rb +13 -13
  369. data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
  370. data/test/rubygems/test_gem_specification.rb +444 -436
  371. data/test/rubygems/test_gem_stream_ui.rb +19 -19
  372. data/test/rubygems/test_gem_stub_specification.rb +32 -32
  373. data/test/rubygems/test_gem_text.rb +1 -1
  374. data/test/rubygems/test_gem_uninstaller.rb +112 -112
  375. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
  376. data/test/rubygems/test_gem_uri.rb +4 -4
  377. data/test/rubygems/test_gem_uri_formatter.rb +14 -14
  378. data/test/rubygems/test_gem_util.rb +23 -23
  379. data/test/rubygems/test_gem_validator.rb +8 -8
  380. data/test/rubygems/test_gem_version.rb +22 -15
  381. data/test/rubygems/test_gem_version_option.rb +15 -15
  382. data/test/rubygems/test_kernel.rb +31 -31
  383. data/test/rubygems/test_project_sanity.rb +1 -1
  384. data/test/rubygems/test_remote_fetch_error.rb +6 -6
  385. data/test/rubygems/test_require.rb +43 -43
  386. data/test/rubygems/test_rubygems.rb +8 -8
  387. data/test/rubygems/utilities.rb +19 -19
  388. metadata +14 -3
@@ -1,20 +1,20 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/request'
4
- require 'ostruct'
5
- require 'base64'
2
+ require_relative "helper"
3
+ require "rubygems/request"
4
+ require "ostruct"
5
+ require "base64"
6
6
 
7
7
  unless Gem::HAVE_OPENSSL
8
- warn 'Skipping Gem::Request tests. openssl not found.'
8
+ warn "Skipping Gem::Request tests. openssl not found."
9
9
  end
10
10
 
11
11
  class TestGemRequest < Gem::TestCase
12
- CA_CERT_FILE = cert_path 'ca'
13
- CHILD_CERT = load_cert 'child'
14
- EXPIRED_CERT = load_cert 'expired'
15
- PUBLIC_CERT = load_cert 'public'
16
- PUBLIC_CERT_FILE = cert_path 'public'
17
- SSL_CERT = load_cert 'ssl'
12
+ CA_CERT_FILE = cert_path "ca"
13
+ CHILD_CERT = load_cert "child"
14
+ EXPIRED_CERT = load_cert "expired"
15
+ PUBLIC_CERT = load_cert "public"
16
+ PUBLIC_CERT_FILE = cert_path "public"
17
+ SSL_CERT = load_cert "ssl"
18
18
 
19
19
  def make_request(uri, request_class, last_modified, proxy)
20
20
  Gem::Request.create_with_proxy uri, request_class, last_modified, proxy
@@ -28,7 +28,7 @@ class TestGemRequest < Gem::TestCase
28
28
  super
29
29
 
30
30
  @proxy_uri = "http://localhost:1234"
31
- @uri = URI('http://example')
31
+ @uri = URI("http://example")
32
32
 
33
33
  @request = make_request @uri, nil, nil, nil
34
34
  end
@@ -40,7 +40,7 @@ class TestGemRequest < Gem::TestCase
40
40
  end
41
41
 
42
42
  def test_initialize_proxy
43
- proxy_uri = 'http://proxy.example.com'
43
+ proxy_uri = "http://proxy.example.com"
44
44
 
45
45
  request = make_request @uri, nil, nil, proxy_uri
46
46
 
@@ -48,7 +48,7 @@ class TestGemRequest < Gem::TestCase
48
48
  end
49
49
 
50
50
  def test_initialize_proxy_URI
51
- proxy_uri = 'http://proxy.example.com'
51
+ proxy_uri = "http://proxy.example.com"
52
52
 
53
53
  request = make_request @uri, nil, nil, URI(proxy_uri)
54
54
 
@@ -56,22 +56,22 @@ class TestGemRequest < Gem::TestCase
56
56
  end
57
57
 
58
58
  def test_initialize_proxy_ENV
59
- ENV['http_proxy'] = @proxy_uri
60
- ENV['http_proxy_user'] = 'foo'
61
- ENV['http_proxy_pass'] = 'bar'
59
+ ENV["http_proxy"] = @proxy_uri
60
+ ENV["http_proxy_user"] = "foo"
61
+ ENV["http_proxy_pass"] = "bar"
62
62
 
63
63
  request = make_request @uri, nil, nil, nil
64
64
 
65
65
  proxy = request.proxy_uri
66
66
 
67
- assert_equal 'foo', proxy.user
68
- assert_equal 'bar', proxy.password
67
+ assert_equal "foo", proxy.user
68
+ assert_equal "bar", proxy.password
69
69
  end
70
70
 
71
71
  def test_initialize_proxy_ENV_https
72
- ENV['https_proxy'] = @proxy_uri
72
+ ENV["https_proxy"] = @proxy_uri
73
73
 
74
- request = make_request URI('https://example'), nil, nil, nil
74
+ request = make_request URI("https://example"), nil, nil, nil
75
75
 
76
76
  proxy = request.proxy_uri
77
77
 
@@ -79,10 +79,10 @@ class TestGemRequest < Gem::TestCase
79
79
  end
80
80
 
81
81
  def test_proxy_ENV
82
- ENV['http_proxy'] = "http://proxy"
83
- ENV['https_proxy'] = ""
82
+ ENV["http_proxy"] = "http://proxy"
83
+ ENV["https_proxy"] = ""
84
84
 
85
- request = make_request URI('https://example'), nil, nil, nil
85
+ request = make_request URI("https://example"), nil, nil, nil
86
86
 
87
87
  proxy = request.proxy_uri
88
88
 
@@ -90,13 +90,13 @@ class TestGemRequest < Gem::TestCase
90
90
  end
91
91
 
92
92
  def test_configure_connection_for_https
93
- connection = Net::HTTP.new 'localhost', 443
93
+ connection = Net::HTTP.new "localhost", 443
94
94
 
95
95
  request = Class.new(Gem::Request) do
96
96
  def self.get_cert_files
97
97
  [TestGemRequest::PUBLIC_CERT_FILE]
98
98
  end
99
- end.create_with_proxy URI('https://example'), nil, nil, nil
99
+ end.create_with_proxy URI("https://example"), nil, nil, nil
100
100
 
101
101
  Gem::Request.configure_connection_for_https connection, request.cert_files
102
102
 
@@ -109,13 +109,13 @@ class TestGemRequest < Gem::TestCase
109
109
  ssl_ca_cert, Gem.configuration.ssl_ca_cert =
110
110
  Gem.configuration.ssl_ca_cert, CA_CERT_FILE
111
111
 
112
- connection = Net::HTTP.new 'localhost', 443
112
+ connection = Net::HTTP.new "localhost", 443
113
113
 
114
114
  request = Class.new(Gem::Request) do
115
115
  def self.get_cert_files
116
116
  [TestGemRequest::PUBLIC_CERT_FILE]
117
117
  end
118
- end.create_with_proxy URI('https://example'), nil, nil, nil
118
+ end.create_with_proxy URI("https://example"), nil, nil, nil
119
119
 
120
120
  Gem::Request.configure_connection_for_https connection, request.cert_files
121
121
 
@@ -128,7 +128,7 @@ class TestGemRequest < Gem::TestCase
128
128
  end
129
129
 
130
130
  def test_get_proxy_from_env_fallback
131
- ENV['http_proxy'] = @proxy_uri
131
+ ENV["http_proxy"] = @proxy_uri
132
132
  request = make_request @uri, nil, nil, nil
133
133
  proxy = request.proxy_uri
134
134
 
@@ -136,8 +136,8 @@ class TestGemRequest < Gem::TestCase
136
136
  end
137
137
 
138
138
  def test_get_proxy_from_env_https
139
- ENV['https_proxy'] = @proxy_uri
140
- uri = URI('https://example')
139
+ ENV["https_proxy"] = @proxy_uri
140
+ uri = URI("https://example")
141
141
  request = make_request uri, nil, nil, nil
142
142
 
143
143
  proxy = request.proxy_uri
@@ -146,39 +146,39 @@ class TestGemRequest < Gem::TestCase
146
146
  end
147
147
 
148
148
  def test_get_proxy_from_env_domain
149
- ENV['http_proxy'] = @proxy_uri
150
- ENV['http_proxy_user'] = 'foo\user'
151
- ENV['http_proxy_pass'] = 'my bar'
149
+ ENV["http_proxy"] = @proxy_uri
150
+ ENV["http_proxy_user"] = 'foo\user'
151
+ ENV["http_proxy_pass"] = "my bar"
152
152
  request = make_request @uri, nil, nil, nil
153
153
 
154
154
  proxy = request.proxy_uri
155
155
 
156
156
  assert_equal 'foo\user', Gem::UriFormatter.new(proxy.user).unescape
157
- assert_equal 'my bar', Gem::UriFormatter.new(proxy.password).unescape
157
+ assert_equal "my bar", Gem::UriFormatter.new(proxy.password).unescape
158
158
  end
159
159
 
160
160
  def test_get_proxy_from_env_escape
161
- ENV['http_proxy'] = @proxy_uri
162
- ENV['http_proxy_user'] = 'foo@user'
163
- ENV['http_proxy_pass'] = 'my@bar'
161
+ ENV["http_proxy"] = @proxy_uri
162
+ ENV["http_proxy_user"] = "foo@user"
163
+ ENV["http_proxy_pass"] = "my@bar"
164
164
  request = make_request @uri, nil, nil, nil
165
165
 
166
166
  proxy = request.proxy_uri
167
167
 
168
- assert_equal 'foo%40user', proxy.user
169
- assert_equal 'my%40bar', proxy.password
168
+ assert_equal "foo%40user", proxy.user
169
+ assert_equal "my%40bar", proxy.password
170
170
  end
171
171
 
172
172
  def test_get_proxy_from_env_normalize
173
- ENV['HTTP_PROXY'] = 'fakeurl:12345'
173
+ ENV["HTTP_PROXY"] = "fakeurl:12345"
174
174
  request = make_request @uri, nil, nil, nil
175
175
 
176
- assert_equal 'http://fakeurl:12345', request.proxy_uri.to_s
176
+ assert_equal "http://fakeurl:12345", request.proxy_uri.to_s
177
177
  end
178
178
 
179
179
  def test_get_proxy_from_env_empty
180
- ENV['HTTP_PROXY'] = ''
181
- ENV.delete 'http_proxy'
180
+ ENV["HTTP_PROXY"] = ""
181
+ ENV.delete "http_proxy"
182
182
  request = make_request @uri, nil, nil, nil
183
183
 
184
184
  assert_nil request.proxy_uri
@@ -207,7 +207,7 @@ class TestGemRequest < Gem::TestCase
207
207
  c
208
208
  end
209
209
 
210
- auth_header = conn.payload['Authorization']
210
+ auth_header = conn.payload["Authorization"]
211
211
  assert_equal "Basic #{Base64.encode64('user:pass')}".strip, auth_header
212
212
  assert_includes @ui.output, "GET https://user:REDACTED@example.rubygems/specs.#{Gem.marshal_version}"
213
213
  end
@@ -224,7 +224,7 @@ class TestGemRequest < Gem::TestCase
224
224
  c
225
225
  end
226
226
 
227
- auth_header = conn.payload['Authorization']
227
+ auth_header = conn.payload["Authorization"]
228
228
  assert_equal "Basic #{Base64.encode64('user:{DEScede}pass')}".strip, auth_header
229
229
  assert_includes @ui.output, "GET https://user:REDACTED@example.rubygems/specs.#{Gem.marshal_version}"
230
230
  end
@@ -241,36 +241,36 @@ class TestGemRequest < Gem::TestCase
241
241
  c
242
242
  end
243
243
 
244
- auth_header = conn.payload['Authorization']
244
+ auth_header = conn.payload["Authorization"]
245
245
  assert_equal "Basic #{Base64.encode64('{DEScede}pass:x-oauth-basic')}".strip, auth_header
246
246
  assert_includes @ui.output, "GET https://REDACTED:x-oauth-basic@example.rubygems/specs.#{Gem.marshal_version}"
247
247
  end
248
248
 
249
249
  def test_fetch_head
250
250
  uri = Gem::Uri.new(URI.parse "#{@gem_repo}/specs.#{Gem.marshal_version}")
251
- response = util_stub_net_http(:body => '', :code => 200) do |conn|
251
+ response = util_stub_net_http(:body => "", :code => 200) do |conn|
252
252
  @request = make_request(uri, Net::HTTP::Get, nil, nil)
253
253
  @request.fetch
254
254
  end
255
255
 
256
256
  assert_equal 200, response.code
257
- assert_equal '', response.body
257
+ assert_equal "", response.body
258
258
  end
259
259
 
260
260
  def test_fetch_unmodified
261
261
  uri = Gem::Uri.new(URI.parse "#{@gem_repo}/specs.#{Gem.marshal_version}")
262
262
  t = Time.utc(2013, 1, 2, 3, 4, 5)
263
- conn, response = util_stub_net_http(:body => '', :code => 304) do |c|
263
+ conn, response = util_stub_net_http(:body => "", :code => 304) do |c|
264
264
  @request = make_request(uri, Net::HTTP::Get, t, nil)
265
265
  [c, @request.fetch]
266
266
  end
267
267
 
268
268
  assert_equal 304, response.code
269
- assert_equal '', response.body
269
+ assert_equal "", response.body
270
270
 
271
- modified_header = conn.payload['if-modified-since']
271
+ modified_header = conn.payload["if-modified-since"]
272
272
 
273
- assert_equal 'Wed, 02 Jan 2013 03:04:05 GMT', modified_header
273
+ assert_equal "Wed, 02 Jan 2013 03:04:05 GMT", modified_header
274
274
  end
275
275
 
276
276
  def test_user_agent
@@ -287,7 +287,7 @@ class TestGemRequest < Gem::TestCase
287
287
  util_save_version
288
288
 
289
289
  Object.send :remove_const, :RUBY_ENGINE
290
- Object.send :const_set, :RUBY_ENGINE, 'vroom'
290
+ Object.send :const_set, :RUBY_ENGINE, "vroom"
291
291
 
292
292
  ua = make_request(@uri, nil, nil, nil).user_agent
293
293
 
@@ -300,7 +300,7 @@ class TestGemRequest < Gem::TestCase
300
300
  util_save_version
301
301
 
302
302
  Object.send :remove_const, :RUBY_ENGINE
303
- Object.send :const_set, :RUBY_ENGINE, 'ruby'
303
+ Object.send :const_set, :RUBY_ENGINE, "ruby"
304
304
 
305
305
  ua = make_request(@uri, nil, nil, nil).user_agent
306
306
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/request'
4
- require 'timeout'
2
+ require_relative "helper"
3
+ require "rubygems/request"
4
+ require "timeout"
5
5
 
6
6
  class TestGemRequestConnectionPool < Gem::TestCase
7
7
  class FakeHttp
@@ -17,7 +17,7 @@ class TestGemRequestConnectionPool < Gem::TestCase
17
17
  @old_client = Gem::Request::ConnectionPools.client
18
18
  Gem::Request::ConnectionPools.client = FakeHttp
19
19
 
20
- @proxy = URI 'http://proxy.example'
20
+ @proxy = URI "http://proxy.example"
21
21
  end
22
22
 
23
23
  def teardown
@@ -32,9 +32,9 @@ class TestGemRequestConnectionPool < Gem::TestCase
32
32
  ems.example
33
33
  ]
34
34
 
35
- no_proxy = pools.send :no_proxy?, 'rubygems.example', env_no_proxy
35
+ no_proxy = pools.send :no_proxy?, "rubygems.example", env_no_proxy
36
36
 
37
- refute no_proxy, 'mismatch'
37
+ refute no_proxy, "mismatch"
38
38
  end
39
39
 
40
40
  def test_to_proxy_empty_string
@@ -42,13 +42,13 @@ class TestGemRequestConnectionPool < Gem::TestCase
42
42
 
43
43
  env_no_proxy = [""]
44
44
 
45
- no_proxy = pools.send :no_proxy?, 'ems.example', env_no_proxy
45
+ no_proxy = pools.send :no_proxy?, "ems.example", env_no_proxy
46
46
 
47
- refute no_proxy, 'mismatch'
47
+ refute no_proxy, "mismatch"
48
48
  end
49
49
 
50
50
  def test_checkout_same_connection
51
- uri = URI.parse('http://example/some_endpoint')
51
+ uri = URI.parse("http://example/some_endpoint")
52
52
 
53
53
  pools = Gem::Request::ConnectionPools.new nil, []
54
54
  pool = pools.pool_for uri
@@ -66,13 +66,13 @@ class TestGemRequestConnectionPool < Gem::TestCase
66
66
  2.no-proxy.example
67
67
  ]
68
68
 
69
- no_proxy = pools.send :no_proxy?, '2.no-proxy.example', env_no_proxy
69
+ no_proxy = pools.send :no_proxy?, "2.no-proxy.example", env_no_proxy
70
70
 
71
- assert no_proxy, 'match'
71
+ assert no_proxy, "match"
72
72
 
73
- no_proxy = pools.send :no_proxy?, 'proxy.example', env_no_proxy
73
+ no_proxy = pools.send :no_proxy?, "proxy.example", env_no_proxy
74
74
 
75
- refute no_proxy, 'mismatch'
75
+ refute no_proxy, "mismatch"
76
76
  end
77
77
 
78
78
  def test_to_proxy_eh_wildcard
@@ -82,31 +82,31 @@ class TestGemRequestConnectionPool < Gem::TestCase
82
82
  .no-proxy.example
83
83
  ]
84
84
 
85
- no_proxy = pools.send :no_proxy?, '2.no-proxy.example', env_no_proxy
85
+ no_proxy = pools.send :no_proxy?, "2.no-proxy.example", env_no_proxy
86
86
 
87
- assert no_proxy, 'wildcard matching subdomain'
87
+ assert no_proxy, "wildcard matching subdomain"
88
88
 
89
- no_proxy = pools.send :no_proxy?, 'no-proxy.example', env_no_proxy
89
+ no_proxy = pools.send :no_proxy?, "no-proxy.example", env_no_proxy
90
90
 
91
- assert no_proxy, 'wildcard matching dotless domain'
91
+ assert no_proxy, "wildcard matching dotless domain"
92
92
 
93
- no_proxy = pools.send :no_proxy?, 'proxy.example', env_no_proxy
93
+ no_proxy = pools.send :no_proxy?, "proxy.example", env_no_proxy
94
94
 
95
- refute no_proxy, 'wildcard mismatch'
95
+ refute no_proxy, "wildcard mismatch"
96
96
  end
97
97
 
98
98
  def test_net_http_args
99
99
  pools = Gem::Request::ConnectionPools.new nil, []
100
100
 
101
- net_http_args = pools.send :net_http_args, URI('http://example'), nil
101
+ net_http_args = pools.send :net_http_args, URI("http://example"), nil
102
102
 
103
- assert_equal ['example', 80], net_http_args
103
+ assert_equal ["example", 80], net_http_args
104
104
  end
105
105
 
106
106
  def test_net_http_args_ipv6
107
107
  pools = Gem::Request::ConnectionPools.new nil, []
108
108
 
109
- net_http_args = pools.send :net_http_args, URI('http://[::1]'), nil
109
+ net_http_args = pools.send :net_http_args, URI("http://[::1]"), nil
110
110
 
111
111
  assert_equal ["::1", 80], net_http_args
112
112
  end
@@ -114,26 +114,26 @@ class TestGemRequestConnectionPool < Gem::TestCase
114
114
  def test_net_http_args_proxy
115
115
  pools = Gem::Request::ConnectionPools.new nil, []
116
116
 
117
- net_http_args = pools.send :net_http_args, URI('http://example'), @proxy
117
+ net_http_args = pools.send :net_http_args, URI("http://example"), @proxy
118
118
 
119
- assert_equal ['example', 80, 'proxy.example', 80, nil, nil], net_http_args
119
+ assert_equal ["example", 80, "proxy.example", 80, nil, nil], net_http_args
120
120
  end
121
121
 
122
122
  def test_net_http_args_no_proxy
123
- orig_no_proxy, ENV['no_proxy'] = ENV['no_proxy'], 'example'
123
+ orig_no_proxy, ENV["no_proxy"] = ENV["no_proxy"], "example"
124
124
 
125
125
  pools = Gem::Request::ConnectionPools.new nil, []
126
126
 
127
- net_http_args = pools.send :net_http_args, URI('http://example'), @proxy
127
+ net_http_args = pools.send :net_http_args, URI("http://example"), @proxy
128
128
 
129
- assert_equal ['example', 80, nil, nil], net_http_args
129
+ assert_equal ["example", 80, nil, nil], net_http_args
130
130
 
131
131
  ensure
132
- ENV['no_proxy'] = orig_no_proxy
132
+ ENV["no_proxy"] = orig_no_proxy
133
133
  end
134
134
 
135
135
  def test_thread_waits_for_connection
136
- uri = URI.parse('http://example/some_endpoint')
136
+ uri = URI.parse("http://example/some_endpoint")
137
137
  pools = Gem::Request::ConnectionPools.new nil, []
138
138
  pool = pools.pool_for uri
139
139