rubygems-update 3.4.22 → 3.5.0

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 (528) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -2
  3. data/Manifest.txt +34 -221
  4. data/README.md +1 -3
  5. data/bundler/CHANGELOG.md +53 -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 +245 -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 +43 -25
  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/lib/connection_pool/version.rb +1 -1
  134. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +53 -6
  135. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +8 -20
  136. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +3 -3
  137. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +2 -2
  138. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
  139. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +35 -35
  140. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +3 -0
  141. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +256 -132
  142. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1 -0
  143. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +95 -31
  144. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  145. data/bundler/lib/bundler/vendored_net_http.rb +8 -0
  146. data/bundler/lib/bundler/vendored_persistent.rb +0 -4
  147. data/bundler/lib/bundler/vendored_timeout.rb +8 -0
  148. data/bundler/lib/bundler/version.rb +1 -1
  149. data/bundler/lib/bundler/vlad.rb +1 -1
  150. data/bundler/lib/bundler/yaml_serializer.rb +3 -3
  151. data/bundler/lib/bundler.rb +38 -27
  152. data/lib/rubygems/available_set.rb +4 -4
  153. data/lib/rubygems/basic_specification.rb +35 -37
  154. data/lib/rubygems/bundler_version_finder.rb +4 -4
  155. data/lib/rubygems/ci_detector.rb +75 -0
  156. data/lib/rubygems/command.rb +13 -15
  157. data/lib/rubygems/command_manager.rb +5 -4
  158. data/lib/rubygems/commands/build_command.rb +2 -2
  159. data/lib/rubygems/commands/cert_command.rb +1 -2
  160. data/lib/rubygems/commands/check_command.rb +4 -4
  161. data/lib/rubygems/commands/cleanup_command.rb +12 -14
  162. data/lib/rubygems/commands/contents_command.rb +4 -4
  163. data/lib/rubygems/commands/dependency_command.rb +4 -5
  164. data/lib/rubygems/commands/environment_command.rb +1 -3
  165. data/lib/rubygems/commands/exec_command.rb +1 -1
  166. data/lib/rubygems/commands/fetch_command.rb +2 -2
  167. data/lib/rubygems/commands/generate_index_command.rb +39 -74
  168. data/lib/rubygems/commands/help_command.rb +3 -3
  169. data/lib/rubygems/commands/info_command.rb +2 -2
  170. data/lib/rubygems/commands/install_command.rb +8 -16
  171. data/lib/rubygems/commands/list_command.rb +2 -2
  172. data/lib/rubygems/commands/lock_command.rb +1 -1
  173. data/lib/rubygems/commands/open_command.rb +1 -1
  174. data/lib/rubygems/commands/owner_command.rb +1 -1
  175. data/lib/rubygems/commands/pristine_command.rb +13 -15
  176. data/lib/rubygems/commands/push_command.rb +2 -2
  177. data/lib/rubygems/commands/query_command.rb +4 -5
  178. data/lib/rubygems/commands/rdoc_command.rb +2 -2
  179. data/lib/rubygems/commands/search_command.rb +2 -2
  180. data/lib/rubygems/commands/setup_command.rb +31 -34
  181. data/lib/rubygems/commands/sources_command.rb +12 -12
  182. data/lib/rubygems/commands/specification_command.rb +10 -10
  183. data/lib/rubygems/commands/stale_command.rb +1 -1
  184. data/lib/rubygems/commands/uninstall_command.rb +9 -10
  185. data/lib/rubygems/commands/unpack_command.rb +4 -4
  186. data/lib/rubygems/commands/update_command.rb +10 -12
  187. data/lib/rubygems/commands/which_command.rb +1 -1
  188. data/lib/rubygems/commands/yank_command.rb +1 -1
  189. data/lib/rubygems/compatibility.rb +5 -6
  190. data/lib/rubygems/config_file.rb +4 -4
  191. data/lib/rubygems/core_ext/kernel_gem.rb +0 -2
  192. data/lib/rubygems/core_ext/kernel_require.rb +19 -48
  193. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  194. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  195. data/lib/rubygems/defaults.rb +15 -3
  196. data/lib/rubygems/dependency.rb +12 -14
  197. data/lib/rubygems/dependency_installer.rb +29 -30
  198. data/lib/rubygems/dependency_list.rb +1 -1
  199. data/lib/rubygems/deprecate.rb +16 -15
  200. data/lib/rubygems/doctor.rb +5 -5
  201. data/lib/rubygems/errors.rb +2 -6
  202. data/lib/rubygems/exceptions.rb +2 -1
  203. data/lib/rubygems/ext/builder.rb +15 -10
  204. data/lib/rubygems/ext/cargo_builder.rb +5 -5
  205. data/lib/rubygems/ext/ext_conf_builder.rb +1 -3
  206. data/lib/rubygems/gem_runner.rb +4 -4
  207. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +3 -3
  208. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -3
  209. data/lib/rubygems/gemcutter_utilities.rb +18 -19
  210. data/lib/rubygems/install_update_options.rb +18 -19
  211. data/lib/rubygems/installer.rb +59 -33
  212. data/lib/rubygems/installer_uninstaller_utils.rb +0 -2
  213. data/lib/rubygems/local_remote_options.rb +7 -10
  214. data/lib/rubygems/name_tuple.rb +7 -9
  215. data/lib/rubygems/net/http.rb +3 -0
  216. data/lib/rubygems/net-http/LICENSE.txt +22 -0
  217. data/lib/rubygems/net-http/lib/net/http/backward.rb +40 -0
  218. data/lib/rubygems/net-http/lib/net/http/exceptions.rb +34 -0
  219. data/lib/rubygems/net-http/lib/net/http/generic_request.rb +414 -0
  220. data/lib/rubygems/net-http/lib/net/http/header.rb +981 -0
  221. data/lib/rubygems/net-http/lib/net/http/proxy_delta.rb +17 -0
  222. data/lib/rubygems/net-http/lib/net/http/request.rb +88 -0
  223. data/lib/rubygems/net-http/lib/net/http/requests.rb +425 -0
  224. data/lib/rubygems/net-http/lib/net/http/response.rb +738 -0
  225. data/lib/rubygems/net-http/lib/net/http/responses.rb +1174 -0
  226. data/lib/rubygems/net-http/lib/net/http/status.rb +84 -0
  227. data/lib/rubygems/net-http/lib/net/http.rb +2496 -0
  228. data/lib/rubygems/net-http/lib/net/https.rb +23 -0
  229. data/lib/rubygems/net-protocol/LICENSE.txt +22 -0
  230. data/lib/rubygems/net-protocol/lib/net/protocol.rb +544 -0
  231. data/lib/rubygems/optparse/lib/optparse.rb +39 -17
  232. data/lib/rubygems/package/old.rb +2 -2
  233. data/lib/rubygems/package/tar_header.rb +45 -39
  234. data/lib/rubygems/package/tar_reader/entry.rb +5 -4
  235. data/lib/rubygems/package/tar_reader.rb +5 -3
  236. data/lib/rubygems/package/tar_writer.rb +19 -17
  237. data/lib/rubygems/package.rb +27 -26
  238. data/lib/rubygems/package_task.rb +2 -2
  239. data/lib/rubygems/path_support.rb +9 -10
  240. data/lib/rubygems/platform.rb +60 -45
  241. data/lib/rubygems/query_utils.rb +7 -9
  242. data/lib/rubygems/remote_fetcher.rb +15 -15
  243. data/lib/rubygems/request/connection_pools.rb +3 -3
  244. data/lib/rubygems/request.rb +20 -17
  245. data/lib/rubygems/request_set/gem_dependency_api.rb +119 -122
  246. data/lib/rubygems/request_set/lockfile/parser.rb +9 -9
  247. data/lib/rubygems/request_set/lockfile/tokenizer.rb +20 -12
  248. data/lib/rubygems/request_set/lockfile.rb +6 -11
  249. data/lib/rubygems/request_set.rb +5 -5
  250. data/lib/rubygems/requirement.rb +7 -7
  251. data/lib/rubygems/resolv/LICENSE.txt +22 -0
  252. data/lib/rubygems/resolv/lib/resolv.rb +3387 -0
  253. data/lib/rubygems/resolver/activation_request.rb +1 -3
  254. data/lib/rubygems/resolver/api_set/gem_parser.rb +7 -3
  255. data/lib/rubygems/resolver/best_set.rb +1 -1
  256. data/lib/rubygems/resolver/composed_set.rb +1 -1
  257. data/lib/rubygems/resolver/conflict.rb +4 -12
  258. data/lib/rubygems/resolver/index_set.rb +4 -4
  259. data/lib/rubygems/resolver/index_specification.rb +2 -2
  260. data/lib/rubygems/resolver/installer_set.rb +5 -6
  261. data/lib/rubygems/resolver/lock_set.rb +1 -1
  262. data/lib/rubygems/resolver.rb +3 -10
  263. data/lib/rubygems/s3_uri_signer.rb +6 -6
  264. data/lib/rubygems/safe_marshal/elements.rb +138 -0
  265. data/lib/rubygems/safe_marshal/reader.rb +306 -0
  266. data/lib/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  267. data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +385 -0
  268. data/lib/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  269. data/lib/rubygems/safe_marshal.rb +74 -0
  270. data/lib/rubygems/safe_yaml.rb +5 -28
  271. data/lib/rubygems/security/policies.rb +36 -38
  272. data/lib/rubygems/security/policy.rb +7 -11
  273. data/lib/rubygems/security/signer.rb +1 -1
  274. data/lib/rubygems/security/trust_dir.rb +3 -3
  275. data/lib/rubygems/security.rb +8 -22
  276. data/lib/rubygems/source/git.rb +1 -3
  277. data/lib/rubygems/source/installed.rb +0 -2
  278. data/lib/rubygems/source/local.rb +5 -8
  279. data/lib/rubygems/source/lock.rb +1 -3
  280. data/lib/rubygems/source/specific_file.rb +0 -1
  281. data/lib/rubygems/source/vendor.rb +0 -2
  282. data/lib/rubygems/source.rb +12 -12
  283. data/lib/rubygems/source_list.rb +4 -4
  284. data/lib/rubygems/spec_fetcher.rb +29 -29
  285. data/lib/rubygems/specification.rb +125 -138
  286. data/lib/rubygems/specification_policy.rb +55 -25
  287. data/lib/rubygems/stub_specification.rb +4 -5
  288. data/lib/rubygems/text.rb +1 -2
  289. data/lib/rubygems/timeout/LICENSE.txt +22 -0
  290. data/lib/rubygems/timeout/lib/timeout.rb +199 -0
  291. data/lib/rubygems/timeout.rb +3 -0
  292. data/lib/rubygems/tsort/lib/tsort.rb +3 -0
  293. data/lib/rubygems/uninstaller.rb +7 -9
  294. data/lib/rubygems/update_suggestion.rb +5 -18
  295. data/lib/rubygems/uri_formatter.rb +1 -1
  296. data/lib/rubygems/user_interaction.rb +15 -21
  297. data/lib/rubygems/util/licenses.rb +65 -35
  298. data/lib/rubygems/util/list.rb +3 -1
  299. data/lib/rubygems/util.rb +2 -4
  300. data/lib/rubygems/validator.rb +5 -3
  301. data/lib/rubygems/version.rb +34 -28
  302. data/lib/rubygems/version_option.rb +2 -5
  303. data/lib/rubygems/yaml_serializer.rb +3 -3
  304. data/lib/rubygems.rb +37 -37
  305. data/rubygems-update.gemspec +4 -4
  306. data/setup.rb +2 -2
  307. metadata +38 -225
  308. data/lib/rubygems/indexer.rb +0 -428
  309. data/lib/rubygems/mock_gem_ui.rb +0 -86
  310. data/test/rubygems/alternate_cert.pem +0 -19
  311. data/test/rubygems/alternate_cert_32.pem +0 -19
  312. data/test/rubygems/alternate_key.pem +0 -27
  313. data/test/rubygems/bad_rake.rb +0 -3
  314. data/test/rubygems/bundler_test_gem.rb +0 -424
  315. data/test/rubygems/ca_cert.pem +0 -77
  316. data/test/rubygems/child_cert.pem +0 -19
  317. data/test/rubygems/child_cert_32.pem +0 -19
  318. data/test/rubygems/child_key.pem +0 -27
  319. data/test/rubygems/client.pem +0 -107
  320. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  321. data/test/rubygems/data/gem-private_key.pem +0 -27
  322. data/test/rubygems/data/gem-public_cert.pem +0 -20
  323. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  324. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  325. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  326. data/test/rubygems/encrypted_private_key.pem +0 -30
  327. data/test/rubygems/expired_cert.pem +0 -19
  328. data/test/rubygems/fake_certlib/openssl.rb +0 -9
  329. data/test/rubygems/foo/discover.rb +0 -1
  330. data/test/rubygems/future_cert.pem +0 -19
  331. data/test/rubygems/future_cert_32.pem +0 -19
  332. data/test/rubygems/good_rake.rb +0 -3
  333. data/test/rubygems/grandchild_cert.pem +0 -19
  334. data/test/rubygems/grandchild_cert_32.pem +0 -19
  335. data/test/rubygems/grandchild_key.pem +0 -27
  336. data/test/rubygems/helper.rb +0 -1649
  337. data/test/rubygems/installer_test_case.rb +0 -248
  338. data/test/rubygems/invalid_client.pem +0 -49
  339. data/test/rubygems/invalid_issuer_cert.pem +0 -20
  340. data/test/rubygems/invalid_issuer_cert_32.pem +0 -20
  341. data/test/rubygems/invalid_key.pem +0 -27
  342. data/test/rubygems/invalid_signer_cert.pem +0 -19
  343. data/test/rubygems/invalid_signer_cert_32.pem +0 -19
  344. data/test/rubygems/invalidchild_cert.pem +0 -19
  345. data/test/rubygems/invalidchild_cert_32.pem +0 -19
  346. data/test/rubygems/invalidchild_key.pem +0 -27
  347. data/test/rubygems/multifactor_auth_utilities.rb +0 -111
  348. data/test/rubygems/package/tar_test_case.rb +0 -175
  349. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  350. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  351. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  352. data/test/rubygems/plugin/exception/rubygems_plugin.rb +0 -4
  353. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -5
  354. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +0 -4
  355. data/test/rubygems/private3072_key.pem +0 -40
  356. data/test/rubygems/private_ec_key.pem +0 -9
  357. data/test/rubygems/private_key.pem +0 -27
  358. data/test/rubygems/public3072_cert.pem +0 -25
  359. data/test/rubygems/public_cert.pem +0 -20
  360. data/test/rubygems/public_cert_32.pem +0 -19
  361. data/test/rubygems/public_key.pem +0 -9
  362. data/test/rubygems/rubygems/commands/crash_command.rb +0 -5
  363. data/test/rubygems/rubygems_plugin.rb +0 -24
  364. data/test/rubygems/sff/discover.rb +0 -1
  365. data/test/rubygems/simple_gem.rb +0 -68
  366. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -9
  367. data/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec +0 -0
  368. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +0 -14
  369. data/test/rubygems/ssl_cert.pem +0 -80
  370. data/test/rubygems/ssl_key.pem +0 -27
  371. data/test/rubygems/test_bundled_ca.rb +0 -61
  372. data/test/rubygems/test_config.rb +0 -28
  373. data/test/rubygems/test_deprecate.rb +0 -158
  374. data/test/rubygems/test_exit.rb +0 -17
  375. data/test/rubygems/test_gem.rb +0 -1799
  376. data/test/rubygems/test_gem_available_set.rb +0 -130
  377. data/test/rubygems/test_gem_bundler_version_finder.rb +0 -127
  378. data/test/rubygems/test_gem_command.rb +0 -403
  379. data/test/rubygems/test_gem_command_manager.rb +0 -400
  380. data/test/rubygems/test_gem_commands_build_command.rb +0 -739
  381. data/test/rubygems/test_gem_commands_cert_command.rb +0 -866
  382. data/test/rubygems/test_gem_commands_check_command.rb +0 -68
  383. data/test/rubygems/test_gem_commands_cleanup_command.rb +0 -292
  384. data/test/rubygems/test_gem_commands_contents_command.rb +0 -271
  385. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -228
  386. data/test/rubygems/test_gem_commands_environment_command.rb +0 -169
  387. data/test/rubygems/test_gem_commands_exec_command.rb +0 -857
  388. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -258
  389. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -81
  390. data/test/rubygems/test_gem_commands_help_command.rb +0 -94
  391. data/test/rubygems/test_gem_commands_info_command.rb +0 -70
  392. data/test/rubygems/test_gem_commands_install_command.rb +0 -1573
  393. data/test/rubygems/test_gem_commands_list_command.rb +0 -33
  394. data/test/rubygems/test_gem_commands_lock_command.rb +0 -67
  395. data/test/rubygems/test_gem_commands_mirror.rb +0 -20
  396. data/test/rubygems/test_gem_commands_open_command.rb +0 -101
  397. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -50
  398. data/test/rubygems/test_gem_commands_owner_command.rb +0 -503
  399. data/test/rubygems/test_gem_commands_pristine_command.rb +0 -708
  400. data/test/rubygems/test_gem_commands_push_command.rb +0 -603
  401. data/test/rubygems/test_gem_commands_query_command.rb +0 -858
  402. data/test/rubygems/test_gem_commands_search_command.rb +0 -16
  403. data/test/rubygems/test_gem_commands_server_command.rb +0 -20
  404. data/test/rubygems/test_gem_commands_setup_command.rb +0 -474
  405. data/test/rubygems/test_gem_commands_signin_command.rb +0 -259
  406. data/test/rubygems/test_gem_commands_signout_command.rb +0 -30
  407. data/test/rubygems/test_gem_commands_sources_command.rb +0 -534
  408. data/test/rubygems/test_gem_commands_specification_command.rb +0 -277
  409. data/test/rubygems/test_gem_commands_stale_command.rb +0 -43
  410. data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -542
  411. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -224
  412. data/test/rubygems/test_gem_commands_update_command.rb +0 -836
  413. data/test/rubygems/test_gem_commands_which_command.rb +0 -85
  414. data/test/rubygems/test_gem_commands_yank_command.rb +0 -299
  415. data/test/rubygems/test_gem_config_file.rb +0 -551
  416. data/test/rubygems/test_gem_dependency.rb +0 -398
  417. data/test/rubygems/test_gem_dependency_installer.rb +0 -1190
  418. data/test/rubygems/test_gem_dependency_list.rb +0 -265
  419. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -27
  420. data/test/rubygems/test_gem_doctor.rb +0 -195
  421. data/test/rubygems/test_gem_ext_builder.rb +0 -337
  422. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +0 -1
  423. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +0 -10
  424. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +0 -249
  425. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +0 -10
  426. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +0 -27
  427. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +0 -3
  428. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +0 -1
  429. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +0 -249
  430. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +0 -10
  431. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +0 -10
  432. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +0 -51
  433. data/test/rubygems/test_gem_ext_cargo_builder.rb +0 -167
  434. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +0 -34
  435. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -60
  436. data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -84
  437. data/test/rubygems/test_gem_ext_configure_builder.rb +0 -80
  438. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -229
  439. data/test/rubygems/test_gem_ext_rake_builder.rb +0 -113
  440. data/test/rubygems/test_gem_gem_runner.rb +0 -119
  441. data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -361
  442. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -60
  443. data/test/rubygems/test_gem_indexer.rb +0 -381
  444. data/test/rubygems/test_gem_install_update_options.rb +0 -208
  445. data/test/rubygems/test_gem_installer.rb +0 -2512
  446. data/test/rubygems/test_gem_local_remote_options.rb +0 -133
  447. data/test/rubygems/test_gem_name_tuple.rb +0 -43
  448. data/test/rubygems/test_gem_package.rb +0 -1306
  449. data/test/rubygems/test_gem_package_old.rb +0 -91
  450. data/test/rubygems/test_gem_package_tar_header.rb +0 -226
  451. data/test/rubygems/test_gem_package_tar_reader.rb +0 -150
  452. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -350
  453. data/test/rubygems/test_gem_package_tar_writer.rb +0 -331
  454. data/test/rubygems/test_gem_package_task.rb +0 -118
  455. data/test/rubygems/test_gem_path_support.rb +0 -139
  456. data/test/rubygems/test_gem_platform.rb +0 -497
  457. data/test/rubygems/test_gem_rdoc.rb +0 -137
  458. data/test/rubygems/test_gem_remote_fetcher.rb +0 -1227
  459. data/test/rubygems/test_gem_request.rb +0 -547
  460. data/test/rubygems/test_gem_request_connection_pools.rb +0 -152
  461. data/test/rubygems/test_gem_request_set.rb +0 -672
  462. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -853
  463. data/test/rubygems/test_gem_request_set_lockfile.rb +0 -469
  464. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -544
  465. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -307
  466. data/test/rubygems/test_gem_requirement.rb +0 -505
  467. data/test/rubygems/test_gem_resolver.rb +0 -859
  468. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -43
  469. data/test/rubygems/test_gem_resolver_api_set.rb +0 -210
  470. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -167
  471. data/test/rubygems/test_gem_resolver_best_set.rb +0 -159
  472. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -44
  473. data/test/rubygems/test_gem_resolver_conflict.rb +0 -82
  474. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -83
  475. data/test/rubygems/test_gem_resolver_git_set.rb +0 -188
  476. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -114
  477. data/test/rubygems/test_gem_resolver_index_set.rb +0 -88
  478. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -93
  479. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -47
  480. data/test/rubygems/test_gem_resolver_installer_set.rb +0 -320
  481. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -44
  482. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -62
  483. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -98
  484. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -19
  485. data/test/rubygems/test_gem_resolver_specification.rb +0 -63
  486. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -82
  487. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -82
  488. data/test/rubygems/test_gem_security.rb +0 -341
  489. data/test/rubygems/test_gem_security_policy.rb +0 -535
  490. data/test/rubygems/test_gem_security_signer.rb +0 -218
  491. data/test/rubygems/test_gem_security_trust_dir.rb +0 -99
  492. data/test/rubygems/test_gem_silent_ui.rb +0 -123
  493. data/test/rubygems/test_gem_source.rb +0 -254
  494. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -37
  495. data/test/rubygems/test_gem_source_git.rb +0 -310
  496. data/test/rubygems/test_gem_source_installed.rb +0 -35
  497. data/test/rubygems/test_gem_source_list.rb +0 -119
  498. data/test/rubygems/test_gem_source_local.rb +0 -107
  499. data/test/rubygems/test_gem_source_lock.rb +0 -113
  500. data/test/rubygems/test_gem_source_specific_file.rb +0 -76
  501. data/test/rubygems/test_gem_source_subpath_problem.rb +0 -50
  502. data/test/rubygems/test_gem_source_vendor.rb +0 -30
  503. data/test/rubygems/test_gem_spec_fetcher.rb +0 -338
  504. data/test/rubygems/test_gem_specification.rb +0 -3856
  505. data/test/rubygems/test_gem_stream_ui.rb +0 -255
  506. data/test/rubygems/test_gem_stub_specification.rb +0 -278
  507. data/test/rubygems/test_gem_text.rb +0 -103
  508. data/test/rubygems/test_gem_uninstaller.rb +0 -675
  509. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -31
  510. data/test/rubygems/test_gem_update_suggestion.rb +0 -209
  511. data/test/rubygems/test_gem_uri.rb +0 -41
  512. data/test/rubygems/test_gem_uri_formatter.rb +0 -27
  513. data/test/rubygems/test_gem_util.rb +0 -91
  514. data/test/rubygems/test_gem_validator.rb +0 -42
  515. data/test/rubygems/test_gem_version.rb +0 -305
  516. data/test/rubygems/test_gem_version_option.rb +0 -165
  517. data/test/rubygems/test_kernel.rb +0 -124
  518. data/test/rubygems/test_project_sanity.rb +0 -49
  519. data/test/rubygems/test_remote_fetch_error.rb +0 -20
  520. data/test/rubygems/test_require.rb +0 -732
  521. data/test/rubygems/test_rubygems.rb +0 -76
  522. data/test/rubygems/test_webauthn_listener.rb +0 -143
  523. data/test/rubygems/test_webauthn_listener_response.rb +0 -93
  524. data/test/rubygems/test_webauthn_poller.rb +0 -124
  525. data/test/rubygems/utilities.rb +0 -436
  526. data/test/rubygems/wrong_key_cert.pem +0 -19
  527. data/test/rubygems/wrong_key_cert_32.pem +0 -19
  528. 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