rubygems-update 3.4.22 → 3.5.1

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 (540) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +105 -2
  3. data/Manifest.txt +46 -221
  4. data/README.md +1 -3
  5. data/bundler/CHANGELOG.md +63 -0
  6. data/bundler/bundler.gemspec +4 -2
  7. data/bundler/exe/bundle +1 -10
  8. data/bundler/lib/bundler/build_metadata.rb +3 -3
  9. data/bundler/lib/bundler/capistrano.rb +1 -1
  10. data/bundler/lib/bundler/checksum.rb +254 -0
  11. data/bundler/lib/bundler/ci_detector.rb +75 -0
  12. data/bundler/lib/bundler/cli/add.rb +3 -3
  13. data/bundler/lib/bundler/cli/binstubs.rb +4 -4
  14. data/bundler/lib/bundler/cli/cache.rb +1 -1
  15. data/bundler/lib/bundler/cli/check.rb +1 -1
  16. data/bundler/lib/bundler/cli/common.rb +9 -1
  17. data/bundler/lib/bundler/cli/config.rb +8 -7
  18. data/bundler/lib/bundler/cli/console.rb +3 -2
  19. data/bundler/lib/bundler/cli/doctor.rb +2 -2
  20. data/bundler/lib/bundler/cli/exec.rb +1 -1
  21. data/bundler/lib/bundler/cli/gem.rb +28 -23
  22. data/bundler/lib/bundler/cli/info.rb +2 -13
  23. data/bundler/lib/bundler/cli/install.rb +5 -4
  24. data/bundler/lib/bundler/cli/issue.rb +1 -1
  25. data/bundler/lib/bundler/cli/lock.rb +4 -4
  26. data/bundler/lib/bundler/cli/open.rb +1 -1
  27. data/bundler/lib/bundler/cli/outdated.rb +6 -6
  28. data/bundler/lib/bundler/cli/plugin.rb +7 -14
  29. data/bundler/lib/bundler/cli/pristine.rb +38 -30
  30. data/bundler/lib/bundler/cli/show.rb +2 -2
  31. data/bundler/lib/bundler/cli/update.rb +5 -5
  32. data/bundler/lib/bundler/cli.rb +215 -263
  33. data/bundler/lib/bundler/compact_index_client/cache.rb +29 -9
  34. data/bundler/lib/bundler/compact_index_client/cache_file.rb +153 -0
  35. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +7 -3
  36. data/bundler/lib/bundler/compact_index_client/updater.rb +79 -81
  37. data/bundler/lib/bundler/compact_index_client.rb +14 -7
  38. data/bundler/lib/bundler/constants.rb +1 -1
  39. data/bundler/lib/bundler/current_ruby.rb +5 -21
  40. data/bundler/lib/bundler/definition.rb +42 -15
  41. data/bundler/lib/bundler/dependency.rb +16 -12
  42. data/bundler/lib/bundler/digest.rb +2 -2
  43. data/bundler/lib/bundler/dsl.rb +46 -30
  44. data/bundler/lib/bundler/endpoint_specification.rb +5 -1
  45. data/bundler/lib/bundler/env.rb +1 -3
  46. data/bundler/lib/bundler/errors.rb +43 -0
  47. data/bundler/lib/bundler/fetcher/base.rb +3 -1
  48. data/bundler/lib/bundler/fetcher/compact_index.rb +4 -4
  49. data/bundler/lib/bundler/fetcher/downloader.rb +13 -11
  50. data/bundler/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  51. data/bundler/lib/bundler/fetcher/index.rb +1 -1
  52. data/bundler/lib/bundler/fetcher.rb +28 -25
  53. data/bundler/lib/bundler/friendly_errors.rb +5 -5
  54. data/bundler/lib/bundler/gem_helper.rb +1 -1
  55. data/bundler/lib/bundler/gem_helpers.rb +5 -2
  56. data/bundler/lib/bundler/graph.rb +9 -9
  57. data/bundler/lib/bundler/index.rb +1 -2
  58. data/bundler/lib/bundler/injector.rb +1 -1
  59. data/bundler/lib/bundler/inline.rb +3 -3
  60. data/bundler/lib/bundler/installer/gem_installer.rb +5 -5
  61. data/bundler/lib/bundler/installer/parallel_installer.rb +16 -8
  62. data/bundler/lib/bundler/installer/standalone.rb +2 -3
  63. data/bundler/lib/bundler/installer.rb +9 -9
  64. data/bundler/lib/bundler/lazy_specification.rb +24 -17
  65. data/bundler/lib/bundler/lockfile_generator.rb +9 -0
  66. data/bundler/lib/bundler/lockfile_parser.rb +81 -10
  67. data/bundler/lib/bundler/man/bundle-add.1 +3 -26
  68. data/bundler/lib/bundler/man/bundle-binstubs.1 +4 -16
  69. data/bundler/lib/bundler/man/bundle-cache.1 +3 -24
  70. data/bundler/lib/bundler/man/bundle-check.1 +3 -12
  71. data/bundler/lib/bundler/man/bundle-clean.1 +3 -10
  72. data/bundler/lib/bundler/man/bundle-config.1 +20 -211
  73. data/bundler/lib/bundler/man/bundle-config.1.ronn +6 -0
  74. data/bundler/lib/bundler/man/bundle-console.1 +4 -22
  75. data/bundler/lib/bundler/man/bundle-doctor.1 +4 -18
  76. data/bundler/lib/bundler/man/bundle-exec.1 +12 -73
  77. data/bundler/lib/bundler/man/bundle-gem.1 +13 -49
  78. data/bundler/lib/bundler/man/bundle-help.1 +3 -7
  79. data/bundler/lib/bundler/man/bundle-info.1 +3 -9
  80. data/bundler/lib/bundler/man/bundle-init.1 +3 -12
  81. data/bundler/lib/bundler/man/bundle-inject.1 +6 -19
  82. data/bundler/lib/bundler/man/bundle-install.1 +27 -125
  83. data/bundler/lib/bundler/man/bundle-install.1.ronn +1 -0
  84. data/bundler/lib/bundler/man/bundle-list.1 +4 -19
  85. data/bundler/lib/bundler/man/bundle-lock.1 +5 -29
  86. data/bundler/lib/bundler/man/bundle-open.1 +7 -27
  87. data/bundler/lib/bundler/man/bundle-outdated.1 +3 -55
  88. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +1 -0
  89. data/bundler/lib/bundler/man/bundle-platform.1 +5 -27
  90. data/bundler/lib/bundler/man/bundle-plugin.1 +3 -29
  91. data/bundler/lib/bundler/man/bundle-pristine.1 +5 -16
  92. data/bundler/lib/bundler/man/bundle-remove.1 +4 -14
  93. data/bundler/lib/bundler/man/bundle-show.1 +3 -10
  94. data/bundler/lib/bundler/man/bundle-update.1 +18 -137
  95. data/bundler/lib/bundler/man/bundle-version.1 +3 -16
  96. data/bundler/lib/bundler/man/bundle-viz.1 +4 -16
  97. data/bundler/lib/bundler/man/bundle.1 +5 -44
  98. data/bundler/lib/bundler/man/gemfile.5 +24 -301
  99. data/bundler/lib/bundler/man/gemfile.5.ronn +4 -0
  100. data/bundler/lib/bundler/match_metadata.rb +4 -0
  101. data/bundler/lib/bundler/match_platform.rb +1 -1
  102. data/bundler/lib/bundler/plugin/api/source.rb +3 -2
  103. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  104. data/bundler/lib/bundler/plugin.rb +3 -3
  105. data/bundler/lib/bundler/resolver/base.rb +1 -1
  106. data/bundler/lib/bundler/resolver/incompatibility.rb +1 -1
  107. data/bundler/lib/bundler/resolver/spec_group.rb +1 -4
  108. data/bundler/lib/bundler/resolver.rb +16 -16
  109. data/bundler/lib/bundler/ruby_dsl.rb +20 -12
  110. data/bundler/lib/bundler/ruby_version.rb +1 -1
  111. data/bundler/lib/bundler/rubygems_ext.rb +24 -50
  112. data/bundler/lib/bundler/rubygems_gem_installer.rb +6 -56
  113. data/bundler/lib/bundler/rubygems_integration.rb +25 -94
  114. data/bundler/lib/bundler/runtime.rb +2 -2
  115. data/bundler/lib/bundler/self_manager.rb +23 -7
  116. data/bundler/lib/bundler/settings.rb +27 -7
  117. data/bundler/lib/bundler/setup.rb +4 -1
  118. data/bundler/lib/bundler/shared_helpers.rb +35 -13
  119. data/bundler/lib/bundler/source/git/git_proxy.rb +15 -15
  120. data/bundler/lib/bundler/source/git.rb +4 -3
  121. data/bundler/lib/bundler/source/metadata.rb +15 -15
  122. data/bundler/lib/bundler/source/path.rb +7 -6
  123. data/bundler/lib/bundler/source/rubygems.rb +21 -14
  124. data/bundler/lib/bundler/source.rb +2 -0
  125. data/bundler/lib/bundler/spec_set.rb +38 -10
  126. data/bundler/lib/bundler/stub_specification.rb +1 -0
  127. data/bundler/lib/bundler/templates/Executable.bundler +1 -1
  128. data/bundler/lib/bundler/templates/newgem/README.md.tt +3 -3
  129. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +2 -6
  130. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  131. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +1 -1
  132. data/bundler/lib/bundler/ui/shell.rb +1 -1
  133. data/bundler/lib/bundler/vendor/connection_pool/.document +1 -0
  134. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  135. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +53 -6
  136. data/bundler/lib/bundler/vendor/fileutils/.document +1 -0
  137. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +8 -20
  138. data/bundler/lib/bundler/vendor/net-http-persistent/.document +1 -0
  139. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +3 -3
  140. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +2 -2
  141. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
  142. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +34 -34
  143. data/bundler/lib/bundler/vendor/pub_grub/.document +1 -0
  144. data/bundler/lib/bundler/vendor/thor/.document +1 -0
  145. data/bundler/lib/bundler/vendor/tsort/.document +1 -0
  146. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +3 -0
  147. data/bundler/lib/bundler/vendor/uri/.document +1 -0
  148. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +256 -132
  149. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1 -0
  150. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +95 -31
  151. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  152. data/bundler/lib/bundler/vendored_net_http.rb +8 -0
  153. data/bundler/lib/bundler/vendored_persistent.rb +0 -4
  154. data/bundler/lib/bundler/vendored_timeout.rb +8 -0
  155. data/bundler/lib/bundler/version.rb +1 -1
  156. data/bundler/lib/bundler/vlad.rb +1 -1
  157. data/bundler/lib/bundler/yaml_serializer.rb +3 -3
  158. data/bundler/lib/bundler.rb +41 -32
  159. data/lib/rubygems/available_set.rb +4 -4
  160. data/lib/rubygems/basic_specification.rb +35 -37
  161. data/lib/rubygems/bundler_version_finder.rb +4 -4
  162. data/lib/rubygems/ci_detector.rb +75 -0
  163. data/lib/rubygems/command.rb +13 -15
  164. data/lib/rubygems/command_manager.rb +5 -4
  165. data/lib/rubygems/commands/build_command.rb +2 -2
  166. data/lib/rubygems/commands/cert_command.rb +1 -2
  167. data/lib/rubygems/commands/check_command.rb +4 -4
  168. data/lib/rubygems/commands/cleanup_command.rb +12 -14
  169. data/lib/rubygems/commands/contents_command.rb +4 -4
  170. data/lib/rubygems/commands/dependency_command.rb +4 -5
  171. data/lib/rubygems/commands/environment_command.rb +1 -3
  172. data/lib/rubygems/commands/exec_command.rb +1 -1
  173. data/lib/rubygems/commands/fetch_command.rb +2 -2
  174. data/lib/rubygems/commands/generate_index_command.rb +39 -74
  175. data/lib/rubygems/commands/help_command.rb +3 -3
  176. data/lib/rubygems/commands/info_command.rb +2 -2
  177. data/lib/rubygems/commands/install_command.rb +8 -16
  178. data/lib/rubygems/commands/list_command.rb +2 -2
  179. data/lib/rubygems/commands/lock_command.rb +1 -1
  180. data/lib/rubygems/commands/open_command.rb +1 -1
  181. data/lib/rubygems/commands/owner_command.rb +1 -1
  182. data/lib/rubygems/commands/pristine_command.rb +13 -15
  183. data/lib/rubygems/commands/push_command.rb +2 -2
  184. data/lib/rubygems/commands/query_command.rb +4 -5
  185. data/lib/rubygems/commands/rdoc_command.rb +2 -2
  186. data/lib/rubygems/commands/search_command.rb +2 -2
  187. data/lib/rubygems/commands/setup_command.rb +31 -34
  188. data/lib/rubygems/commands/sources_command.rb +12 -12
  189. data/lib/rubygems/commands/specification_command.rb +10 -10
  190. data/lib/rubygems/commands/stale_command.rb +1 -1
  191. data/lib/rubygems/commands/uninstall_command.rb +9 -10
  192. data/lib/rubygems/commands/unpack_command.rb +4 -4
  193. data/lib/rubygems/commands/update_command.rb +10 -12
  194. data/lib/rubygems/commands/which_command.rb +1 -1
  195. data/lib/rubygems/commands/yank_command.rb +1 -1
  196. data/lib/rubygems/compatibility.rb +5 -6
  197. data/lib/rubygems/config_file.rb +4 -4
  198. data/lib/rubygems/core_ext/kernel_gem.rb +0 -2
  199. data/lib/rubygems/core_ext/kernel_require.rb +19 -48
  200. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  201. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  202. data/lib/rubygems/defaults.rb +15 -3
  203. data/lib/rubygems/dependency.rb +12 -14
  204. data/lib/rubygems/dependency_installer.rb +29 -30
  205. data/lib/rubygems/dependency_list.rb +1 -1
  206. data/lib/rubygems/deprecate.rb +16 -15
  207. data/lib/rubygems/doctor.rb +5 -5
  208. data/lib/rubygems/errors.rb +2 -6
  209. data/lib/rubygems/exceptions.rb +2 -1
  210. data/lib/rubygems/ext/builder.rb +15 -10
  211. data/lib/rubygems/ext/cargo_builder.rb +5 -5
  212. data/lib/rubygems/ext/ext_conf_builder.rb +1 -3
  213. data/lib/rubygems/gem_runner.rb +4 -4
  214. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +3 -3
  215. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -3
  216. data/lib/rubygems/gemcutter_utilities.rb +18 -19
  217. data/lib/rubygems/install_update_options.rb +18 -19
  218. data/lib/rubygems/installer.rb +59 -33
  219. data/lib/rubygems/installer_uninstaller_utils.rb +0 -2
  220. data/lib/rubygems/local_remote_options.rb +7 -10
  221. data/lib/rubygems/name_tuple.rb +7 -9
  222. data/lib/rubygems/net/http.rb +3 -0
  223. data/lib/rubygems/net-http/.document +1 -0
  224. data/lib/rubygems/net-http/LICENSE.txt +22 -0
  225. data/lib/rubygems/net-http/lib/net/http/backward.rb +40 -0
  226. data/lib/rubygems/net-http/lib/net/http/exceptions.rb +34 -0
  227. data/lib/rubygems/net-http/lib/net/http/generic_request.rb +414 -0
  228. data/lib/rubygems/net-http/lib/net/http/header.rb +981 -0
  229. data/lib/rubygems/net-http/lib/net/http/proxy_delta.rb +17 -0
  230. data/lib/rubygems/net-http/lib/net/http/request.rb +88 -0
  231. data/lib/rubygems/net-http/lib/net/http/requests.rb +425 -0
  232. data/lib/rubygems/net-http/lib/net/http/response.rb +738 -0
  233. data/lib/rubygems/net-http/lib/net/http/responses.rb +1174 -0
  234. data/lib/rubygems/net-http/lib/net/http/status.rb +84 -0
  235. data/lib/rubygems/net-http/lib/net/http.rb +2496 -0
  236. data/lib/rubygems/net-http/lib/net/https.rb +23 -0
  237. data/lib/rubygems/net-protocol/.document +1 -0
  238. data/lib/rubygems/net-protocol/LICENSE.txt +22 -0
  239. data/lib/rubygems/net-protocol/lib/net/protocol.rb +544 -0
  240. data/lib/rubygems/optparse/lib/optparse.rb +39 -17
  241. data/lib/rubygems/package/old.rb +2 -2
  242. data/lib/rubygems/package/tar_header.rb +45 -39
  243. data/lib/rubygems/package/tar_reader/entry.rb +5 -4
  244. data/lib/rubygems/package/tar_reader.rb +5 -3
  245. data/lib/rubygems/package/tar_writer.rb +19 -17
  246. data/lib/rubygems/package.rb +27 -26
  247. data/lib/rubygems/package_task.rb +2 -2
  248. data/lib/rubygems/path_support.rb +9 -10
  249. data/lib/rubygems/platform.rb +60 -45
  250. data/lib/rubygems/query_utils.rb +7 -9
  251. data/lib/rubygems/remote_fetcher.rb +15 -15
  252. data/lib/rubygems/request/connection_pools.rb +3 -3
  253. data/lib/rubygems/request.rb +20 -17
  254. data/lib/rubygems/request_set/gem_dependency_api.rb +119 -122
  255. data/lib/rubygems/request_set/lockfile/parser.rb +9 -9
  256. data/lib/rubygems/request_set/lockfile/tokenizer.rb +20 -12
  257. data/lib/rubygems/request_set/lockfile.rb +6 -11
  258. data/lib/rubygems/request_set.rb +5 -5
  259. data/lib/rubygems/requirement.rb +7 -7
  260. data/lib/rubygems/resolv/.document +1 -0
  261. data/lib/rubygems/resolv/LICENSE.txt +22 -0
  262. data/lib/rubygems/resolv/lib/resolv.rb +3387 -0
  263. data/lib/rubygems/resolver/activation_request.rb +1 -3
  264. data/lib/rubygems/resolver/api_set/gem_parser.rb +7 -3
  265. data/lib/rubygems/resolver/best_set.rb +1 -1
  266. data/lib/rubygems/resolver/composed_set.rb +1 -1
  267. data/lib/rubygems/resolver/conflict.rb +4 -12
  268. data/lib/rubygems/resolver/index_set.rb +4 -4
  269. data/lib/rubygems/resolver/index_specification.rb +2 -2
  270. data/lib/rubygems/resolver/installer_set.rb +5 -6
  271. data/lib/rubygems/resolver/lock_set.rb +1 -1
  272. data/lib/rubygems/resolver/molinillo/.document +1 -0
  273. data/lib/rubygems/resolver.rb +3 -10
  274. data/lib/rubygems/s3_uri_signer.rb +6 -6
  275. data/lib/rubygems/safe_marshal/elements.rb +138 -0
  276. data/lib/rubygems/safe_marshal/reader.rb +306 -0
  277. data/lib/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  278. data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +385 -0
  279. data/lib/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  280. data/lib/rubygems/safe_marshal.rb +74 -0
  281. data/lib/rubygems/safe_yaml.rb +5 -28
  282. data/lib/rubygems/security/policies.rb +36 -38
  283. data/lib/rubygems/security/policy.rb +7 -11
  284. data/lib/rubygems/security/signer.rb +1 -1
  285. data/lib/rubygems/security/trust_dir.rb +3 -3
  286. data/lib/rubygems/security.rb +8 -22
  287. data/lib/rubygems/source/git.rb +1 -3
  288. data/lib/rubygems/source/installed.rb +0 -2
  289. data/lib/rubygems/source/local.rb +5 -8
  290. data/lib/rubygems/source/lock.rb +1 -3
  291. data/lib/rubygems/source/specific_file.rb +0 -1
  292. data/lib/rubygems/source/vendor.rb +0 -2
  293. data/lib/rubygems/source.rb +12 -12
  294. data/lib/rubygems/source_list.rb +4 -4
  295. data/lib/rubygems/spec_fetcher.rb +29 -29
  296. data/lib/rubygems/specification.rb +125 -138
  297. data/lib/rubygems/specification_policy.rb +55 -25
  298. data/lib/rubygems/stub_specification.rb +4 -5
  299. data/lib/rubygems/text.rb +1 -2
  300. data/lib/rubygems/timeout/.document +1 -0
  301. data/lib/rubygems/timeout/LICENSE.txt +22 -0
  302. data/lib/rubygems/timeout/lib/timeout.rb +199 -0
  303. data/lib/rubygems/timeout.rb +3 -0
  304. data/lib/rubygems/tsort/lib/tsort.rb +3 -0
  305. data/lib/rubygems/uninstaller.rb +7 -9
  306. data/lib/rubygems/update_suggestion.rb +5 -18
  307. data/lib/rubygems/uri_formatter.rb +1 -1
  308. data/lib/rubygems/user_interaction.rb +15 -21
  309. data/lib/rubygems/util/licenses.rb +65 -35
  310. data/lib/rubygems/util/list.rb +3 -1
  311. data/lib/rubygems/util.rb +2 -4
  312. data/lib/rubygems/validator.rb +5 -3
  313. data/lib/rubygems/version.rb +34 -28
  314. data/lib/rubygems/version_option.rb +2 -5
  315. data/lib/rubygems/yaml_serializer.rb +3 -3
  316. data/lib/rubygems.rb +37 -37
  317. data/rubygems-update.gemspec +4 -4
  318. data/setup.rb +2 -2
  319. metadata +50 -225
  320. data/lib/rubygems/indexer.rb +0 -428
  321. data/lib/rubygems/mock_gem_ui.rb +0 -86
  322. data/test/rubygems/alternate_cert.pem +0 -19
  323. data/test/rubygems/alternate_cert_32.pem +0 -19
  324. data/test/rubygems/alternate_key.pem +0 -27
  325. data/test/rubygems/bad_rake.rb +0 -3
  326. data/test/rubygems/bundler_test_gem.rb +0 -424
  327. data/test/rubygems/ca_cert.pem +0 -77
  328. data/test/rubygems/child_cert.pem +0 -19
  329. data/test/rubygems/child_cert_32.pem +0 -19
  330. data/test/rubygems/child_key.pem +0 -27
  331. data/test/rubygems/client.pem +0 -107
  332. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  333. data/test/rubygems/data/gem-private_key.pem +0 -27
  334. data/test/rubygems/data/gem-public_cert.pem +0 -20
  335. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  336. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  337. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  338. data/test/rubygems/encrypted_private_key.pem +0 -30
  339. data/test/rubygems/expired_cert.pem +0 -19
  340. data/test/rubygems/fake_certlib/openssl.rb +0 -9
  341. data/test/rubygems/foo/discover.rb +0 -1
  342. data/test/rubygems/future_cert.pem +0 -19
  343. data/test/rubygems/future_cert_32.pem +0 -19
  344. data/test/rubygems/good_rake.rb +0 -3
  345. data/test/rubygems/grandchild_cert.pem +0 -19
  346. data/test/rubygems/grandchild_cert_32.pem +0 -19
  347. data/test/rubygems/grandchild_key.pem +0 -27
  348. data/test/rubygems/helper.rb +0 -1649
  349. data/test/rubygems/installer_test_case.rb +0 -248
  350. data/test/rubygems/invalid_client.pem +0 -49
  351. data/test/rubygems/invalid_issuer_cert.pem +0 -20
  352. data/test/rubygems/invalid_issuer_cert_32.pem +0 -20
  353. data/test/rubygems/invalid_key.pem +0 -27
  354. data/test/rubygems/invalid_signer_cert.pem +0 -19
  355. data/test/rubygems/invalid_signer_cert_32.pem +0 -19
  356. data/test/rubygems/invalidchild_cert.pem +0 -19
  357. data/test/rubygems/invalidchild_cert_32.pem +0 -19
  358. data/test/rubygems/invalidchild_key.pem +0 -27
  359. data/test/rubygems/multifactor_auth_utilities.rb +0 -111
  360. data/test/rubygems/package/tar_test_case.rb +0 -175
  361. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  362. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  363. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  364. data/test/rubygems/plugin/exception/rubygems_plugin.rb +0 -4
  365. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -5
  366. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +0 -4
  367. data/test/rubygems/private3072_key.pem +0 -40
  368. data/test/rubygems/private_ec_key.pem +0 -9
  369. data/test/rubygems/private_key.pem +0 -27
  370. data/test/rubygems/public3072_cert.pem +0 -25
  371. data/test/rubygems/public_cert.pem +0 -20
  372. data/test/rubygems/public_cert_32.pem +0 -19
  373. data/test/rubygems/public_key.pem +0 -9
  374. data/test/rubygems/rubygems/commands/crash_command.rb +0 -5
  375. data/test/rubygems/rubygems_plugin.rb +0 -24
  376. data/test/rubygems/sff/discover.rb +0 -1
  377. data/test/rubygems/simple_gem.rb +0 -68
  378. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -9
  379. data/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec +0 -0
  380. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +0 -14
  381. data/test/rubygems/ssl_cert.pem +0 -80
  382. data/test/rubygems/ssl_key.pem +0 -27
  383. data/test/rubygems/test_bundled_ca.rb +0 -61
  384. data/test/rubygems/test_config.rb +0 -28
  385. data/test/rubygems/test_deprecate.rb +0 -158
  386. data/test/rubygems/test_exit.rb +0 -17
  387. data/test/rubygems/test_gem.rb +0 -1799
  388. data/test/rubygems/test_gem_available_set.rb +0 -130
  389. data/test/rubygems/test_gem_bundler_version_finder.rb +0 -127
  390. data/test/rubygems/test_gem_command.rb +0 -403
  391. data/test/rubygems/test_gem_command_manager.rb +0 -400
  392. data/test/rubygems/test_gem_commands_build_command.rb +0 -739
  393. data/test/rubygems/test_gem_commands_cert_command.rb +0 -866
  394. data/test/rubygems/test_gem_commands_check_command.rb +0 -68
  395. data/test/rubygems/test_gem_commands_cleanup_command.rb +0 -292
  396. data/test/rubygems/test_gem_commands_contents_command.rb +0 -271
  397. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -228
  398. data/test/rubygems/test_gem_commands_environment_command.rb +0 -169
  399. data/test/rubygems/test_gem_commands_exec_command.rb +0 -857
  400. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -258
  401. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -81
  402. data/test/rubygems/test_gem_commands_help_command.rb +0 -94
  403. data/test/rubygems/test_gem_commands_info_command.rb +0 -70
  404. data/test/rubygems/test_gem_commands_install_command.rb +0 -1573
  405. data/test/rubygems/test_gem_commands_list_command.rb +0 -33
  406. data/test/rubygems/test_gem_commands_lock_command.rb +0 -67
  407. data/test/rubygems/test_gem_commands_mirror.rb +0 -20
  408. data/test/rubygems/test_gem_commands_open_command.rb +0 -101
  409. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -50
  410. data/test/rubygems/test_gem_commands_owner_command.rb +0 -503
  411. data/test/rubygems/test_gem_commands_pristine_command.rb +0 -708
  412. data/test/rubygems/test_gem_commands_push_command.rb +0 -603
  413. data/test/rubygems/test_gem_commands_query_command.rb +0 -858
  414. data/test/rubygems/test_gem_commands_search_command.rb +0 -16
  415. data/test/rubygems/test_gem_commands_server_command.rb +0 -20
  416. data/test/rubygems/test_gem_commands_setup_command.rb +0 -474
  417. data/test/rubygems/test_gem_commands_signin_command.rb +0 -259
  418. data/test/rubygems/test_gem_commands_signout_command.rb +0 -30
  419. data/test/rubygems/test_gem_commands_sources_command.rb +0 -534
  420. data/test/rubygems/test_gem_commands_specification_command.rb +0 -277
  421. data/test/rubygems/test_gem_commands_stale_command.rb +0 -43
  422. data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -542
  423. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -224
  424. data/test/rubygems/test_gem_commands_update_command.rb +0 -836
  425. data/test/rubygems/test_gem_commands_which_command.rb +0 -85
  426. data/test/rubygems/test_gem_commands_yank_command.rb +0 -299
  427. data/test/rubygems/test_gem_config_file.rb +0 -551
  428. data/test/rubygems/test_gem_dependency.rb +0 -398
  429. data/test/rubygems/test_gem_dependency_installer.rb +0 -1190
  430. data/test/rubygems/test_gem_dependency_list.rb +0 -265
  431. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -27
  432. data/test/rubygems/test_gem_doctor.rb +0 -195
  433. data/test/rubygems/test_gem_ext_builder.rb +0 -337
  434. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +0 -1
  435. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +0 -10
  436. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +0 -249
  437. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +0 -10
  438. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +0 -27
  439. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +0 -3
  440. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +0 -1
  441. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +0 -249
  442. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +0 -10
  443. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +0 -10
  444. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +0 -51
  445. data/test/rubygems/test_gem_ext_cargo_builder.rb +0 -167
  446. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +0 -34
  447. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -60
  448. data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -84
  449. data/test/rubygems/test_gem_ext_configure_builder.rb +0 -80
  450. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -229
  451. data/test/rubygems/test_gem_ext_rake_builder.rb +0 -113
  452. data/test/rubygems/test_gem_gem_runner.rb +0 -119
  453. data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -361
  454. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -60
  455. data/test/rubygems/test_gem_indexer.rb +0 -381
  456. data/test/rubygems/test_gem_install_update_options.rb +0 -208
  457. data/test/rubygems/test_gem_installer.rb +0 -2512
  458. data/test/rubygems/test_gem_local_remote_options.rb +0 -133
  459. data/test/rubygems/test_gem_name_tuple.rb +0 -43
  460. data/test/rubygems/test_gem_package.rb +0 -1306
  461. data/test/rubygems/test_gem_package_old.rb +0 -91
  462. data/test/rubygems/test_gem_package_tar_header.rb +0 -226
  463. data/test/rubygems/test_gem_package_tar_reader.rb +0 -150
  464. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -350
  465. data/test/rubygems/test_gem_package_tar_writer.rb +0 -331
  466. data/test/rubygems/test_gem_package_task.rb +0 -118
  467. data/test/rubygems/test_gem_path_support.rb +0 -139
  468. data/test/rubygems/test_gem_platform.rb +0 -497
  469. data/test/rubygems/test_gem_rdoc.rb +0 -137
  470. data/test/rubygems/test_gem_remote_fetcher.rb +0 -1227
  471. data/test/rubygems/test_gem_request.rb +0 -547
  472. data/test/rubygems/test_gem_request_connection_pools.rb +0 -152
  473. data/test/rubygems/test_gem_request_set.rb +0 -672
  474. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -853
  475. data/test/rubygems/test_gem_request_set_lockfile.rb +0 -469
  476. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -544
  477. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -307
  478. data/test/rubygems/test_gem_requirement.rb +0 -505
  479. data/test/rubygems/test_gem_resolver.rb +0 -859
  480. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -43
  481. data/test/rubygems/test_gem_resolver_api_set.rb +0 -210
  482. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -167
  483. data/test/rubygems/test_gem_resolver_best_set.rb +0 -159
  484. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -44
  485. data/test/rubygems/test_gem_resolver_conflict.rb +0 -82
  486. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -83
  487. data/test/rubygems/test_gem_resolver_git_set.rb +0 -188
  488. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -114
  489. data/test/rubygems/test_gem_resolver_index_set.rb +0 -88
  490. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -93
  491. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -47
  492. data/test/rubygems/test_gem_resolver_installer_set.rb +0 -320
  493. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -44
  494. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -62
  495. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -98
  496. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -19
  497. data/test/rubygems/test_gem_resolver_specification.rb +0 -63
  498. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -82
  499. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -82
  500. data/test/rubygems/test_gem_security.rb +0 -341
  501. data/test/rubygems/test_gem_security_policy.rb +0 -535
  502. data/test/rubygems/test_gem_security_signer.rb +0 -218
  503. data/test/rubygems/test_gem_security_trust_dir.rb +0 -99
  504. data/test/rubygems/test_gem_silent_ui.rb +0 -123
  505. data/test/rubygems/test_gem_source.rb +0 -254
  506. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -37
  507. data/test/rubygems/test_gem_source_git.rb +0 -310
  508. data/test/rubygems/test_gem_source_installed.rb +0 -35
  509. data/test/rubygems/test_gem_source_list.rb +0 -119
  510. data/test/rubygems/test_gem_source_local.rb +0 -107
  511. data/test/rubygems/test_gem_source_lock.rb +0 -113
  512. data/test/rubygems/test_gem_source_specific_file.rb +0 -76
  513. data/test/rubygems/test_gem_source_subpath_problem.rb +0 -50
  514. data/test/rubygems/test_gem_source_vendor.rb +0 -30
  515. data/test/rubygems/test_gem_spec_fetcher.rb +0 -338
  516. data/test/rubygems/test_gem_specification.rb +0 -3856
  517. data/test/rubygems/test_gem_stream_ui.rb +0 -255
  518. data/test/rubygems/test_gem_stub_specification.rb +0 -278
  519. data/test/rubygems/test_gem_text.rb +0 -103
  520. data/test/rubygems/test_gem_uninstaller.rb +0 -675
  521. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -31
  522. data/test/rubygems/test_gem_update_suggestion.rb +0 -209
  523. data/test/rubygems/test_gem_uri.rb +0 -41
  524. data/test/rubygems/test_gem_uri_formatter.rb +0 -27
  525. data/test/rubygems/test_gem_util.rb +0 -91
  526. data/test/rubygems/test_gem_validator.rb +0 -42
  527. data/test/rubygems/test_gem_version.rb +0 -305
  528. data/test/rubygems/test_gem_version_option.rb +0 -165
  529. data/test/rubygems/test_kernel.rb +0 -124
  530. data/test/rubygems/test_project_sanity.rb +0 -49
  531. data/test/rubygems/test_remote_fetch_error.rb +0 -20
  532. data/test/rubygems/test_require.rb +0 -732
  533. data/test/rubygems/test_rubygems.rb +0 -76
  534. data/test/rubygems/test_webauthn_listener.rb +0 -143
  535. data/test/rubygems/test_webauthn_listener_response.rb +0 -93
  536. data/test/rubygems/test_webauthn_poller.rb +0 -124
  537. data/test/rubygems/utilities.rb +0 -436
  538. data/test/rubygems/wrong_key_cert.pem +0 -19
  539. data/test/rubygems/wrong_key_cert_32.pem +0 -19
  540. data/test/test_changelog_generator.rb +0 -17
@@ -1,68 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
- require "rubygems/commands/check_command"
5
-
6
- class TestGemCommandsCheckCommand < Gem::TestCase
7
- def setup
8
- super
9
-
10
- @cmd = Gem::Commands::CheckCommand.new
11
- end
12
-
13
- def gem(name)
14
- spec = quick_gem name do |gem|
15
- gem.files = %W[lib/#{name}.rb Rakefile]
16
- end
17
-
18
- write_file File.join(*%W[gems #{spec.full_name} lib #{name}.rb])
19
- write_file File.join(*%W[gems #{spec.full_name} Rakefile])
20
-
21
- spec
22
- end
23
-
24
- def test_initialize
25
- assert_equal "check", @cmd.command
26
- assert_equal "gem check", @cmd.program_name
27
- assert_match(/Check/, @cmd.summary)
28
- end
29
-
30
- def test_handle_options
31
- @cmd.handle_options %w[--no-alien --no-gems --doctor --dry-run]
32
-
33
- assert @cmd.options[:doctor]
34
- refute @cmd.options[:alien]
35
- assert @cmd.options[:dry_run]
36
- refute @cmd.options[:gems]
37
- end
38
-
39
- def test_handle_options_defaults
40
- @cmd.handle_options []
41
-
42
- assert @cmd.options[:alien]
43
- assert @cmd.options[:gems]
44
- refute @cmd.options[:doctor]
45
- refute @cmd.options[:dry_run]
46
- end
47
-
48
- def test_doctor
49
- gem "a"
50
- b = gem "b"
51
-
52
- FileUtils.rm b.spec_file
53
-
54
- assert_path_exist b.gem_dir
55
- assert_path_not_exist b.spec_file
56
-
57
- Gem.use_paths @gemhome
58
-
59
- capture_output do
60
- use_ui @ui do
61
- @cmd.doctor
62
- end
63
- end
64
-
65
- assert_path_not_exist b.gem_dir
66
- assert_path_not_exist b.spec_file
67
- end
68
- end
@@ -1,292 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
- require "rubygems/commands/cleanup_command"
5
- require "rubygems/installer"
6
-
7
- class TestGemCommandsCleanupCommand < Gem::TestCase
8
- def setup
9
- super
10
-
11
- @cmd = Gem::Commands::CleanupCommand.new
12
-
13
- @a_1 = util_spec "a", 1
14
- @a_2 = util_spec "a", 2
15
-
16
- install_gem @a_1
17
- install_gem @a_2
18
- end
19
-
20
- def test_handle_options_d
21
- @cmd.handle_options %w[-d]
22
- assert @cmd.options[:dryrun]
23
- end
24
-
25
- def test_handle_options_dry_run
26
- @cmd.handle_options %w[--dry-run]
27
- assert @cmd.options[:dryrun]
28
- end
29
-
30
- def test_handle_options_deprecated_dry_run
31
- use_ui @ui do
32
- @cmd.handle_options %w[--dryrun]
33
- assert @cmd.options[:dryrun]
34
- end
35
-
36
- assert_equal \
37
- "WARNING: The \"--dryrun\" option has been deprecated and will be removed in future versions of Rubygems. Use --dry-run instead\n",
38
- @ui.error
39
- end
40
-
41
- def test_handle_options_n
42
- @cmd.handle_options %w[-n]
43
- assert @cmd.options[:dryrun]
44
- end
45
-
46
- def test_handle_options_check_development
47
- @cmd.handle_options []
48
- assert @cmd.options[:check_dev]
49
-
50
- %w[-D --check-development].each do |options|
51
- @cmd.handle_options [options]
52
- assert @cmd.options[:check_dev]
53
- end
54
-
55
- %w[--no-check-development].each do |options|
56
- @cmd.handle_options [options]
57
- refute @cmd.options[:check_dev]
58
- end
59
- end
60
-
61
- def test_execute
62
- @cmd.options[:args] = %w[a]
63
-
64
- @cmd.execute
65
-
66
- assert_path_not_exist @a_1.gem_dir
67
- end
68
-
69
- def test_execute_all_dependencies
70
- @b_1 = util_spec "b", 1 do |s|
71
- s.add_dependency "a", "1"
72
- end
73
-
74
- @b_2 = util_spec "b", 2 do |s|
75
- s.add_dependency "a", "2"
76
- end
77
-
78
- install_gem @b_1
79
- install_gem @b_2
80
-
81
- @cmd.options[:args] = []
82
-
83
- @cmd.execute
84
-
85
- assert_path_not_exist @a_1.gem_dir
86
- assert_path_not_exist @b_1.gem_dir
87
- end
88
-
89
- def test_execute_dev_dependencies
90
- @b_1 = util_spec "b", 1 do |s|
91
- s.add_development_dependency "a", "1"
92
- end
93
-
94
- @c_1 = util_spec "c", 1 do |s|
95
- s.add_development_dependency "a", "2"
96
- end
97
-
98
- install_gem @b_1
99
- install_gem @c_1
100
-
101
- @cmd.handle_options %w[--check-development]
102
-
103
- @cmd.execute
104
-
105
- assert_path_exist @a_1.gem_dir
106
- end
107
-
108
- def test_execute_without_dev_dependencies
109
- @b_1 = util_spec "b", 1 do |s|
110
- s.add_development_dependency "a", "1"
111
- end
112
-
113
- @c_1 = util_spec "c", 1 do |s|
114
- s.add_development_dependency "a", "2"
115
- end
116
-
117
- install_gem @b_1
118
- install_gem @c_1
119
-
120
- @cmd.handle_options %w[--no-check-development]
121
-
122
- @cmd.execute
123
-
124
- assert_path_not_exist @a_1.gem_dir
125
- end
126
-
127
- def test_execute_all
128
- gemhome2 = File.join @tempdir, "gemhome2"
129
-
130
- Gem.ensure_gem_subdirectories gemhome2
131
-
132
- Gem.use_paths @gemhome, gemhome2
133
-
134
- @b_1 = util_spec "b", 1
135
- @b_2 = util_spec "b", 2
136
-
137
- install_gem @b_1
138
- install_gem @b_2
139
-
140
- @cmd.options[:args] = []
141
-
142
- @cmd.execute
143
-
144
- assert_equal @gemhome, Gem.dir, "GEM_HOME"
145
- assert_equal [@gemhome, gemhome2], Gem.path.sort, "GEM_PATH"
146
-
147
- assert_path_not_exist @a_1.gem_dir
148
- assert_path_not_exist @b_1.gem_dir
149
- end
150
-
151
- def test_execute_all_user
152
- @a_1_1, = util_gem "a", "1.1"
153
- @a_1_1 = install_gem @a_1_1 # pick up user install path
154
-
155
- Gem::Specification.dirs = [Gem.dir, Gem.user_dir]
156
-
157
- assert_path_exist @a_1.gem_dir
158
- assert_path_exist @a_1_1.gem_dir
159
-
160
- @cmd.options[:args] = %w[a]
161
-
162
- @cmd.execute
163
-
164
- assert_path_not_exist @a_1.gem_dir
165
- assert_path_not_exist @a_1_1.gem_dir
166
- end
167
-
168
- def test_execute_all_user_no_sudo
169
- FileUtils.chmod 0o555, @gemhome
170
-
171
- @a_1_1, = util_gem "a", "1.1"
172
- @a_1_1 = install_gem @a_1_1, :user_install => true # pick up user install path
173
-
174
- Gem::Specification.dirs = [Gem.dir, Gem.user_dir]
175
-
176
- assert_path_exist @a_1.gem_dir
177
- assert_path_exist @a_1_1.gem_dir
178
-
179
- @cmd.options[:args] = %w[a]
180
-
181
- @cmd.execute
182
-
183
- assert_path_exist @a_1.gem_dir
184
- assert_path_exist @a_1_1.gem_dir
185
- ensure
186
- FileUtils.chmod 0o755, @gemhome
187
- end unless win_platform? || Process.uid.zero?
188
-
189
- def test_execute_dry_run
190
- @cmd.options[:args] = %w[a]
191
- @cmd.options[:dryrun] = true
192
-
193
- @cmd.execute
194
-
195
- assert_path_exist @a_1.gem_dir
196
- end
197
-
198
- def test_execute_keeps_older_versions_with_deps
199
- @b_1 = util_spec "b", 1
200
- @b_2 = util_spec "b", 2
201
-
202
- @c = util_spec "c", 1 do |s|
203
- s.add_dependency "b", "1"
204
- end
205
-
206
- install_gem @b_1
207
- install_gem @b_2
208
- install_gem @c
209
-
210
- @cmd.options[:args] = []
211
-
212
- @cmd.execute
213
-
214
- assert_path_exist @b_1.gem_dir
215
- end
216
-
217
- def test_execute_ignore_default_gem_verbose
218
- Gem.configuration.verbose = :really
219
-
220
- @b_1 = util_spec "b", 1
221
- @b_default = new_default_spec "b", "2"
222
- @b_2 = util_spec "b", 3
223
-
224
- install_gem @b_1
225
- install_default_gems @b_default
226
- install_gem @b_2
227
-
228
- @cmd.options[:args] = []
229
-
230
- use_ui @ui do
231
- @cmd.execute
232
- end
233
-
234
- assert_match %r{^Skipped default gems: b-2}, @ui.output
235
- assert_empty @ui.error
236
- end
237
-
238
- def test_execute_remove_gem_home_only
239
- c_1, = util_gem "c", "1"
240
- c_2, = util_gem "c", "2"
241
- d_1, = util_gem "d", "1"
242
- d_2, = util_gem "d", "2"
243
- e_1, = util_gem "e", "1"
244
- e_2, = util_gem "e", "2"
245
-
246
- c_1 = install_gem c_1, :user_install => true # pick up user install path
247
- c_2 = install_gem c_2
248
-
249
- d_1 = install_gem d_1
250
- d_2 = install_gem d_2, :user_install => true # pick up user install path
251
-
252
- e_1 = install_gem e_1
253
- e_2 = install_gem e_2
254
-
255
- Gem::Specification.dirs = [Gem.dir, Gem.user_dir]
256
-
257
- @cmd.options[:args] = []
258
-
259
- @cmd.execute
260
-
261
- assert_path_exist c_1.gem_dir
262
- assert_path_not_exist d_1.gem_dir
263
- assert_path_not_exist e_1.gem_dir
264
- end
265
-
266
- def test_execute_user_install
267
- c_1, = util_gem "c", "1.0"
268
- c_2, = util_gem "c", "1.1"
269
-
270
- d_1, = util_gem "d", "1.0"
271
- d_2, = util_gem "d", "1.1"
272
-
273
- c_1 = install_gem c_1, :user_install => true # pick up user install path
274
- c_2 = install_gem c_2, :user_install => true # pick up user install path
275
-
276
- d_1 = install_gem d_1
277
- d_2 = install_gem d_2
278
-
279
- Gem::Specification.dirs = [Gem.dir, Gem.user_dir]
280
-
281
- @cmd.handle_options %w[--user-install]
282
- @cmd.options[:args] = []
283
-
284
- @cmd.execute
285
-
286
- assert_path_not_exist c_1.gem_dir
287
- assert_path_exist c_2.gem_dir
288
-
289
- assert_path_exist d_1.gem_dir
290
- assert_path_exist d_2.gem_dir
291
- end
292
- end
@@ -1,271 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
- require "rubygems/commands/contents_command"
5
-
6
- class TestGemCommandsContentsCommand < Gem::TestCase
7
- def setup
8
- super
9
-
10
- @cmd = Gem::Commands::ContentsCommand.new
11
- end
12
-
13
- def gem(name, version = 2)
14
- spec = quick_gem name, version do |gem|
15
- gem.files = %W[lib/#{name}.rb Rakefile]
16
- end
17
- write_file File.join(*%W[gems #{spec.full_name} lib #{name}.rb])
18
- write_file File.join(*%W[gems #{spec.full_name} Rakefile])
19
- end
20
-
21
- def test_execute
22
- @cmd.options[:args] = %w[foo]
23
-
24
- gem "foo"
25
-
26
- use_ui @ui do
27
- @cmd.execute
28
- end
29
-
30
- assert_match %r{lib/foo\.rb}, @ui.output
31
- assert_match %r{Rakefile}, @ui.output
32
- assert_equal "", @ui.error
33
- end
34
-
35
- def test_execute_all
36
- @cmd.options[:all] = true
37
-
38
- gem "foo"
39
- gem "bar"
40
-
41
- use_ui @ui do
42
- @cmd.execute
43
- end
44
-
45
- assert_match %r{lib/foo\.rb}, @ui.output
46
- assert_match %r{lib/bar\.rb}, @ui.output
47
- assert_match %r{Rakefile}, @ui.output
48
- assert_equal "", @ui.error
49
- end
50
-
51
- def test_execute_bad_gem
52
- @cmd.options[:args] = %w[foo]
53
-
54
- assert_raise Gem::MockGemUi::TermError do
55
- use_ui @ui do
56
- @cmd.execute
57
- end
58
- end
59
-
60
- assert_match %r{Unable to find gem 'foo' in default gem paths}, @ui.output
61
- assert_match %r{Directories searched:}, @ui.output
62
- assert_equal "", @ui.error
63
- end
64
-
65
- def test_execute_exact_match
66
- @cmd.options[:args] = %w[foo]
67
- gem "foo"
68
- gem "bar"
69
-
70
- use_ui @ui do
71
- @cmd.execute
72
- end
73
-
74
- assert_match %r{lib/foo\.rb}, @ui.output
75
- assert_match %r{Rakefile}, @ui.output
76
- assert_equal "", @ui.error
77
- end
78
-
79
- def test_execute_lib_only
80
- @cmd.options[:args] = %w[foo]
81
- @cmd.options[:lib_only] = true
82
-
83
- gem "foo"
84
-
85
- use_ui @ui do
86
- @cmd.execute
87
- end
88
-
89
- assert_match %r{lib/foo\.rb}, @ui.output
90
- refute_match %r{Rakefile}, @ui.output
91
-
92
- assert_equal "", @ui.error
93
- end
94
-
95
- def test_execute_missing_single
96
- @cmd.options[:args] = %w[foo]
97
-
98
- assert_raise Gem::MockGemUi::TermError do
99
- use_ui @ui do
100
- @cmd.execute
101
- end
102
- end
103
-
104
- assert_match "Unable to find gem 'foo'", @ui.output
105
- assert_empty @ui.error
106
- end
107
-
108
- def test_execute_missing_version
109
- @cmd.options[:args] = %w[foo]
110
- @cmd.options[:version] = Gem::Requirement.new "= 2"
111
-
112
- gem "foo", 1
113
-
114
- assert_raise Gem::MockGemUi::TermError do
115
- use_ui @ui do
116
- @cmd.execute
117
- end
118
- end
119
-
120
- assert_match "Unable to find gem 'foo'", @ui.output
121
- assert_empty @ui.error
122
- end
123
-
124
- def test_execute_missing_multiple
125
- @cmd.options[:args] = %w[foo bar]
126
-
127
- gem "foo"
128
-
129
- use_ui @ui do
130
- @cmd.execute
131
- end
132
-
133
- assert_match "lib/foo.rb", @ui.output
134
- assert_match "Unable to find gem 'bar'", @ui.output
135
-
136
- assert_empty @ui.error
137
- end
138
-
139
- def test_execute_multiple
140
- @cmd.options[:args] = %w[foo bar]
141
-
142
- gem "foo"
143
- gem "bar"
144
-
145
- use_ui @ui do
146
- @cmd.execute
147
- end
148
-
149
- assert_match %r{lib/foo\.rb}, @ui.output
150
- assert_match %r{lib/bar\.rb}, @ui.output
151
- assert_match %r{Rakefile}, @ui.output
152
- assert_equal "", @ui.error
153
- end
154
-
155
- def test_execute_show_install_dir
156
- @cmd.options[:args] = %w[foo]
157
- @cmd.options[:show_install_dir] = true
158
-
159
- gem "foo"
160
-
161
- use_ui @ui do
162
- @cmd.execute
163
- end
164
-
165
- expected = File.join @gemhome, "gems", "foo-2"
166
-
167
- assert_equal "#{expected}\n", @ui.output
168
- assert_equal "", @ui.error
169
- end
170
-
171
- def test_execute_show_install_dir_latest_version
172
- @cmd.options[:args] = %w[foo]
173
- @cmd.options[:show_install_dir] = true
174
-
175
- gem "foo", 1
176
- gem "foo", 2
177
-
178
- use_ui @ui do
179
- @cmd.execute
180
- end
181
-
182
- expected = File.join @gemhome, "gems", "foo-2"
183
-
184
- assert_equal "#{expected}\n", @ui.output
185
- assert_equal "", @ui.error
186
- end
187
-
188
- def test_execute_show_install_dir_version
189
- @cmd.options[:args] = %w[foo]
190
- @cmd.options[:show_install_dir] = true
191
- @cmd.options[:version] = Gem::Requirement.new "= 1"
192
-
193
- gem "foo", 1
194
- gem "foo", 2
195
-
196
- use_ui @ui do
197
- @cmd.execute
198
- end
199
-
200
- expected = File.join @gemhome, "gems", "foo-1"
201
-
202
- assert_equal "#{expected}\n", @ui.output
203
- assert_equal "", @ui.error
204
- end
205
-
206
- def test_execute_no_prefix
207
- @cmd.options[:args] = %w[foo]
208
- @cmd.options[:prefix] = false
209
-
210
- gem "foo"
211
-
212
- use_ui @ui do
213
- @cmd.execute
214
- end
215
-
216
- expected = <<-EOF
217
- Rakefile
218
- lib/foo.rb
219
- EOF
220
-
221
- assert_equal expected, @ui.output
222
-
223
- assert_equal "", @ui.error
224
- end
225
-
226
- def test_execute_default_gem
227
- default_gem_spec = new_default_spec("default", "2.0.0.0",
228
- nil, "default/gem.rb")
229
- default_gem_spec.executables = ["default_command"]
230
- default_gem_spec.files += ["default_gem.so"]
231
- install_default_gems(default_gem_spec)
232
-
233
- @cmd.options[:args] = %w[default]
234
-
235
- use_ui @ui do
236
- @cmd.execute
237
- end
238
-
239
- expected = [
240
- [RbConfig::CONFIG["bindir"], "default_command"],
241
- [RbConfig::CONFIG["rubylibdir"], "default/gem.rb"],
242
- [RbConfig::CONFIG["archdir"], "default_gem.so"],
243
- ].sort.map {|a|File.join a }.join "\n"
244
-
245
- assert_equal expected, @ui.output.chomp
246
- assert_equal "", @ui.error
247
- end
248
-
249
- def test_handle_options
250
- refute @cmd.options[:lib_only]
251
- assert @cmd.options[:prefix]
252
- assert_empty @cmd.options[:specdirs]
253
- assert_nil @cmd.options[:version]
254
- refute @cmd.options[:show_install_dir]
255
-
256
- @cmd.send :handle_options, %w[
257
- -l
258
- -s
259
- foo
260
- --version 0.0.2
261
- --no-prefix
262
- --show-install-dir
263
- ]
264
-
265
- assert @cmd.options[:lib_only]
266
- refute @cmd.options[:prefix]
267
- assert_equal %w[foo], @cmd.options[:specdirs]
268
- assert_equal Gem::Requirement.new("0.0.2"), @cmd.options[:version]
269
- assert @cmd.options[:show_install_dir]
270
- end
271
- end