rubygems-update 3.4.22 → 3.5.1

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