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,497 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
- require "rubygems/platform"
5
- require "rbconfig"
6
-
7
- class TestGemPlatform < Gem::TestCase
8
- def test_self_local
9
- util_set_arch "i686-darwin8.10.1"
10
-
11
- assert_equal Gem::Platform.new(%w[x86 darwin 8]), Gem::Platform.local
12
- end
13
-
14
- def test_self_match
15
- Gem::Deprecate.skip_during do
16
- assert Gem::Platform.match(nil), "nil == ruby"
17
- assert Gem::Platform.match(Gem::Platform.local), "exact match"
18
- assert Gem::Platform.match(Gem::Platform.local.to_s), "=~ match"
19
- assert Gem::Platform.match(Gem::Platform::RUBY), "ruby"
20
- end
21
- end
22
-
23
- def test_self_match_gem?
24
- assert Gem::Platform.match_gem?(nil, "json"), "nil == ruby"
25
- assert Gem::Platform.match_gem?(Gem::Platform.local, "json"), "exact match"
26
- assert Gem::Platform.match_gem?(Gem::Platform.local.to_s, "json"), "=~ match"
27
- assert Gem::Platform.match_gem?(Gem::Platform::RUBY, "json"), "ruby"
28
- end
29
-
30
- def test_self_match_spec?
31
- make_spec = -> platform do
32
- util_spec "mygem-for-platform-match_spec", "1" do |s|
33
- s.platform = platform
34
- end
35
- end
36
-
37
- assert Gem::Platform.match_spec?(make_spec.call(nil)), "nil == ruby"
38
- assert Gem::Platform.match_spec?(make_spec.call(Gem::Platform.local)), "exact match"
39
- assert Gem::Platform.match_spec?(make_spec.call(Gem::Platform.local.to_s)), "=~ match"
40
- assert Gem::Platform.match_spec?(make_spec.call(Gem::Platform::RUBY)), "ruby"
41
- end
42
-
43
- def test_self_match_spec_with_match_gem_override
44
- make_spec = -> name, platform do
45
- util_spec name, "1" do |s|
46
- s.platform = platform
47
- end
48
- end
49
-
50
- class << Gem::Platform
51
- alias_method :original_match_gem?, :match_gem?
52
- def match_gem?(platform, gem_name)
53
- # e.g., sassc and libv8 are such gems, their native extensions do not use the Ruby C API
54
- if gem_name == "gem-with-ruby-impl-independent-precompiled-ext"
55
- match_platforms?(platform, [Gem::Platform::RUBY, Gem::Platform.local])
56
- else
57
- match_platforms?(platform, Gem.platforms)
58
- end
59
- end
60
- end
61
-
62
- platforms = Gem.platforms
63
- Gem.platforms = [Gem::Platform::RUBY]
64
- begin
65
- assert_equal true, Gem::Platform.match_spec?(make_spec.call("mygem", Gem::Platform::RUBY))
66
- assert_equal false, Gem::Platform.match_spec?(make_spec.call("mygem", Gem::Platform.local))
67
-
68
- name = "gem-with-ruby-impl-independent-precompiled-ext"
69
- assert_equal true, Gem::Platform.match_spec?(make_spec.call(name, Gem::Platform.local))
70
- ensure
71
- Gem.platforms = platforms
72
- class << Gem::Platform
73
- remove_method :match_gem?
74
- alias_method :match_gem?, :original_match_gem? # rubocop:disable Lint/DuplicateMethods
75
- remove_method :original_match_gem?
76
- end
77
- end
78
- end
79
-
80
- def test_self_new
81
- assert_equal Gem::Platform.local, Gem::Platform.new(Gem::Platform::CURRENT)
82
- assert_equal Gem::Platform::RUBY, Gem::Platform.new(Gem::Platform::RUBY)
83
- assert_equal Gem::Platform::RUBY, Gem::Platform.new(nil)
84
- assert_equal Gem::Platform::RUBY, Gem::Platform.new("")
85
- end
86
-
87
- def test_initialize
88
- test_cases = {
89
- "amd64-freebsd6" => ["amd64", "freebsd", "6"],
90
- "java" => [nil, "java", nil],
91
- "jruby" => [nil, "java", nil],
92
- "universal-dotnet" => ["universal", "dotnet", nil],
93
- "universal-dotnet2.0" => ["universal", "dotnet", "2.0"],
94
- "universal-dotnet4.0" => ["universal", "dotnet", "4.0"],
95
- "powerpc-aix5.3.0.0" => ["powerpc", "aix", "5"],
96
- "powerpc-darwin7" => ["powerpc", "darwin", "7"],
97
- "powerpc-darwin8" => ["powerpc", "darwin", "8"],
98
- "powerpc-linux" => ["powerpc", "linux", nil],
99
- "powerpc64-linux" => ["powerpc64", "linux", nil],
100
- "sparc-solaris2.10" => ["sparc", "solaris", "2.10"],
101
- "sparc-solaris2.8" => ["sparc", "solaris", "2.8"],
102
- "sparc-solaris2.9" => ["sparc", "solaris", "2.9"],
103
- "universal-darwin8" => ["universal", "darwin", "8"],
104
- "universal-darwin9" => ["universal", "darwin", "9"],
105
- "universal-macruby" => ["universal", "macruby", nil],
106
- "i386-cygwin" => ["x86", "cygwin", nil],
107
- "i686-darwin" => ["x86", "darwin", nil],
108
- "i686-darwin8.4.1" => ["x86", "darwin", "8"],
109
- "i386-freebsd4.11" => ["x86", "freebsd", "4"],
110
- "i386-freebsd5" => ["x86", "freebsd", "5"],
111
- "i386-freebsd6" => ["x86", "freebsd", "6"],
112
- "i386-freebsd7" => ["x86", "freebsd", "7"],
113
- "i386-freebsd" => ["x86", "freebsd", nil],
114
- "universal-freebsd" => ["universal", "freebsd", nil],
115
- "i386-java1.5" => ["x86", "java", "1.5"],
116
- "x86-java1.6" => ["x86", "java", "1.6"],
117
- "i386-java1.6" => ["x86", "java", "1.6"],
118
- "i686-linux" => ["x86", "linux", nil],
119
- "i586-linux" => ["x86", "linux", nil],
120
- "i486-linux" => ["x86", "linux", nil],
121
- "i386-linux" => ["x86", "linux", nil],
122
- "i586-linux-gnu" => ["x86", "linux", "gnu"],
123
- "i386-linux-gnu" => ["x86", "linux", "gnu"],
124
- "i386-mingw32" => ["x86", "mingw32", nil],
125
- "x64-mingw-ucrt" => ["x64", "mingw", "ucrt"],
126
- "i386-mswin32" => ["x86", "mswin32", nil],
127
- "i386-mswin32_80" => ["x86", "mswin32", "80"],
128
- "i386-mswin32-80" => ["x86", "mswin32", "80"],
129
- "x86-mswin32" => ["x86", "mswin32", nil],
130
- "x86-mswin32_60" => ["x86", "mswin32", "60"],
131
- "x86-mswin32-60" => ["x86", "mswin32", "60"],
132
- "i386-netbsdelf" => ["x86", "netbsdelf", nil],
133
- "i386-openbsd4.0" => ["x86", "openbsd", "4.0"],
134
- "i386-solaris2.10" => ["x86", "solaris", "2.10"],
135
- "i386-solaris2.8" => ["x86", "solaris", "2.8"],
136
- "mswin32" => ["x86", "mswin32", nil],
137
- "x86_64-linux" => ["x86_64", "linux", nil],
138
- "x86_64-linux-gnu" => ["x86_64", "linux", "gnu"],
139
- "x86_64-linux-musl" => ["x86_64", "linux", "musl"],
140
- "x86_64-linux-uclibc" => ["x86_64", "linux", "uclibc"],
141
- "arm-linux-eabi" => ["arm", "linux", "eabi"],
142
- "arm-linux-gnueabi" => ["arm", "linux", "gnueabi"],
143
- "arm-linux-musleabi" => ["arm", "linux", "musleabi"],
144
- "arm-linux-uclibceabi" => ["arm", "linux", "uclibceabi"],
145
- "x86_64-openbsd3.9" => ["x86_64", "openbsd", "3.9"],
146
- "x86_64-openbsd4.0" => ["x86_64", "openbsd", "4.0"],
147
- "x86_64-openbsd" => ["x86_64", "openbsd", nil],
148
- }
149
-
150
- test_cases.each do |arch, expected|
151
- platform = Gem::Platform.new arch
152
- assert_equal expected, platform.to_a, arch.inspect
153
- assert_equal expected, Gem::Platform.new(platform.to_s).to_a, arch.inspect
154
- end
155
- end
156
-
157
- def test_initialize_command_line
158
- expected = ["x86", "mswin32", nil]
159
-
160
- platform = Gem::Platform.new "i386-mswin32"
161
-
162
- assert_equal expected, platform.to_a, "i386-mswin32"
163
-
164
- expected = ["x86", "mswin32", "80"]
165
-
166
- platform = Gem::Platform.new "i386-mswin32-80"
167
-
168
- assert_equal expected, platform.to_a, "i386-mswin32-80"
169
-
170
- expected = ["x86", "solaris", "2.10"]
171
-
172
- platform = Gem::Platform.new "i386-solaris-2.10"
173
-
174
- assert_equal expected, platform.to_a, "i386-solaris-2.10"
175
- end
176
-
177
- def test_initialize_mswin32_vc6
178
- orig_RUBY_SO_NAME = RbConfig::CONFIG["RUBY_SO_NAME"]
179
- RbConfig::CONFIG["RUBY_SO_NAME"] = "msvcrt-ruby18"
180
-
181
- expected = ["x86", "mswin32", nil]
182
-
183
- platform = Gem::Platform.new "i386-mswin32"
184
-
185
- assert_equal expected, platform.to_a, "i386-mswin32 VC6"
186
- ensure
187
- if orig_RUBY_SO_NAME
188
- RbConfig::CONFIG["RUBY_SO_NAME"] = orig_RUBY_SO_NAME
189
- else
190
- RbConfig::CONFIG.delete "RUBY_SO_NAME"
191
- end
192
- end
193
-
194
- def test_initialize_platform
195
- platform = Gem::Platform.new "cpu-my_platform1"
196
-
197
- assert_equal "cpu", platform.cpu
198
- assert_equal "my_platform", platform.os
199
- assert_equal "1", platform.version
200
- end
201
-
202
- def test_initialize_test
203
- platform = Gem::Platform.new "cpu-my_platform1"
204
- assert_equal "cpu", platform.cpu
205
- assert_equal "my_platform", platform.os
206
- assert_equal "1", platform.version
207
-
208
- platform = Gem::Platform.new "cpu-other_platform1"
209
- assert_equal "cpu", platform.cpu
210
- assert_equal "other_platform", platform.os
211
- assert_equal "1", platform.version
212
- end
213
-
214
- def test_to_s
215
- if win_platform?
216
- assert_equal "x86-mswin32-60", Gem::Platform.local.to_s
217
- else
218
- assert_equal "x86-darwin-8", Gem::Platform.local.to_s
219
- end
220
- end
221
-
222
- def test_equals2
223
- my = Gem::Platform.new %w[cpu my_platform 1]
224
- other = Gem::Platform.new %w[cpu other_platform 1]
225
-
226
- assert_equal my, my
227
- refute_equal my, other
228
- refute_equal other, my
229
- end
230
-
231
- def test_equals3
232
- my = Gem::Platform.new %w[cpu my_platform 1]
233
- other = Gem::Platform.new %w[cpu other_platform 1]
234
-
235
- assert(my === my)
236
- refute(other === my)
237
- refute(my === other)
238
- end
239
-
240
- def test_equals3_cpu
241
- ppc_darwin8 = Gem::Platform.new "powerpc-darwin8.0"
242
- uni_darwin8 = Gem::Platform.new "universal-darwin8.0"
243
- x86_darwin8 = Gem::Platform.new "i686-darwin8.0"
244
-
245
- util_set_arch "powerpc-darwin8"
246
- assert((ppc_darwin8 === Gem::Platform.local), "powerpc =~ universal")
247
- assert((uni_darwin8 === Gem::Platform.local), "powerpc =~ universal")
248
- refute((x86_darwin8 === Gem::Platform.local), "powerpc =~ universal")
249
-
250
- util_set_arch "i686-darwin8"
251
- refute((ppc_darwin8 === Gem::Platform.local), "powerpc =~ universal")
252
- assert((uni_darwin8 === Gem::Platform.local), "x86 =~ universal")
253
- assert((x86_darwin8 === Gem::Platform.local), "powerpc =~ universal")
254
-
255
- util_set_arch "universal-darwin8"
256
- assert((ppc_darwin8 === Gem::Platform.local), "universal =~ ppc")
257
- assert((uni_darwin8 === Gem::Platform.local), "universal =~ universal")
258
- assert((x86_darwin8 === Gem::Platform.local), "universal =~ x86")
259
- end
260
-
261
- def test_nil_cpu_arch_is_treated_as_universal
262
- with_nil_arch = Gem::Platform.new [nil, "mingw32"]
263
- with_uni_arch = Gem::Platform.new ["universal", "mingw32"]
264
- with_x86_arch = Gem::Platform.new ["x86", "mingw32"]
265
-
266
- assert((with_nil_arch === with_uni_arch), "nil =~ universal")
267
- assert((with_uni_arch === with_nil_arch), "universal =~ nil")
268
- assert((with_nil_arch === with_x86_arch), "nil =~ x86")
269
- assert((with_x86_arch === with_nil_arch), "x86 =~ nil")
270
- end
271
-
272
- def test_nil_version_is_treated_as_any_version
273
- x86_darwin_8 = Gem::Platform.new "i686-darwin8.0"
274
- x86_darwin_nil = Gem::Platform.new "i686-darwin"
275
-
276
- assert((x86_darwin_8 === x86_darwin_nil), "8.0 =~ nil")
277
- assert((x86_darwin_nil === x86_darwin_8), "nil =~ 8.0")
278
- end
279
-
280
- def test_nil_version_is_stricter_for_linux_os
281
- x86_linux = Gem::Platform.new "i686-linux"
282
- x86_linux_gnu = Gem::Platform.new "i686-linux-gnu"
283
- x86_linux_musl = Gem::Platform.new "i686-linux-musl"
284
- x86_linux_uclibc = Gem::Platform.new "i686-linux-uclibc"
285
-
286
- # a naked linux runtime is implicit gnu, as it represents the common glibc-linked runtime
287
- assert(x86_linux === x86_linux_gnu, "linux =~ linux-gnu")
288
- assert(x86_linux_gnu === x86_linux, "linux-gnu =~ linux")
289
-
290
- # musl and explicit gnu should differ
291
- refute(x86_linux_gnu === x86_linux_musl, "linux-gnu =~ linux-musl")
292
- refute(x86_linux_musl === x86_linux_gnu, "linux-musl =~ linux-gnu")
293
-
294
- # explicit libc differ
295
- refute(x86_linux_uclibc === x86_linux_musl, "linux-uclibc =~ linux-musl")
296
- refute(x86_linux_musl === x86_linux_uclibc, "linux-musl =~ linux-uclibc")
297
-
298
- # musl host runtime accepts libc-generic or statically linked gems...
299
- assert(x86_linux === x86_linux_musl, "linux =~ linux-musl")
300
- # ...but implicit gnu runtime generally does not accept musl-specific gems
301
- refute(x86_linux_musl === x86_linux, "linux-musl =~ linux")
302
-
303
- # other libc are not glibc compatible
304
- refute(x86_linux === x86_linux_uclibc, "linux =~ linux-uclibc")
305
- refute(x86_linux_uclibc === x86_linux, "linux-uclibc =~ linux")
306
- end
307
-
308
- def test_eabi_version_is_stricter_for_linux_os
309
- arm_linux_eabi = Gem::Platform.new "arm-linux-eabi"
310
- arm_linux_gnueabi = Gem::Platform.new "arm-linux-gnueabi"
311
- arm_linux_musleabi = Gem::Platform.new "arm-linux-musleabi"
312
- arm_linux_uclibceabi = Gem::Platform.new "arm-linux-uclibceabi"
313
-
314
- # a naked linux runtime is implicit gnu, as it represents the common glibc-linked runtime
315
- assert(arm_linux_eabi === arm_linux_gnueabi, "linux-eabi =~ linux-gnueabi")
316
- assert(arm_linux_gnueabi === arm_linux_eabi, "linux-gnueabi =~ linux-eabi")
317
-
318
- # musl and explicit gnu should differ
319
- refute(arm_linux_gnueabi === arm_linux_musleabi, "linux-gnueabi =~ linux-musleabi")
320
- refute(arm_linux_musleabi === arm_linux_gnueabi, "linux-musleabi =~ linux-gnueabi")
321
-
322
- # explicit libc differ
323
- refute(arm_linux_uclibceabi === arm_linux_musleabi, "linux-uclibceabi =~ linux-musleabi")
324
- refute(arm_linux_musleabi === arm_linux_uclibceabi, "linux-musleabi =~ linux-uclibceabi")
325
-
326
- # musl host runtime accepts libc-generic or statically linked gems...
327
- assert(arm_linux_eabi === arm_linux_musleabi, "linux-eabi =~ linux-musleabi")
328
- # ...but implicit gnu runtime generally does not accept musl-specific gems
329
- refute(arm_linux_musleabi === arm_linux_eabi, "linux-musleabi =~ linux-eabi")
330
-
331
- # other libc are not glibc compatible
332
- refute(arm_linux_eabi === arm_linux_uclibceabi, "linux-eabi =~ linux-uclibceabi")
333
- refute(arm_linux_uclibceabi === arm_linux_eabi, "linux-uclibceabi =~ linux-eabi")
334
- end
335
-
336
- def test_eabi_and_nil_version_combination_strictness
337
- arm_linux = Gem::Platform.new "arm-linux"
338
- arm_linux_eabi = Gem::Platform.new "arm-linux-eabi"
339
- arm_linux_eabihf = Gem::Platform.new "arm-linux-eabihf"
340
- arm_linux_gnueabi = Gem::Platform.new "arm-linux-gnueabi"
341
- arm_linux_gnueabihf = Gem::Platform.new "arm-linux-gnueabihf"
342
- arm_linux_musleabi = Gem::Platform.new "arm-linux-musleabi"
343
- arm_linux_musleabihf = Gem::Platform.new "arm-linux-musleabihf"
344
- arm_linux_uclibceabi = Gem::Platform.new "arm-linux-uclibceabi"
345
- arm_linux_uclibceabihf = Gem::Platform.new "arm-linux-uclibceabihf"
346
-
347
- # generic arm host runtime with eabi modifier accepts generic arm gems
348
- assert(arm_linux === arm_linux_eabi, "arm-linux =~ arm-linux-eabi")
349
- assert(arm_linux === arm_linux_eabihf, "arm-linux =~ arm-linux-eabihf")
350
-
351
- # explicit gnu arm host runtime with eabi modifier accepts generic arm gems
352
- assert(arm_linux === arm_linux_gnueabi, "arm-linux =~ arm-linux-gnueabi")
353
- assert(arm_linux === arm_linux_gnueabihf, "arm-linux =~ arm-linux-gnueabihf")
354
-
355
- # musl arm host runtime accepts libc-generic or statically linked gems...
356
- assert(arm_linux === arm_linux_musleabi, "arm-linux =~ arm-linux-musleabi")
357
- assert(arm_linux === arm_linux_musleabihf, "arm-linux =~ arm-linux-musleabihf")
358
-
359
- # other libc arm hosts are not glibc compatible
360
- refute(arm_linux === arm_linux_uclibceabi, "arm-linux =~ arm-linux-uclibceabi")
361
- refute(arm_linux === arm_linux_uclibceabihf, "arm-linux =~ arm-linux-uclibceabihf")
362
- end
363
-
364
- def test_equals3_cpu_arm
365
- arm = Gem::Platform.new "arm-linux"
366
- armv5 = Gem::Platform.new "armv5-linux"
367
- armv7 = Gem::Platform.new "armv7-linux"
368
-
369
- util_set_arch "armv5-linux"
370
- assert((arm === Gem::Platform.local), "arm === armv5")
371
- assert((armv5 === Gem::Platform.local), "armv5 === armv5")
372
- refute((armv7 === Gem::Platform.local), "armv7 === armv5")
373
- refute((Gem::Platform.local === arm), "armv5 === arm")
374
-
375
- util_set_arch "armv7-linux"
376
- assert((arm === Gem::Platform.local), "arm === armv7")
377
- refute((armv5 === Gem::Platform.local), "armv5 === armv7")
378
- assert((armv7 === Gem::Platform.local), "armv7 === armv7")
379
- refute((Gem::Platform.local === arm), "armv7 === arm")
380
- end
381
-
382
- def test_equals3_universal_mingw
383
- uni_mingw = Gem::Platform.new "universal-mingw"
384
- mingw32 = Gem::Platform.new "x64-mingw32"
385
- mingw_ucrt = Gem::Platform.new "x64-mingw-ucrt"
386
-
387
- util_set_arch "x64-mingw32"
388
- assert((uni_mingw === Gem::Platform.local), "uni_mingw === mingw32")
389
- assert((mingw32 === Gem::Platform.local), "mingw32 === mingw32")
390
- refute((mingw_ucrt === Gem::Platform.local), "mingw32 === mingw_ucrt")
391
-
392
- util_set_arch "x64-mingw-ucrt"
393
- assert((uni_mingw === Gem::Platform.local), "uni_mingw === mingw32")
394
- assert((mingw_ucrt === Gem::Platform.local), "mingw_ucrt === mingw_ucrt")
395
- refute((mingw32 === Gem::Platform.local), "mingw32 === mingw_ucrt")
396
- end
397
-
398
- def test_equals3_version
399
- util_set_arch "i686-darwin8"
400
-
401
- x86_darwin = Gem::Platform.new ["x86", "darwin", nil]
402
- x86_darwin7 = Gem::Platform.new ["x86", "darwin", "7"]
403
- x86_darwin8 = Gem::Platform.new ["x86", "darwin", "8"]
404
- x86_darwin9 = Gem::Platform.new ["x86", "darwin", "9"]
405
-
406
- assert((x86_darwin === Gem::Platform.local), "x86_darwin === x86_darwin8")
407
- assert((x86_darwin8 === Gem::Platform.local), "x86_darwin8 === x86_darwin8")
408
-
409
- refute((x86_darwin7 === Gem::Platform.local), "x86_darwin7 === x86_darwin8")
410
- refute((x86_darwin9 === Gem::Platform.local), "x86_darwin9 === x86_darwin8")
411
- end
412
-
413
- def test_equals_tilde
414
- util_set_arch "i386-mswin32"
415
-
416
- assert_local_match "mswin32"
417
- assert_local_match "i386-mswin32"
418
-
419
- # oddballs
420
- assert_local_match "i386-mswin32-mq5.3"
421
- assert_local_match "i386-mswin32-mq6"
422
- refute_local_match "win32-1.8.2-VC7"
423
- refute_local_match "win32-1.8.4-VC6"
424
- refute_local_match "win32-source"
425
- refute_local_match "windows"
426
-
427
- util_set_arch "i686-linux"
428
- assert_local_match "i486-linux"
429
- assert_local_match "i586-linux"
430
- assert_local_match "i686-linux"
431
-
432
- util_set_arch "i686-darwin8"
433
- assert_local_match "i686-darwin8.4.1"
434
- assert_local_match "i686-darwin8.8.2"
435
-
436
- util_set_arch "java"
437
- assert_local_match "java"
438
- assert_local_match "jruby"
439
-
440
- util_set_arch "universal-dotnet2.0"
441
- assert_local_match "universal-dotnet"
442
- assert_local_match "universal-dotnet-2.0"
443
- refute_local_match "universal-dotnet-4.0"
444
- assert_local_match "dotnet"
445
- assert_local_match "dotnet-2.0"
446
- refute_local_match "dotnet-4.0"
447
-
448
- util_set_arch "universal-dotnet4.0"
449
- assert_local_match "universal-dotnet"
450
- refute_local_match "universal-dotnet-2.0"
451
- assert_local_match "universal-dotnet-4.0"
452
- assert_local_match "dotnet"
453
- refute_local_match "dotnet-2.0"
454
- assert_local_match "dotnet-4.0"
455
-
456
- util_set_arch "universal-macruby-1.0"
457
- assert_local_match "universal-macruby"
458
- assert_local_match "macruby"
459
- refute_local_match "universal-macruby-0.10"
460
- assert_local_match "universal-macruby-1.0"
461
-
462
- util_set_arch "powerpc-darwin"
463
- assert_local_match "powerpc-darwin"
464
-
465
- util_set_arch "powerpc-darwin7"
466
- assert_local_match "powerpc-darwin7.9.0"
467
-
468
- util_set_arch "powerpc-darwin8"
469
- assert_local_match "powerpc-darwin8.10.0"
470
-
471
- util_set_arch "sparc-solaris2.8"
472
- assert_local_match "sparc-solaris2.8-mq5.3"
473
- end
474
-
475
- def test_inspect
476
- result = Gem::Platform.new("universal-java11").inspect
477
-
478
- assert_equal 1, result.scan(/@cpu=/).size
479
- assert_equal 1, result.scan(/@os=/).size
480
- assert_equal 1, result.scan(/@version=/).size
481
- end
482
-
483
- def test_gem_platform_match_with_string_argument
484
- util_set_arch "x86_64-linux-musl"
485
-
486
- assert(Gem::Platform.match(Gem::Platform.new("x86_64-linux")), "should match Gem::Platform")
487
- assert(Gem::Platform.match("x86_64-linux"), "should match String platform")
488
- end
489
-
490
- def assert_local_match(name)
491
- assert_match Gem::Platform.local, name
492
- end
493
-
494
- def refute_local_match(name)
495
- refute_match Gem::Platform.local, name
496
- end
497
- end
@@ -1,137 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rubygems"
4
- require_relative "helper"
5
- require "rubygems/rdoc"
6
-
7
- class TestGemRDoc < Gem::TestCase
8
- Gem::RDoc.load_rdoc
9
-
10
- def setup
11
- super
12
-
13
- @a = util_spec "a" do |s|
14
- s.rdoc_options = %w[--main MyTitle]
15
- s.extra_rdoc_files = %w[README]
16
- end
17
-
18
- write_file File.join(@tempdir, "lib", "a.rb")
19
- write_file File.join(@tempdir, "README")
20
-
21
- install_gem @a
22
-
23
- @hook = Gem::RDoc.new @a
24
-
25
- begin
26
- Gem::RDoc.load_rdoc
27
- rescue Gem::DocumentError => e
28
- pend e.message
29
- end
30
-
31
- Gem.configuration[:rdoc] = nil
32
- end
33
-
34
- def test_initialize
35
- refute @hook.generate_rdoc
36
- assert @hook.generate_ri
37
-
38
- rdoc = Gem::RDoc.new @a, false, false
39
-
40
- refute rdoc.generate_rdoc
41
- refute rdoc.generate_ri
42
- end
43
-
44
- def test_delete_legacy_args
45
- args = %w[
46
- --inline-source
47
- --one-file
48
- --promiscuous
49
- -p
50
- ]
51
-
52
- @hook.delete_legacy_args args
53
-
54
- assert_empty args
55
- end
56
-
57
- def test_generate_disabled
58
- @hook.generate_rdoc = false
59
- @hook.generate_ri = false
60
-
61
- @hook.generate
62
-
63
- refute @hook.rdoc_installed?
64
- refute @hook.ri_installed?
65
- end
66
-
67
- def test_new_rdoc
68
- assert_kind_of RDoc::RDoc, @hook.new_rdoc
69
- end
70
-
71
- def test_rdoc_installed?
72
- refute @hook.rdoc_installed?
73
-
74
- FileUtils.mkdir_p @a.doc_dir "rdoc"
75
-
76
- assert @hook.rdoc_installed?
77
- end
78
-
79
- def test_remove
80
- FileUtils.mkdir_p @a.doc_dir "rdoc"
81
- FileUtils.mkdir_p @a.doc_dir "ri"
82
-
83
- @hook.remove
84
-
85
- refute @hook.rdoc_installed?
86
- refute @hook.ri_installed?
87
-
88
- assert_path_exist @a.doc_dir
89
- end
90
-
91
- def test_remove_unwritable
92
- pend "chmod not supported" if Gem.win_platform?
93
- pend "skipped in root privilege" if Process.uid.zero?
94
- FileUtils.mkdir_p @a.base_dir
95
- FileUtils.chmod 0, @a.base_dir
96
-
97
- e = assert_raise Gem::FilePermissionError do
98
- @hook.remove
99
- end
100
-
101
- assert_equal @a.base_dir, e.directory
102
- ensure
103
- FileUtils.chmod(0o755, @a.base_dir) if File.directory?(@a.base_dir)
104
- end
105
-
106
- def test_ri_installed?
107
- refute @hook.ri_installed?
108
-
109
- FileUtils.mkdir_p @a.doc_dir "ri"
110
-
111
- assert @hook.ri_installed?
112
- end
113
-
114
- def test_setup
115
- @hook.setup
116
-
117
- assert_path_exist @a.doc_dir
118
- end
119
-
120
- def test_setup_unwritable
121
- pend "chmod not supported" if Gem.win_platform?
122
- pend "skipped in root privilege" if Process.uid.zero?
123
- FileUtils.mkdir_p @a.doc_dir
124
- FileUtils.chmod 0, @a.doc_dir
125
-
126
- e = assert_raise Gem::FilePermissionError do
127
- @hook.setup
128
- end
129
-
130
- assert_equal @a.doc_dir, e.directory
131
- ensure
132
- if File.exist? @a.doc_dir
133
- FileUtils.chmod 0o755, @a.doc_dir
134
- FileUtils.rm_r @a.doc_dir
135
- end
136
- end
137
- end