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,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/package'
4
- require 'rubygems/security'
5
- require 'rubygems/commands/fetch_command'
2
+ require_relative "helper"
3
+ require "rubygems/package"
4
+ require "rubygems/security"
5
+ require "rubygems/commands/fetch_command"
6
6
 
7
7
  class TestGemCommandsFetchCommand < Gem::TestCase
8
8
  def setup
@@ -13,10 +13,10 @@ class TestGemCommandsFetchCommand < Gem::TestCase
13
13
 
14
14
  def test_execute
15
15
  specs = spec_fetcher do |fetcher|
16
- fetcher.gem 'a', 2
16
+ fetcher.gem "a", 2
17
17
  end
18
18
 
19
- assert_path_not_exist File.join(@tempdir, 'cache'), 'sanity check'
19
+ assert_path_not_exist File.join(@tempdir, "cache"), "sanity check"
20
20
 
21
21
  @cmd.options[:args] = %w[a]
22
22
 
@@ -26,24 +26,24 @@ class TestGemCommandsFetchCommand < Gem::TestCase
26
26
  end
27
27
  end
28
28
 
29
- a2 = specs['a-2']
29
+ a2 = specs["a-2"]
30
30
 
31
31
  assert_path_exist(File.join(@tempdir, a2.file_name),
32
32
  "#{a2.full_name} not fetched")
33
- assert_path_not_exist File.join(@tempdir, 'cache'),
34
- 'gem repository directories must not be created'
33
+ assert_path_not_exist File.join(@tempdir, "cache"),
34
+ "gem repository directories must not be created"
35
35
  end
36
36
 
37
37
  def test_execute_latest
38
38
  specs = spec_fetcher do |fetcher|
39
- fetcher.gem 'a', 1
40
- fetcher.gem 'a', 2
39
+ fetcher.gem "a", 1
40
+ fetcher.gem "a", 2
41
41
  end
42
42
 
43
- assert_path_not_exist File.join(@tempdir, 'cache'), 'sanity check'
43
+ assert_path_not_exist File.join(@tempdir, "cache"), "sanity check"
44
44
 
45
45
  @cmd.options[:args] = %w[a]
46
- @cmd.options[:version] = req('>= 0.1')
46
+ @cmd.options[:version] = req(">= 0.1")
47
47
 
48
48
  use_ui @ui do
49
49
  Dir.chdir @tempdir do
@@ -51,17 +51,17 @@ class TestGemCommandsFetchCommand < Gem::TestCase
51
51
  end
52
52
  end
53
53
 
54
- a2 = specs['a-2']
54
+ a2 = specs["a-2"]
55
55
  assert_path_exist(File.join(@tempdir, a2.file_name),
56
56
  "#{a2.full_name} not fetched")
57
- assert_path_not_exist File.join(@tempdir, 'cache'),
58
- 'gem repository directories must not be created'
57
+ assert_path_not_exist File.join(@tempdir, "cache"),
58
+ "gem repository directories must not be created"
59
59
  end
60
60
 
61
61
  def test_execute_prerelease
62
62
  specs = spec_fetcher do |fetcher|
63
- fetcher.gem 'a', 2
64
- fetcher.gem 'a', '2.a'
63
+ fetcher.gem "a", 2
64
+ fetcher.gem "a", "2.a"
65
65
  end
66
66
 
67
67
  @cmd.options[:args] = %w[a]
@@ -73,7 +73,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
73
73
  end
74
74
  end
75
75
 
76
- a2 = specs['a-2']
76
+ a2 = specs["a-2"]
77
77
 
78
78
  assert_path_exist(File.join(@tempdir, a2.file_name),
79
79
  "#{a2.full_name} not fetched")
@@ -83,7 +83,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
83
83
  a2_spec, a2 = util_gem("a", "2")
84
84
 
85
85
  a2_universal_darwin_spec, a2_universal_darwin = util_gem("a", "2") do |s|
86
- s.platform = 'universal-darwin'
86
+ s.platform = "universal-darwin"
87
87
  end
88
88
 
89
89
  Gem::RemoteFetcher.fetcher = @fetcher = Gem::FakeFetcher.new
@@ -103,7 +103,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
103
103
  @fetcher.data["#{@gem_repo}gems/#{a2_universal_darwin_spec.file_name}"] = Gem.read_binary(a2_universal_darwin)
104
104
  FileUtils.cp a2_universal_darwin, a2_universal_darwin_spec.cache_file
105
105
 
106
- util_set_arch 'arm64-darwin20' do
106
+ util_set_arch "arm64-darwin20" do
107
107
  use_ui @ui do
108
108
  Dir.chdir @tempdir do
109
109
  @cmd.execute
@@ -117,8 +117,8 @@ class TestGemCommandsFetchCommand < Gem::TestCase
117
117
 
118
118
  def test_execute_specific_prerelease
119
119
  specs = spec_fetcher do |fetcher|
120
- fetcher.gem 'a', 2
121
- fetcher.gem 'a', '2.a'
120
+ fetcher.gem "a", 2
121
+ fetcher.gem "a", "2.a"
122
122
  end
123
123
 
124
124
  @cmd.options[:args] = %w[a]
@@ -131,7 +131,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
131
131
  end
132
132
  end
133
133
 
134
- a2_pre = specs['a-2.a']
134
+ a2_pre = specs["a-2.a"]
135
135
 
136
136
  assert_path_exist(File.join(@tempdir, a2_pre.file_name),
137
137
  "#{a2_pre.full_name} not fetched")
@@ -139,12 +139,12 @@ class TestGemCommandsFetchCommand < Gem::TestCase
139
139
 
140
140
  def test_execute_version
141
141
  specs = spec_fetcher do |fetcher|
142
- fetcher.gem 'a', 1
143
- fetcher.gem 'a', 2
142
+ fetcher.gem "a", 1
143
+ fetcher.gem "a", 2
144
144
  end
145
145
 
146
146
  @cmd.options[:args] = %w[a]
147
- @cmd.options[:version] = Gem::Requirement.new '1'
147
+ @cmd.options[:version] = Gem::Requirement.new "1"
148
148
 
149
149
  use_ui @ui do
150
150
  Dir.chdir @tempdir do
@@ -152,7 +152,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
152
152
  end
153
153
  end
154
154
 
155
- a1 = specs['a-1']
155
+ a1 = specs["a-1"]
156
156
 
157
157
  assert_path_exist(File.join(@tempdir, a1.file_name),
158
158
  "#{a1.full_name} not fetched")
@@ -160,7 +160,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
160
160
 
161
161
  def test_execute_version_specified_by_colon
162
162
  specs = spec_fetcher do |fetcher|
163
- fetcher.gem 'a', 1
163
+ fetcher.gem "a", 1
164
164
  end
165
165
 
166
166
  @cmd.options[:args] = %w[a:1]
@@ -171,7 +171,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
171
171
  end
172
172
  end
173
173
 
174
- a1 = specs['a-1']
174
+ a1 = specs["a-1"]
175
175
 
176
176
  assert_path_exist(File.join(@tempdir, a1.file_name),
177
177
  "#{a1.full_name} not fetched")
@@ -179,7 +179,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
179
179
 
180
180
  def test_execute_two_version
181
181
  @cmd.options[:args] = %w[a b]
182
- @cmd.options[:version] = Gem::Requirement.new '1'
182
+ @cmd.options[:version] = Gem::Requirement.new "1"
183
183
 
184
184
  use_ui @ui do
185
185
  assert_raise Gem::MockGemUi::TermError, @ui.error do
@@ -196,8 +196,8 @@ class TestGemCommandsFetchCommand < Gem::TestCase
196
196
 
197
197
  def test_execute_two_version_specified_by_colon
198
198
  specs = spec_fetcher do |fetcher|
199
- fetcher.gem 'a', 1
200
- fetcher.gem 'b', 1
199
+ fetcher.gem "a", 1
200
+ fetcher.gem "b", 1
201
201
  end
202
202
 
203
203
  @cmd.options[:args] = %w[a:1 b:1]
@@ -208,8 +208,8 @@ class TestGemCommandsFetchCommand < Gem::TestCase
208
208
  end
209
209
  end
210
210
 
211
- a1 = specs['a-1']
212
- b1 = specs['b-1']
211
+ a1 = specs["a-1"]
212
+ b1 = specs["b-1"]
213
213
 
214
214
  assert_path_exist(File.join(@tempdir, a1.file_name),
215
215
  "#{a1.full_name} not fetched")
@@ -219,7 +219,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
219
219
 
220
220
  def test_execute_version_nonexistent
221
221
  spec_fetcher do |fetcher|
222
- fetcher.spec 'foo', 1
222
+ fetcher.spec "foo", 1
223
223
  end
224
224
 
225
225
  @cmd.options[:args] = %w[foo:2]
@@ -238,7 +238,7 @@ ERROR: Possible alternatives: foo
238
238
 
239
239
  def test_execute_nonexistent_hint_disabled
240
240
  spec_fetcher do |fetcher|
241
- fetcher.spec 'foo', 1
241
+ fetcher.spec "foo", 1
242
242
  end
243
243
 
244
244
  @cmd.options[:args] = %w[foo:2]
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/indexer'
4
- require 'rubygems/commands/generate_index_command'
2
+ require_relative "helper"
3
+ require "rubygems/indexer"
4
+ require "rubygems/commands/generate_index_command"
5
5
 
6
6
  class TestGemCommandsGenerateIndexCommand < Gem::TestCase
7
7
  def setup
@@ -35,21 +35,21 @@ class TestGemCommandsGenerateIndexCommand < Gem::TestCase
35
35
 
36
36
  def test_handle_options_directory
37
37
  return if win_platform?
38
- refute_equal '/nonexistent', @cmd.options[:directory]
38
+ refute_equal "/nonexistent", @cmd.options[:directory]
39
39
 
40
40
  @cmd.handle_options %w[--directory /nonexistent]
41
41
 
42
- assert_equal '/nonexistent', @cmd.options[:directory]
42
+ assert_equal "/nonexistent", @cmd.options[:directory]
43
43
  end
44
44
 
45
45
  def test_handle_options_directory_windows
46
46
  return unless win_platform?
47
47
 
48
- refute_equal '/nonexistent', @cmd.options[:directory]
48
+ refute_equal "/nonexistent", @cmd.options[:directory]
49
49
 
50
50
  @cmd.handle_options %w[--directory C:/nonexistent]
51
51
 
52
- assert_equal 'C:/nonexistent', @cmd.options[:directory]
52
+ assert_equal "C:/nonexistent", @cmd.options[:directory]
53
53
  end
54
54
 
55
55
  def test_handle_options_update
@@ -11,41 +11,41 @@ class TestGemCommandsHelpCommand < Gem::TestCase
11
11
 
12
12
  @cmd = Gem::Commands::HelpCommand.new
13
13
 
14
- load File.expand_path('rubygems_plugin.rb', __dir__) unless Gem::Commands.const_defined? :InterruptCommand
14
+ load File.expand_path("rubygems_plugin.rb", __dir__) unless Gem::Commands.const_defined? :InterruptCommand
15
15
  end
16
16
 
17
17
  def test_gem_help_bad
18
- util_gem 'bad' do |out, err|
19
- assert_equal('', out)
18
+ util_gem "bad" do |out, err|
19
+ assert_equal("", out)
20
20
  assert_match "Unknown command bad", err
21
21
  end
22
22
  end
23
23
 
24
24
  def test_gem_help_gem_dependencies
25
- util_gem 'gem_dependencies' do |out, err|
26
- assert_match 'gem.deps.rb', out
27
- assert_equal '', err
25
+ util_gem "gem_dependencies" do |out, err|
26
+ assert_match "gem.deps.rb", out
27
+ assert_equal "", err
28
28
  end
29
29
  end
30
30
 
31
31
  def test_gem_help_platforms
32
- util_gem 'platforms' do |out, err|
32
+ util_gem "platforms" do |out, err|
33
33
  assert_match(/x86-freebsd/, out)
34
- assert_equal '', err
34
+ assert_equal "", err
35
35
  end
36
36
  end
37
37
 
38
38
  def test_gem_help_build
39
- util_gem 'build' do |out, err|
39
+ util_gem "build" do |out, err|
40
40
  assert_match(/-C PATH *Run as if gem build was started in <PATH>/, out)
41
- assert_equal '', err
41
+ assert_equal "", err
42
42
  end
43
43
  end
44
44
 
45
45
  def test_gem_help_commands
46
46
  mgr = Gem::CommandManager.new
47
47
 
48
- util_gem 'commands' do |out, err|
48
+ util_gem "commands" do |out, err|
49
49
  mgr.command_names.each do |cmd|
50
50
  unless mgr[cmd].deprecated?
51
51
  assert_match(/\s+#{cmd}\s+\S+/, out)
@@ -63,7 +63,7 @@ class TestGemCommandsHelpCommand < Gem::TestCase
63
63
  def test_gem_help_commands_omits_deprecated_commands
64
64
  mgr = Gem::CommandManager.new
65
65
 
66
- util_gem 'commands' do |out, err|
66
+ util_gem "commands" do |out, err|
67
67
  deprecated_commands = mgr.command_names.select {|cmd| mgr[cmd].deprecated? }
68
68
  deprecated_commands.each do |cmd|
69
69
  refute_match(/\A\s+#{cmd}\s+\S+\z/, out)
@@ -75,7 +75,7 @@ class TestGemCommandsHelpCommand < Gem::TestCase
75
75
  util_gem do |out, err|
76
76
  assert_match(/Usage:/, out)
77
77
  assert_match(/gem install/, out)
78
- assert_equal '', err
78
+ assert_equal "", err
79
79
  end
80
80
  end
81
81
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/commands/info_command'
2
+ require_relative "helper"
3
+ require "rubygems/commands/info_command"
4
4
 
5
5
  class TestGemCommandsInfoCommand < Gem::TestCase
6
6
  def setup
@@ -40,4 +40,30 @@ class TestGemCommandsInfoCommand < Gem::TestCase
40
40
  assert_match %r{#{@gem.summary}\n}, @ui.output
41
41
  assert_match "", @ui.error
42
42
  end
43
+
44
+ def test_execute_with_version_flag
45
+ spec_fetcher do |fetcher|
46
+ fetcher.spec "coolgem", "1.0"
47
+ fetcher.spec "coolgem", "2.0"
48
+ end
49
+
50
+ @cmd.handle_options %w[coolgem --remote --version 1.0]
51
+
52
+ use_ui @ui do
53
+ @cmd.execute
54
+ end
55
+
56
+ expected = <<-EOF
57
+
58
+ *** REMOTE GEMS ***
59
+
60
+ coolgem (1.0)
61
+ Author: A User
62
+ Homepage: http://example.com
63
+
64
+ this is a summary
65
+ EOF
66
+
67
+ assert_equal expected, @ui.output
68
+ end
43
69
  end