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,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
-
5
- class TestGemResolverActivationRequest < Gem::TestCase
6
- def setup
7
- super
8
-
9
- @DR = Gem::Resolver
10
-
11
- @dep = @DR::DependencyRequest.new dep("a", ">= 0"), nil
12
-
13
- source = Gem::Source::Local.new
14
- platform = Gem::Platform::RUBY
15
-
16
- @a3 = @DR::IndexSpecification.new nil, "a", v(3), source, platform
17
-
18
- @req = @DR::ActivationRequest.new @a3, @dep
19
- end
20
-
21
- def test_development_eh
22
- refute @req.development?
23
-
24
- dep_req = @DR::DependencyRequest.new dep("a", ">= 0", :development), nil
25
-
26
- act_req = @DR::ActivationRequest.new @a3, dep_req
27
-
28
- assert act_req.development?
29
- end
30
-
31
- def test_inspect
32
- assert_match "a-3", @req.inspect
33
- assert_match "from a (>= 0)", @req.inspect
34
- end
35
-
36
- def test_installed_eh
37
- v_spec = Gem::Resolver::VendorSpecification.new nil, @a3
38
-
39
- @req = @DR::ActivationRequest.new v_spec, @dep
40
-
41
- assert @req.installed?
42
- end
43
- end
@@ -1,210 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
-
5
- class TestGemResolverAPISet < Gem::TestCase
6
- def setup
7
- super
8
-
9
- @DR = Gem::Resolver
10
- @dep_uri = URI "#{@gem_repo}info/"
11
- end
12
-
13
- def test_initialize
14
- set = @DR::APISet.new
15
-
16
- assert_equal URI("https://index.rubygems.org/info/"), set.dep_uri
17
- assert_equal URI("https://index.rubygems.org/"), set.uri
18
- assert_equal Gem::Source.new(URI("https://index.rubygems.org")), set.source
19
- end
20
-
21
- def test_initialize_deeper_uri
22
- set = @DR::APISet.new "https://rubygemsserver.com/mygems/info"
23
-
24
- assert_equal URI("https://rubygemsserver.com/mygems/info"), set.dep_uri
25
- assert_equal URI("https://rubygemsserver.com/"), set.uri
26
- assert_equal Gem::Source.new(URI("https://rubygemsserver.com/")), set.source
27
- end
28
-
29
- def test_initialize_uri
30
- set = @DR::APISet.new @dep_uri
31
-
32
- assert_equal URI("#{@gem_repo}info/"), set.dep_uri
33
- assert_equal URI("#{@gem_repo}"), set.uri
34
- end
35
-
36
- def test_find_all
37
- spec_fetcher
38
-
39
- data = [
40
- { :name => "a",
41
- :number => "1",
42
- :platform => "ruby",
43
- :dependencies => [] },
44
- ]
45
-
46
- @fetcher.data["#{@dep_uri}a"] = "---\n1 "
47
-
48
- set = @DR::APISet.new @dep_uri
49
-
50
- a_dep = @DR::DependencyRequest.new dep("a"), nil
51
-
52
- expected = [
53
- @DR::APISpecification.new(set, data.first),
54
- ]
55
-
56
- assert_equal expected, set.find_all(a_dep)
57
- end
58
-
59
- def test_find_all_prereleases
60
- spec_fetcher
61
-
62
- data = [
63
- { :name => "a",
64
- :number => "1",
65
- :platform => "ruby",
66
- :dependencies => [] },
67
- { :name => "a",
68
- :number => "2.a",
69
- :platform => "ruby",
70
- :dependencies => [] },
71
- ]
72
-
73
- @fetcher.data["#{@dep_uri}a"] = "---\n1\n2.a"
74
-
75
- set = @DR::APISet.new @dep_uri
76
- set.prerelease = true
77
-
78
- a_dep = @DR::DependencyRequest.new dep("a"), nil
79
-
80
- expected = [
81
- @DR::APISpecification.new(set, data.first),
82
- @DR::APISpecification.new(set, data.last),
83
- ]
84
-
85
- assert_equal expected, set.find_all(a_dep)
86
- end
87
-
88
- def test_find_all_cache
89
- spec_fetcher
90
-
91
- data = [
92
- { :name => "a",
93
- :number => "1",
94
- :platform => "ruby",
95
- :dependencies => [] },
96
- ]
97
-
98
- @fetcher.data["#{@dep_uri}a"] = "---\n1 "
99
-
100
- set = @DR::APISet.new @dep_uri
101
-
102
- a_dep = @DR::DependencyRequest.new dep("a"), nil
103
-
104
- set.prefetch [a_dep]
105
-
106
- expected = [
107
- @DR::APISpecification.new(set, data.first),
108
- ]
109
-
110
- assert_equal expected, set.find_all(a_dep)
111
-
112
- @fetcher.data.delete "#{@dep_uri}a"
113
- end
114
-
115
- def test_find_all_local
116
- set = @DR::APISet.new @dep_uri
117
- set.remote = false
118
-
119
- a_dep = @DR::DependencyRequest.new dep("a"), nil
120
-
121
- assert_empty set.find_all(a_dep)
122
- end
123
-
124
- def test_find_all_missing
125
- spec_fetcher
126
-
127
- @fetcher.data["#{@dep_uri}a"] = "---"
128
-
129
- set = @DR::APISet.new @dep_uri
130
-
131
- a_dep = @DR::DependencyRequest.new dep("a"), nil
132
-
133
- assert_empty set.find_all(a_dep)
134
-
135
- @fetcher.data.delete "#{@dep_uri}a"
136
-
137
- assert_empty set.find_all(a_dep)
138
- end
139
-
140
- def test_prefetch
141
- spec_fetcher
142
-
143
- @fetcher.data["#{@dep_uri}a"] = "---\n1 \n"
144
- @fetcher.data["#{@dep_uri}b"] = "---"
145
-
146
- set = @DR::APISet.new @dep_uri
147
-
148
- a_dep = @DR::DependencyRequest.new dep("a"), nil
149
- b_dep = @DR::DependencyRequest.new dep("b"), nil
150
-
151
- set.prefetch [a_dep, b_dep]
152
-
153
- assert_equal %w[a-1], set.find_all(a_dep).map {|s| s.full_name }
154
- assert_empty set.find_all(b_dep)
155
- end
156
-
157
- def test_prefetch_cache
158
- spec_fetcher
159
-
160
- @fetcher.data["#{@dep_uri}a"] = "---\n1 \n"
161
-
162
- set = @DR::APISet.new @dep_uri
163
-
164
- a_dep = @DR::DependencyRequest.new dep("a"), nil
165
- b_dep = @DR::DependencyRequest.new dep("b"), nil
166
-
167
- set.prefetch [a_dep]
168
-
169
- @fetcher.data.delete "#{@dep_uri}a"
170
- @fetcher.data["#{@dep_uri}?b"] = "---"
171
-
172
- set.prefetch [a_dep, b_dep]
173
- end
174
-
175
- def test_prefetch_cache_missing
176
- spec_fetcher
177
-
178
- @fetcher.data["#{@dep_uri}a"] = "---\n1 \n"
179
- @fetcher.data["#{@dep_uri}b"] = "---"
180
-
181
- set = @DR::APISet.new @dep_uri
182
-
183
- a_dep = @DR::DependencyRequest.new dep("a"), nil
184
- b_dep = @DR::DependencyRequest.new dep("b"), nil
185
-
186
- set.prefetch [a_dep, b_dep]
187
-
188
- @fetcher.data.delete "#{@dep_uri}a"
189
- @fetcher.data.delete "#{@dep_uri}b"
190
-
191
- set.prefetch [a_dep, b_dep]
192
- end
193
-
194
- def test_prefetch_local
195
- spec_fetcher
196
-
197
- @fetcher.data["#{@dep_uri}a"] = "---\n1 \n"
198
- @fetcher.data["#{@dep_uri}b"] = "---"
199
-
200
- set = @DR::APISet.new @dep_uri
201
- set.remote = false
202
-
203
- a_dep = @DR::DependencyRequest.new dep("a"), nil
204
- b_dep = @DR::DependencyRequest.new dep("b"), nil
205
-
206
- set.prefetch [a_dep, b_dep]
207
-
208
- assert_empty set.instance_variable_get :@data
209
- end
210
- end
@@ -1,167 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
-
5
- class TestGemResolverAPISpecification < Gem::TestCase
6
- def test_initialize
7
- set = Gem::Resolver::APISet.new
8
- data = {
9
- :name => "rails",
10
- :number => "3.0.3",
11
- :platform => Gem::Platform.local.to_s,
12
- :dependencies => [
13
- ["bundler", "~> 1.0"],
14
- ["railties", "= 3.0.3"],
15
- ],
16
- }
17
-
18
- spec = Gem::Resolver::APISpecification.new set, data
19
-
20
- assert_equal "rails", spec.name
21
- assert_equal Gem::Version.new("3.0.3"), spec.version
22
- assert_equal Gem::Platform.local, spec.platform
23
-
24
- expected = [
25
- Gem::Dependency.new("bundler", "~> 1.0"),
26
- Gem::Dependency.new("railties", "= 3.0.3"),
27
- ]
28
-
29
- assert_equal expected, spec.dependencies
30
- end
31
-
32
- def test_fetch_development_dependencies
33
- specs = spec_fetcher do |fetcher|
34
- fetcher.spec "rails", "3.0.3" do |s|
35
- s.add_runtime_dependency "bundler", "~> 1.0"
36
- s.add_runtime_dependency "railties", "= 3.0.3"
37
- s.add_development_dependency "a", "= 1"
38
- end
39
- end
40
-
41
- rails = specs["rails-3.0.3"]
42
-
43
- repo = @gem_repo + "info"
44
-
45
- set = Gem::Resolver::APISet.new repo
46
-
47
- data = {
48
- :name => "rails",
49
- :number => "3.0.3",
50
- :platform => "ruby",
51
- :dependencies => [
52
- ["bundler", "~> 1.0"],
53
- ["railties", "= 3.0.3"],
54
- ],
55
- }
56
-
57
- util_setup_spec_fetcher rails
58
-
59
- spec = Gem::Resolver::APISpecification.new set, data
60
-
61
- spec.fetch_development_dependencies
62
-
63
- expected = [
64
- Gem::Dependency.new("bundler", "~> 1.0"),
65
- Gem::Dependency.new("railties", "= 3.0.3"),
66
- Gem::Dependency.new("a", "= 1", :development),
67
- ]
68
-
69
- assert_equal expected, spec.dependencies
70
- end
71
-
72
- def test_installable_platform_eh
73
- set = Gem::Resolver::APISet.new
74
- data = {
75
- :name => "a",
76
- :number => "1",
77
- :platform => "ruby",
78
- :dependencies => [],
79
- }
80
-
81
- a_spec = Gem::Resolver::APISpecification.new set, data
82
-
83
- assert a_spec.installable_platform?
84
-
85
- data = {
86
- :name => "b",
87
- :number => "1",
88
- :platform => "cpu-other_platform-1",
89
- :dependencies => [],
90
- }
91
-
92
- b_spec = Gem::Resolver::APISpecification.new set, data
93
-
94
- refute b_spec.installable_platform?
95
-
96
- data = {
97
- :name => "c",
98
- :number => "1",
99
- :platform => Gem::Platform.local.to_s,
100
- :dependencies => [],
101
- }
102
-
103
- c_spec = Gem::Resolver::APISpecification.new set, data
104
-
105
- assert c_spec.installable_platform?
106
- end
107
-
108
- def test_source
109
- set = Gem::Resolver::APISet.new
110
- data = {
111
- :name => "a",
112
- :number => "1",
113
- :platform => "ruby",
114
- :dependencies => [],
115
- }
116
-
117
- api_spec = Gem::Resolver::APISpecification.new set, data
118
-
119
- assert_equal set.source, api_spec.source
120
- end
121
-
122
- def test_spec
123
- spec_fetcher do |fetcher|
124
- fetcher.spec "a", 1
125
- end
126
-
127
- dep_uri = URI(@gem_repo) + "info"
128
- set = Gem::Resolver::APISet.new dep_uri
129
- data = {
130
- :name => "a",
131
- :number => "1",
132
- :platform => "ruby",
133
- :dependencies => [],
134
- }
135
-
136
- api_spec = Gem::Resolver::APISpecification.new set, data
137
-
138
- spec = api_spec.spec
139
-
140
- assert_kind_of Gem::Specification, spec
141
- assert_equal "a-1", spec.full_name
142
- end
143
-
144
- def test_spec_jruby_platform
145
- spec_fetcher do |fetcher|
146
- fetcher.gem "j", 1 do |spec|
147
- spec.platform = "jruby"
148
- end
149
- end
150
-
151
- dep_uri = URI(@gem_repo) + "info"
152
- set = Gem::Resolver::APISet.new dep_uri
153
- data = {
154
- :name => "j",
155
- :number => "1",
156
- :platform => "jruby",
157
- :dependencies => [],
158
- }
159
-
160
- api_spec = Gem::Resolver::APISpecification.new set, data
161
-
162
- spec = api_spec.spec
163
-
164
- assert_kind_of Gem::Specification, spec
165
- assert_equal "j-1-java", spec.full_name
166
- end
167
- end
@@ -1,159 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
-
5
- class TestGemResolverBestSet < Gem::TestCase
6
- def setup
7
- super
8
-
9
- @DR = Gem::Resolver
10
- end
11
-
12
- def test_initialize
13
- set = @DR::BestSet.new
14
-
15
- assert_empty set.sets
16
- end
17
-
18
- def test_find_all_index
19
- spec_fetcher do |fetcher|
20
- fetcher.spec "a", 1
21
- fetcher.spec "a", 2
22
- fetcher.spec "b", 1
23
- end
24
-
25
- set = @DR::BestSet.new
26
-
27
- dependency = dep "a", "~> 1"
28
-
29
- req = @DR::DependencyRequest.new dependency, nil
30
-
31
- found = set.find_all req
32
-
33
- assert_equal %w[a-1], found.map {|s| s.full_name }
34
- end
35
-
36
- def test_find_all_fallback
37
- spec_fetcher do |fetcher|
38
- fetcher.spec "a", 1
39
- end
40
-
41
- set = @DR::BestSet.new
42
-
43
- api_uri = URI(@gem_repo)
44
-
45
- set.sets << Gem::Resolver::APISet.new(api_uri)
46
-
47
- dependency = dep "a", "~> 1"
48
-
49
- req = @DR::DependencyRequest.new dependency, nil
50
-
51
- found = set.find_all req
52
-
53
- assert_equal %w[a-1], found.map {|s| s.full_name }
54
- end
55
-
56
- def test_find_all_local
57
- spec_fetcher do |fetcher|
58
- fetcher.spec "a", 1
59
- fetcher.spec "a", 2
60
- fetcher.spec "b", 1
61
- end
62
-
63
- set = @DR::BestSet.new
64
- set.remote = false
65
-
66
- dependency = dep "a", "~> 1"
67
-
68
- req = @DR::DependencyRequest.new dependency, nil
69
-
70
- found = set.find_all req
71
-
72
- assert_empty found
73
- end
74
-
75
- def test_prefetch
76
- spec_fetcher do |fetcher|
77
- fetcher.spec "a", 1
78
- end
79
-
80
- set = @DR::BestSet.new
81
-
82
- set.prefetch []
83
-
84
- refute_empty set.sets
85
- end
86
-
87
- def test_prefetch_local
88
- spec_fetcher do |fetcher|
89
- fetcher.spec "a", 1
90
- end
91
-
92
- set = @DR::BestSet.new
93
- set.remote = false
94
-
95
- set.prefetch []
96
-
97
- assert_empty set.sets
98
- end
99
-
100
- def test_replace_failed_api_set
101
- set = @DR::BestSet.new
102
-
103
- api_uri = URI(@gem_repo) + "./info/"
104
- api_set = Gem::Resolver::APISet.new api_uri
105
-
106
- set.sets << api_set
107
-
108
- error_uri = api_uri + "a"
109
-
110
- error = Gem::RemoteFetcher::FetchError.new "bogus", error_uri
111
-
112
- set.replace_failed_api_set error
113
-
114
- assert_equal 1, set.sets.size
115
-
116
- refute_includes set.sets, api_set
117
-
118
- assert_kind_of Gem::Resolver::IndexSet, set.sets.first
119
- end
120
-
121
- def test_replace_failed_api_set_no_api_set
122
- set = @DR::BestSet.new
123
-
124
- index_set = Gem::Resolver::IndexSet.new Gem::Source.new @gem_repo
125
-
126
- set.sets << index_set
127
-
128
- error = Gem::RemoteFetcher::FetchError.new "bogus", @gem_repo
129
-
130
- e = assert_raise Gem::RemoteFetcher::FetchError do
131
- set.replace_failed_api_set error
132
- end
133
-
134
- assert_equal error, e
135
- end
136
-
137
- def test_replace_failed_api_set_uri_with_credentials
138
- set = @DR::BestSet.new
139
-
140
- api_uri = URI(@gem_repo) + "./info/"
141
- api_uri.user = "user"
142
- api_uri.password = "pass"
143
- api_set = Gem::Resolver::APISet.new api_uri
144
-
145
- set.sets << api_set
146
-
147
- error_uri = api_uri + "a"
148
-
149
- error = Gem::RemoteFetcher::FetchError.new "bogus", error_uri
150
-
151
- set.replace_failed_api_set error
152
-
153
- assert_equal 1, set.sets.size
154
-
155
- refute_includes set.sets, api_set
156
-
157
- assert_kind_of Gem::Resolver::IndexSet, set.sets.first
158
- end
159
- end
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
-
5
- class TestGemResolverComposedSet < Gem::TestCase
6
- def test_errors
7
- index_set = Gem::Resolver::IndexSet.new
8
- current_set = Gem::Resolver::CurrentSet.new
9
-
10
- set = Gem::Resolver::ComposedSet.new index_set, current_set
11
-
12
- set.instance_variable_get(:@errors) << :a
13
- current_set.errors << :b
14
-
15
- assert_includes set.errors, :a
16
- assert_includes set.errors, :b
17
- assert_includes set.errors, index_set.errors.first
18
- end
19
-
20
- def test_prerelease_equals
21
- best_set = Gem::Resolver::BestSet.new
22
- current_set = Gem::Resolver::CurrentSet.new
23
-
24
- set = Gem::Resolver::ComposedSet.new best_set, current_set
25
-
26
- set.prerelease = true
27
-
28
- assert set.prerelease
29
- assert best_set.prerelease
30
- assert current_set.prerelease
31
- end
32
-
33
- def test_remote_equals
34
- best_set = Gem::Resolver::BestSet.new
35
- current_set = Gem::Resolver::CurrentSet.new
36
-
37
- set = Gem::Resolver::ComposedSet.new best_set, current_set
38
-
39
- set.remote = false
40
-
41
- refute best_set.remote?
42
- refute current_set.remote?
43
- end
44
- end
@@ -1,82 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
-
5
- class TestGemResolverConflict < Gem::TestCase
6
- def test_explanation
7
- root =
8
- dependency_request dep("net-ssh", ">= 2.0.13"), "rye", "0.9.8"
9
- child =
10
- dependency_request dep("net-ssh", ">= 2.6.5"), "net-ssh", "2.2.2", root
11
-
12
- dep = Gem::Resolver::DependencyRequest.new dep("net-ssh", ">= 2.0.13"), nil
13
-
14
- spec = util_spec "net-ssh", "2.2.2"
15
- active =
16
- Gem::Resolver::ActivationRequest.new spec, dep
17
-
18
- conflict =
19
- Gem::Resolver::Conflict.new child, active
20
-
21
- expected = <<-EXPECTED
22
- Activated net-ssh-2.2.2
23
- which does not match conflicting dependency (>= 2.6.5)
24
-
25
- Conflicting dependency chains:
26
- net-ssh (>= 2.0.13), 2.2.2 activated
27
-
28
- versus:
29
- rye (= 0.9.8), 0.9.8 activated, depends on
30
- net-ssh (>= 2.0.13), 2.2.2 activated, depends on
31
- net-ssh (>= 2.6.5)
32
-
33
- EXPECTED
34
-
35
- assert_equal expected, conflict.explanation
36
- end
37
-
38
- def test_explanation_user_request
39
- @DR = Gem::Resolver
40
-
41
- spec = util_spec "a", 2
42
-
43
- a1_req = @DR::DependencyRequest.new dep("a", "= 1"), nil
44
- a2_req = @DR::DependencyRequest.new dep("a", "= 2"), nil
45
-
46
- activated = @DR::ActivationRequest.new spec, a2_req
47
-
48
- conflict = @DR::Conflict.new a1_req, activated
49
-
50
- expected = <<-EXPECTED
51
- Activated a-2
52
- which does not match conflicting dependency (= 1)
53
-
54
- Conflicting dependency chains:
55
- a (= 2), 2 activated
56
-
57
- versus:
58
- a (= 1)
59
-
60
- EXPECTED
61
-
62
- assert_equal expected, conflict.explanation
63
- end
64
-
65
- def test_request_path
66
- root =
67
- dependency_request dep("net-ssh", ">= 2.0.13"), "rye", "0.9.8"
68
-
69
- child =
70
- dependency_request dep("other", ">= 1.0"), "net-ssh", "2.2.2", root
71
-
72
- conflict =
73
- Gem::Resolver::Conflict.new nil, nil
74
-
75
- expected = [
76
- "net-ssh (>= 2.0.13), 2.2.2 activated",
77
- "rye (= 0.9.8), 0.9.8 activated",
78
- ]
79
-
80
- assert_equal expected, conflict.request_path(child.requester)
81
- end
82
- end