rubygems-update 3.3.18 → 3.3.22

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 (388) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/Manifest.txt +11 -0
  4. data/bin/gem +2 -2
  5. data/bin/update_rubygems +4 -4
  6. data/bundler/CHANGELOG.md +100 -0
  7. data/bundler/UPGRADING.md +11 -4
  8. data/bundler/bundler.gemspec +6 -8
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/cli/common.rb +1 -0
  11. data/bundler/lib/bundler/cli/install.rb +5 -2
  12. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  13. data/bundler/lib/bundler/cli/platform.rb +1 -1
  14. data/bundler/lib/bundler/cli.rb +7 -4
  15. data/bundler/lib/bundler/current_ruby.rb +14 -5
  16. data/bundler/lib/bundler/definition.rb +102 -31
  17. data/bundler/lib/bundler/dependency.rb +18 -85
  18. data/bundler/lib/bundler/dsl.rb +2 -2
  19. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  20. data/bundler/lib/bundler/feature_flag.rb +0 -1
  21. data/bundler/lib/bundler/fetcher.rb +6 -6
  22. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  23. data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
  24. data/bundler/lib/bundler/index.rb +10 -12
  25. data/bundler/lib/bundler/injector.rb +2 -1
  26. data/bundler/lib/bundler/inline.rb +1 -1
  27. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  28. data/bundler/lib/bundler/installer.rb +14 -12
  29. data/bundler/lib/bundler/lazy_specification.rb +30 -23
  30. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  31. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  32. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  33. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  35. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  36. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-config.1 +25 -6
  39. data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
  40. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  41. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  42. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  44. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
  45. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  47. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  48. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  51. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  52. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  53. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  54. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  59. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  60. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  61. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  62. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  67. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  68. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  69. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  70. data/bundler/lib/bundler/man/bundle.1 +15 -10
  71. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  72. data/bundler/lib/bundler/man/gemfile.5 +23 -47
  73. data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
  74. data/bundler/lib/bundler/man/index.txt +4 -0
  75. data/bundler/lib/bundler/match_metadata.rb +13 -0
  76. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  77. data/bundler/lib/bundler/plugin.rb +2 -0
  78. data/bundler/lib/bundler/remote_specification.rb +6 -11
  79. data/bundler/lib/bundler/resolver/base.rb +50 -0
  80. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  81. data/bundler/lib/bundler/resolver.rb +95 -90
  82. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  83. data/bundler/lib/bundler/ruby_version.rb +5 -5
  84. data/bundler/lib/bundler/rubygems_ext.rb +52 -1
  85. data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
  86. data/bundler/lib/bundler/settings.rb +1 -1
  87. data/bundler/lib/bundler/source/metadata.rb +1 -1
  88. data/bundler/lib/bundler/source_list.rb +4 -0
  89. data/bundler/lib/bundler/spec_set.rb +48 -33
  90. data/bundler/lib/bundler/version.rb +1 -1
  91. data/bundler/lib/bundler.rb +3 -3
  92. data/lib/rubygems/available_set.rb +3 -3
  93. data/lib/rubygems/basic_specification.rb +4 -4
  94. data/lib/rubygems/command.rb +25 -25
  95. data/lib/rubygems/command_manager.rb +9 -9
  96. data/lib/rubygems/commands/build_command.rb +8 -8
  97. data/lib/rubygems/commands/cert_command.rb +33 -33
  98. data/lib/rubygems/commands/check_command.rb +20 -20
  99. data/lib/rubygems/commands/cleanup_command.rb +17 -17
  100. data/lib/rubygems/commands/contents_command.rb +13 -13
  101. data/lib/rubygems/commands/dependency_command.rb +16 -16
  102. data/lib/rubygems/commands/environment_command.rb +5 -5
  103. data/lib/rubygems/commands/fetch_command.rb +8 -8
  104. data/lib/rubygems/commands/generate_index_command.rb +17 -17
  105. data/lib/rubygems/commands/help_command.rb +3 -3
  106. data/lib/rubygems/commands/info_command.rb +3 -3
  107. data/lib/rubygems/commands/install_command.rb +20 -20
  108. data/lib/rubygems/commands/list_command.rb +3 -3
  109. data/lib/rubygems/commands/lock_command.rb +4 -4
  110. data/lib/rubygems/commands/mirror_command.rb +3 -3
  111. data/lib/rubygems/commands/open_command.rb +9 -9
  112. data/lib/rubygems/commands/outdated_command.rb +5 -5
  113. data/lib/rubygems/commands/owner_command.rb +11 -11
  114. data/lib/rubygems/commands/pristine_command.rb +36 -36
  115. data/lib/rubygems/commands/push_command.rb +8 -8
  116. data/lib/rubygems/commands/query_command.rb +8 -8
  117. data/lib/rubygems/commands/rdoc_command.rb +17 -17
  118. data/lib/rubygems/commands/search_command.rb +3 -3
  119. data/lib/rubygems/commands/server_command.rb +3 -3
  120. data/lib/rubygems/commands/setup_command.rb +96 -106
  121. data/lib/rubygems/commands/signin_command.rb +9 -9
  122. data/lib/rubygems/commands/signout_command.rb +7 -7
  123. data/lib/rubygems/commands/sources_command.rb +21 -21
  124. data/lib/rubygems/commands/specification_command.rb +13 -13
  125. data/lib/rubygems/commands/stale_command.rb +2 -2
  126. data/lib/rubygems/commands/uninstall_command.rb +40 -40
  127. data/lib/rubygems/commands/unpack_command.rb +12 -12
  128. data/lib/rubygems/commands/update_command.rb +40 -56
  129. data/lib/rubygems/commands/which_command.rb +7 -7
  130. data/lib/rubygems/commands/yank_command.rb +11 -11
  131. data/lib/rubygems/config_file.rb +21 -21
  132. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  133. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  134. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  135. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  136. data/lib/rubygems/defaults.rb +16 -16
  137. data/lib/rubygems/dependency.rb +9 -9
  138. data/lib/rubygems/dependency_installer.rb +13 -13
  139. data/lib/rubygems/dependency_list.rb +6 -6
  140. data/lib/rubygems/doctor.rb +18 -18
  141. data/lib/rubygems/errors.rb +2 -2
  142. data/lib/rubygems/exceptions.rb +5 -5
  143. data/lib/rubygems/ext/build_error.rb +1 -1
  144. data/lib/rubygems/ext/builder.rb +16 -16
  145. data/lib/rubygems/ext/cargo_builder.rb +7 -7
  146. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  147. data/lib/rubygems/ext/configure_builder.rb +1 -1
  148. data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
  149. data/lib/rubygems/ext/rake_builder.rb +3 -3
  150. data/lib/rubygems/ext.rb +7 -7
  151. data/lib/rubygems/gem_runner.rb +5 -5
  152. data/lib/rubygems/gemcutter_utilities.rb +31 -28
  153. data/lib/rubygems/indexer.rb +27 -27
  154. data/lib/rubygems/install_default_message.rb +2 -2
  155. data/lib/rubygems/install_message.rb +2 -2
  156. data/lib/rubygems/install_update_options.rb +55 -55
  157. data/lib/rubygems/installer.rb +32 -40
  158. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  159. data/lib/rubygems/local_remote_options.rb +18 -20
  160. data/lib/rubygems/mock_gem_ui.rb +2 -2
  161. data/lib/rubygems/name_tuple.rb +4 -4
  162. data/lib/rubygems/optparse.rb +1 -1
  163. data/lib/rubygems/package/file_source.rb +2 -2
  164. data/lib/rubygems/package/old.rb +8 -8
  165. data/lib/rubygems/package/tar_header.rb +50 -50
  166. data/lib/rubygems/package/tar_reader/entry.rb +2 -2
  167. data/lib/rubygems/package/tar_reader.rb +1 -1
  168. data/lib/rubygems/package/tar_writer.rb +7 -7
  169. data/lib/rubygems/package.rb +54 -43
  170. data/lib/rubygems/package_task.rb +4 -4
  171. data/lib/rubygems/platform.rb +66 -55
  172. data/lib/rubygems/psych_tree.rb +1 -1
  173. data/lib/rubygems/query_utils.rb +35 -35
  174. data/lib/rubygems/rdoc.rb +2 -2
  175. data/lib/rubygems/remote_fetcher.rb +22 -22
  176. data/lib/rubygems/request/connection_pools.rb +4 -4
  177. data/lib/rubygems/request/http_pool.rb +1 -1
  178. data/lib/rubygems/request.rb +22 -22
  179. data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
  180. data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
  181. data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
  182. data/lib/rubygems/request_set/lockfile.rb +5 -5
  183. data/lib/rubygems/request_set.rb +17 -17
  184. data/lib/rubygems/requirement.rb +6 -6
  185. data/lib/rubygems/resolver/activation_request.rb +3 -3
  186. data/lib/rubygems/resolver/api_set.rb +4 -4
  187. data/lib/rubygems/resolver/api_specification.rb +6 -6
  188. data/lib/rubygems/resolver/best_set.rb +5 -5
  189. data/lib/rubygems/resolver/conflict.rb +10 -10
  190. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  191. data/lib/rubygems/resolver/git_set.rb +2 -2
  192. data/lib/rubygems/resolver/git_specification.rb +6 -6
  193. data/lib/rubygems/resolver/index_set.rb +3 -3
  194. data/lib/rubygems/resolver/index_specification.rb +6 -5
  195. data/lib/rubygems/resolver/installed_specification.rb +4 -4
  196. data/lib/rubygems/resolver/installer_set.rb +11 -16
  197. data/lib/rubygems/resolver/local_specification.rb +2 -2
  198. data/lib/rubygems/resolver/lock_set.rb +4 -4
  199. data/lib/rubygems/resolver/lock_specification.rb +4 -4
  200. data/lib/rubygems/resolver/molinillo.rb +1 -1
  201. data/lib/rubygems/resolver/specification.rb +1 -1
  202. data/lib/rubygems/resolver/vendor_set.rb +1 -1
  203. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  204. data/lib/rubygems/resolver.rb +39 -39
  205. data/lib/rubygems/s3_uri_signer.rb +6 -6
  206. data/lib/rubygems/safe_yaml.rb +2 -2
  207. data/lib/rubygems/security/policies.rb +11 -11
  208. data/lib/rubygems/security/policy.rb +18 -18
  209. data/lib/rubygems/security/signer.rb +5 -5
  210. data/lib/rubygems/security/trust_dir.rb +3 -3
  211. data/lib/rubygems/security.rb +28 -28
  212. data/lib/rubygems/security_option.rb +5 -5
  213. data/lib/rubygems/source/git.rb +21 -21
  214. data/lib/rubygems/source/installed.rb +1 -1
  215. data/lib/rubygems/source/local.rb +2 -2
  216. data/lib/rubygems/source/specific_file.rb +1 -1
  217. data/lib/rubygems/source.rb +16 -16
  218. data/lib/rubygems/spec_fetcher.rb +9 -9
  219. data/lib/rubygems/specification.rb +63 -62
  220. data/lib/rubygems/specification_policy.rb +15 -15
  221. data/lib/rubygems/stub_specification.rb +5 -5
  222. data/lib/rubygems/tsort.rb +1 -1
  223. data/lib/rubygems/uninstaller.rb +18 -18
  224. data/lib/rubygems/uri.rb +4 -4
  225. data/lib/rubygems/uri_formatter.rb +1 -1
  226. data/lib/rubygems/user_interaction.rb +33 -19
  227. data/lib/rubygems/util/licenses.rb +3 -3
  228. data/lib/rubygems/util.rb +10 -10
  229. data/lib/rubygems/validator.rb +5 -5
  230. data/lib/rubygems/version.rb +15 -9
  231. data/lib/rubygems/version_option.rb +3 -3
  232. data/lib/rubygems.rb +62 -61
  233. data/rubygems-update.gemspec +2 -2
  234. data/setup.rb +9 -9
  235. data/test/rubygems/helper.rb +132 -134
  236. data/test/rubygems/installer_test_case.rb +13 -13
  237. data/test/rubygems/package/tar_test_case.rb +2 -2
  238. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  239. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  240. data/test/rubygems/rubygems_plugin.rb +2 -2
  241. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
  242. data/test/rubygems/test_bundled_ca.rb +10 -10
  243. data/test/rubygems/test_config.rb +3 -3
  244. data/test/rubygems/test_deprecate.rb +3 -3
  245. data/test/rubygems/test_exit.rb +2 -2
  246. data/test/rubygems/test_gem.rb +342 -342
  247. data/test/rubygems/test_gem_available_set.rb +21 -21
  248. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  249. data/test/rubygems/test_gem_command.rb +44 -44
  250. data/test/rubygems/test_gem_command_manager.rb +29 -29
  251. data/test/rubygems/test_gem_commands_build_command.rb +63 -63
  252. data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
  253. data/test/rubygems/test_gem_commands_check_command.rb +4 -4
  254. data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
  255. data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
  256. data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
  257. data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
  258. data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
  259. data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
  260. data/test/rubygems/test_gem_commands_help_command.rb +13 -13
  261. data/test/rubygems/test_gem_commands_info_command.rb +28 -2
  262. data/test/rubygems/test_gem_commands_install_command.rb +131 -131
  263. data/test/rubygems/test_gem_commands_list_command.rb +4 -4
  264. data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
  265. data/test/rubygems/test_gem_commands_mirror.rb +2 -2
  266. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  267. data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
  268. data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
  269. data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
  270. data/test/rubygems/test_gem_commands_push_command.rb +54 -54
  271. data/test/rubygems/test_gem_commands_query_command.rb +73 -73
  272. data/test/rubygems/test_gem_commands_search_command.rb +2 -2
  273. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  274. data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
  275. data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
  276. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  277. data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
  278. data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
  279. data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
  280. data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
  281. data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
  282. data/test/rubygems/test_gem_commands_update_command.rb +89 -89
  283. data/test/rubygems/test_gem_commands_which_command.rb +6 -6
  284. data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
  285. data/test/rubygems/test_gem_config_file.rb +93 -81
  286. data/test/rubygems/test_gem_dependency.rb +73 -73
  287. data/test/rubygems/test_gem_dependency_installer.rb +165 -165
  288. data/test/rubygems/test_gem_dependency_list.rb +47 -47
  289. data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
  290. data/test/rubygems/test_gem_doctor.rb +26 -26
  291. data/test/rubygems/test_gem_ext_builder.rb +59 -59
  292. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
  293. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  294. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
  295. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
  296. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
  297. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  298. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
  299. data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
  300. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
  301. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
  302. data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
  303. data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
  304. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  305. data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
  306. data/test/rubygems/test_gem_gem_runner.rb +7 -7
  307. data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
  308. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
  309. data/test/rubygems/test_gem_indexer.rb +48 -48
  310. data/test/rubygems/test_gem_install_update_options.rb +16 -16
  311. data/test/rubygems/test_gem_installer.rb +303 -300
  312. data/test/rubygems/test_gem_local_remote_options.rb +10 -10
  313. data/test/rubygems/test_gem_name_tuple.rb +4 -4
  314. data/test/rubygems/test_gem_package.rb +228 -206
  315. data/test/rubygems/test_gem_package_old.rb +13 -13
  316. data/test/rubygems/test_gem_package_tar_header.rb +42 -42
  317. data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
  318. data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
  319. data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
  320. data/test/rubygems/test_gem_package_task.rb +18 -18
  321. data/test/rubygems/test_gem_path_support.rb +14 -14
  322. data/test/rubygems/test_gem_platform.rb +298 -227
  323. data/test/rubygems/test_gem_rdoc.rb +14 -14
  324. data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
  325. data/test/rubygems/test_gem_request.rb +55 -55
  326. data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
  327. data/test/rubygems/test_gem_request_set.rb +99 -99
  328. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
  329. data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
  330. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
  331. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
  332. data/test/rubygems/test_gem_requirement.rb +47 -41
  333. data/test/rubygems/test_gem_resolver.rb +133 -99
  334. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
  335. data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
  336. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
  337. data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
  338. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  339. data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
  340. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
  341. data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
  342. data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
  343. data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
  344. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
  345. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
  346. data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
  347. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
  348. data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
  349. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
  350. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  351. data/test/rubygems/test_gem_resolver_specification.rb +8 -8
  352. data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
  353. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
  354. data/test/rubygems/test_gem_security.rb +67 -67
  355. data/test/rubygems/test_gem_security_policy.rb +62 -62
  356. data/test/rubygems/test_gem_security_signer.rb +28 -28
  357. data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
  358. data/test/rubygems/test_gem_silent_ui.rb +38 -32
  359. data/test/rubygems/test_gem_source.rb +44 -44
  360. data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
  361. data/test/rubygems/test_gem_source_git.rb +59 -59
  362. data/test/rubygems/test_gem_source_installed.rb +16 -16
  363. data/test/rubygems/test_gem_source_list.rb +5 -5
  364. data/test/rubygems/test_gem_source_local.rb +14 -14
  365. data/test/rubygems/test_gem_source_lock.rb +31 -31
  366. data/test/rubygems/test_gem_source_specific_file.rb +17 -17
  367. data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
  368. data/test/rubygems/test_gem_source_vendor.rb +13 -13
  369. data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
  370. data/test/rubygems/test_gem_specification.rb +444 -436
  371. data/test/rubygems/test_gem_stream_ui.rb +19 -19
  372. data/test/rubygems/test_gem_stub_specification.rb +32 -32
  373. data/test/rubygems/test_gem_text.rb +1 -1
  374. data/test/rubygems/test_gem_uninstaller.rb +112 -112
  375. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
  376. data/test/rubygems/test_gem_uri.rb +4 -4
  377. data/test/rubygems/test_gem_uri_formatter.rb +14 -14
  378. data/test/rubygems/test_gem_util.rb +23 -23
  379. data/test/rubygems/test_gem_validator.rb +8 -8
  380. data/test/rubygems/test_gem_version.rb +22 -15
  381. data/test/rubygems/test_gem_version_option.rb +15 -15
  382. data/test/rubygems/test_kernel.rb +31 -31
  383. data/test/rubygems/test_project_sanity.rb +1 -1
  384. data/test/rubygems/test_remote_fetch_error.rb +6 -6
  385. data/test/rubygems/test_require.rb +43 -43
  386. data/test/rubygems/test_rubygems.rb +8 -8
  387. data/test/rubygems/utilities.rb +19 -19
  388. metadata +14 -3
@@ -1,22 +1,22 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/security'
2
+ require_relative "helper"
3
+ require "rubygems/security"
4
4
 
5
5
  unless Gem::HAVE_OPENSSL
6
- warn 'Skipping Gem::Security tests. openssl not found.'
6
+ warn "Skipping Gem::Security tests. openssl not found."
7
7
  end
8
8
 
9
9
  if Gem.java_platform?
10
- warn 'Skipping Gem::Security tests on jruby.'
10
+ warn "Skipping Gem::Security tests on jruby."
11
11
  end
12
12
 
13
13
  class TestGemSecurity < Gem::TestCase
14
- CHILD_KEY = load_key 'child'
15
- EC_KEY = load_key 'private_ec', 'Foo bar'
14
+ CHILD_KEY = load_key "child"
15
+ EC_KEY = load_key "private_ec", "Foo bar"
16
16
 
17
- ALTERNATE_CERT = load_cert 'child'
18
- CHILD_CERT = load_cert 'child'
19
- EXPIRED_CERT = load_cert 'expired'
17
+ ALTERNATE_CERT = load_cert "child"
18
+ CHILD_CERT = load_cert "child"
19
+ EXPIRED_CERT = load_cert "expired"
20
20
 
21
21
  def setup
22
22
  super
@@ -42,19 +42,19 @@ class TestGemSecurity < Gem::TestCase
42
42
  assert_equal 3, cert.extensions.length,
43
43
  cert.extensions.map {|e| e.to_a.first }
44
44
 
45
- constraints = cert.extensions.find {|ext| ext.oid == 'basicConstraints' }
46
- assert_equal 'CA:FALSE', constraints.value
45
+ constraints = cert.extensions.find {|ext| ext.oid == "basicConstraints" }
46
+ assert_equal "CA:FALSE", constraints.value
47
47
 
48
- key_usage = cert.extensions.find {|ext| ext.oid == 'keyUsage' }
49
- assert_equal 'Digital Signature, Key Encipherment, Data Encipherment',
48
+ key_usage = cert.extensions.find {|ext| ext.oid == "keyUsage" }
49
+ assert_equal "Digital Signature, Key Encipherment, Data Encipherment",
50
50
  key_usage.value
51
51
 
52
- key_ident = cert.extensions.find {|ext| ext.oid == 'subjectKeyIdentifier' }
52
+ key_ident = cert.extensions.find {|ext| ext.oid == "subjectKeyIdentifier" }
53
53
  assert_equal 59, key_ident.value.length
54
- assert_equal '5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B',
54
+ assert_equal "5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B",
55
55
  key_ident.value
56
56
 
57
- assert_equal '', cert.issuer.to_s
57
+ assert_equal "", cert.issuer.to_s
58
58
  assert_equal name.to_s, cert.subject.to_s
59
59
  end
60
60
 
@@ -63,12 +63,12 @@ class TestGemSecurity < Gem::TestCase
63
63
 
64
64
  cert = @SEC.create_cert_self_signed subject, PRIVATE_KEY, 60
65
65
 
66
- assert_equal '/CN=nobody/DC=example', cert.issuer.to_s
66
+ assert_equal "/CN=nobody/DC=example", cert.issuer.to_s
67
67
  assert_equal "sha256WithRSAEncryption", cert.signature_algorithm
68
68
  end
69
69
 
70
70
  def test_class_create_cert_email
71
- email = 'nobody@example'
71
+ email = "nobody@example"
72
72
  name = PUBLIC_CERT.subject
73
73
  key = PRIVATE_KEY
74
74
 
@@ -87,37 +87,37 @@ class TestGemSecurity < Gem::TestCase
87
87
  assert_equal 5, cert.extensions.length,
88
88
  cert.extensions.map {|e| e.to_a.first }
89
89
 
90
- constraints = cert.extensions.find {|ext| ext.oid == 'subjectAltName' }
91
- assert_equal 'email:nobody@example', constraints.value
90
+ constraints = cert.extensions.find {|ext| ext.oid == "subjectAltName" }
91
+ assert_equal "email:nobody@example", constraints.value
92
92
 
93
- constraints = cert.extensions.find {|ext| ext.oid == 'basicConstraints' }
94
- assert_equal 'CA:FALSE', constraints.value
93
+ constraints = cert.extensions.find {|ext| ext.oid == "basicConstraints" }
94
+ assert_equal "CA:FALSE", constraints.value
95
95
 
96
- key_usage = cert.extensions.find {|ext| ext.oid == 'keyUsage' }
97
- assert_equal 'Digital Signature, Key Encipherment, Data Encipherment',
96
+ key_usage = cert.extensions.find {|ext| ext.oid == "keyUsage" }
97
+ assert_equal "Digital Signature, Key Encipherment, Data Encipherment",
98
98
  key_usage.value
99
99
 
100
- key_ident = cert.extensions.find {|ext| ext.oid == 'subjectKeyIdentifier' }
100
+ key_ident = cert.extensions.find {|ext| ext.oid == "subjectKeyIdentifier" }
101
101
  assert_equal 59, key_ident.value.length
102
- assert_equal '5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B',
102
+ assert_equal "5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B",
103
103
  key_ident.value
104
104
  end
105
105
 
106
106
  def test_class_create_key
107
- key = @SEC.create_key 'rsa'
107
+ key = @SEC.create_key "rsa"
108
108
 
109
109
  assert_kind_of OpenSSL::PKey::RSA, key
110
110
  end
111
111
 
112
112
  def test_class_create_key_downcases
113
- key = @SEC.create_key 'DSA'
113
+ key = @SEC.create_key "DSA"
114
114
 
115
115
  assert_kind_of OpenSSL::PKey::DSA, key
116
116
  end
117
117
 
118
118
  def test_class_create_key_raises_unknown_algorithm
119
119
  e = assert_raise Gem::Security::Exception do
120
- @SEC.create_key 'NOT_RSA'
120
+ @SEC.create_key "NOT_RSA"
121
121
  end
122
122
 
123
123
  assert_equal "NOT_RSA algorithm not found. RSA, DSA, and EC algorithms are supported.",
@@ -137,17 +137,17 @@ class TestGemSecurity < Gem::TestCase
137
137
  end
138
138
 
139
139
  def test_class_email_to_name
140
- assert_equal '/CN=nobody/DC=example',
141
- @SEC.email_to_name('nobody@example').to_s
140
+ assert_equal "/CN=nobody/DC=example",
141
+ @SEC.email_to_name("nobody@example").to_s
142
142
 
143
- assert_equal '/CN=nobody/DC=example/DC=com',
144
- @SEC.email_to_name('nobody@example.com').to_s
143
+ assert_equal "/CN=nobody/DC=example/DC=com",
144
+ @SEC.email_to_name("nobody@example.com").to_s
145
145
 
146
- assert_equal '/CN=no.body/DC=example',
147
- @SEC.email_to_name('no.body@example').to_s
146
+ assert_equal "/CN=no.body/DC=example",
147
+ @SEC.email_to_name("no.body@example").to_s
148
148
 
149
- assert_equal '/CN=no_body/DC=example',
150
- @SEC.email_to_name('no+body@example').to_s
149
+ assert_equal "/CN=no_body/DC=example",
150
+ @SEC.email_to_name("no+body@example").to_s
151
151
  end
152
152
 
153
153
  def test_class_re_sign
@@ -168,7 +168,7 @@ class TestGemSecurity < Gem::TestCase
168
168
  end
169
169
 
170
170
  child_alt_name = CHILD_CERT.extensions.find do |extension|
171
- extension.oid == 'subjectAltName'
171
+ extension.oid == "subjectAltName"
172
172
  end
173
173
 
174
174
  assert_equal "#{child_alt_name.value} is not self-signed, contact " +
@@ -217,20 +217,20 @@ class TestGemSecurity < Gem::TestCase
217
217
  assert_equal 4, signed.extensions.length,
218
218
  signed.extensions.map {|e| e.to_a.first }
219
219
 
220
- constraints = signed.extensions.find {|ext| ext.oid == 'issuerAltName' }
221
- assert_equal 'email:nobody@example', constraints.value, 'issuerAltName'
220
+ constraints = signed.extensions.find {|ext| ext.oid == "issuerAltName" }
221
+ assert_equal "email:nobody@example", constraints.value, "issuerAltName"
222
222
 
223
- constraints = signed.extensions.find {|ext| ext.oid == 'basicConstraints' }
224
- assert_equal 'CA:FALSE', constraints.value
223
+ constraints = signed.extensions.find {|ext| ext.oid == "basicConstraints" }
224
+ assert_equal "CA:FALSE", constraints.value
225
225
 
226
- key_usage = signed.extensions.find {|ext| ext.oid == 'keyUsage' }
227
- assert_equal 'Digital Signature, Key Encipherment, Data Encipherment',
226
+ key_usage = signed.extensions.find {|ext| ext.oid == "keyUsage" }
227
+ assert_equal "Digital Signature, Key Encipherment, Data Encipherment",
228
228
  key_usage.value
229
229
 
230
230
  key_ident =
231
- signed.extensions.find {|ext| ext.oid == 'subjectKeyIdentifier' }
231
+ signed.extensions.find {|ext| ext.oid == "subjectKeyIdentifier" }
232
232
  assert_equal 59, key_ident.value.length
233
- assert_equal '5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B',
233
+ assert_equal "5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B",
234
234
  key_ident.value
235
235
 
236
236
  assert signed.verify key
@@ -240,7 +240,7 @@ class TestGemSecurity < Gem::TestCase
240
240
  issuer = PUBLIC_CERT.subject
241
241
  signee = OpenSSL::X509::Name.parse "/CN=signee/DC=example"
242
242
 
243
- cert = @SEC.create_cert_email 'signee@example', PRIVATE_KEY
243
+ cert = @SEC.create_cert_email "signee@example", PRIVATE_KEY
244
244
 
245
245
  signed = @SEC.sign cert, PRIVATE_KEY, PUBLIC_CERT, 60
246
246
 
@@ -256,23 +256,23 @@ class TestGemSecurity < Gem::TestCase
256
256
  assert_equal 5, signed.extensions.length,
257
257
  signed.extensions.map {|e| e.to_a.first }
258
258
 
259
- constraints = signed.extensions.find {|ext| ext.oid == 'issuerAltName' }
260
- assert_equal 'email:nobody@example', constraints.value, 'issuerAltName'
259
+ constraints = signed.extensions.find {|ext| ext.oid == "issuerAltName" }
260
+ assert_equal "email:nobody@example", constraints.value, "issuerAltName"
261
261
 
262
- constraints = signed.extensions.find {|ext| ext.oid == 'subjectAltName' }
263
- assert_equal 'email:signee@example', constraints.value, 'subjectAltName'
262
+ constraints = signed.extensions.find {|ext| ext.oid == "subjectAltName" }
263
+ assert_equal "email:signee@example", constraints.value, "subjectAltName"
264
264
 
265
- constraints = signed.extensions.find {|ext| ext.oid == 'basicConstraints' }
266
- assert_equal 'CA:FALSE', constraints.value
265
+ constraints = signed.extensions.find {|ext| ext.oid == "basicConstraints" }
266
+ assert_equal "CA:FALSE", constraints.value
267
267
 
268
- key_usage = signed.extensions.find {|ext| ext.oid == 'keyUsage' }
269
- assert_equal 'Digital Signature, Key Encipherment, Data Encipherment',
268
+ key_usage = signed.extensions.find {|ext| ext.oid == "keyUsage" }
269
+ assert_equal "Digital Signature, Key Encipherment, Data Encipherment",
270
270
  key_usage.value
271
271
 
272
272
  key_ident =
273
- signed.extensions.find {|ext| ext.oid == 'subjectKeyIdentifier' }
273
+ signed.extensions.find {|ext| ext.oid == "subjectKeyIdentifier" }
274
274
  assert_equal 59, key_ident.value.length
275
- assert_equal '5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B',
275
+ assert_equal "5F:43:6E:F6:9A:8E:45:25:E9:22:E3:7D:37:5E:A4:D5:36:02:85:1B",
276
276
  key_ident.value
277
277
 
278
278
  assert signed.verify PUBLIC_KEY
@@ -281,15 +281,15 @@ class TestGemSecurity < Gem::TestCase
281
281
  def test_class_trust_dir
282
282
  trust_dir = @SEC.trust_dir
283
283
 
284
- expected = File.join Gem.user_home, '.gem/trust'
284
+ expected = File.join Gem.user_home, ".gem/trust"
285
285
 
286
286
  assert_equal expected, trust_dir.dir
287
287
  end
288
288
 
289
289
  def test_class_write
290
- key = @SEC.create_key 'rsa'
290
+ key = @SEC.create_key "rsa"
291
291
 
292
- path = File.join @tempdir, 'test-private_key.pem'
292
+ path = File.join @tempdir, "test-private_key.pem"
293
293
 
294
294
  @SEC.write key, path
295
295
 
@@ -301,11 +301,11 @@ class TestGemSecurity < Gem::TestCase
301
301
  end
302
302
 
303
303
  def test_class_write_encrypted
304
- key = @SEC.create_key 'rsa'
304
+ key = @SEC.create_key "rsa"
305
305
 
306
- path = File.join @tempdir, 'test-private_encrypted_key.pem'
306
+ path = File.join @tempdir, "test-private_encrypted_key.pem"
307
307
 
308
- passphrase = 'It should be long.'
308
+ passphrase = "It should be long."
309
309
 
310
310
  @SEC.write key, path, 0600, passphrase
311
311
 
@@ -317,13 +317,13 @@ class TestGemSecurity < Gem::TestCase
317
317
  end
318
318
 
319
319
  def test_class_write_encrypted_cipher
320
- key = @SEC.create_key 'rsa'
320
+ key = @SEC.create_key "rsa"
321
321
 
322
- path = File.join @tempdir, 'test-private_encrypted__with_non_default_cipher_key.pem'
322
+ path = File.join @tempdir, "test-private_encrypted__with_non_default_cipher_key.pem"
323
323
 
324
- passphrase = 'It should be long.'
324
+ passphrase = "It should be long."
325
325
 
326
- cipher = OpenSSL::Cipher.new 'AES-192-CBC'
326
+ cipher = OpenSSL::Cipher.new "AES-192-CBC"
327
327
 
328
328
  @SEC.write key, path, 0600, passphrase, cipher
329
329
 
@@ -1,34 +1,34 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'helper'
3
+ require_relative "helper"
4
4
 
5
5
  unless Gem::HAVE_OPENSSL
6
- warn 'Skipping Gem::Security::Policy tests. openssl not found.'
6
+ warn "Skipping Gem::Security::Policy tests. openssl not found."
7
7
  end
8
8
 
9
9
  class TestGemSecurityPolicy < Gem::TestCase
10
- ALTERNATE_KEY = load_key 'alternate'
11
- INVALID_KEY = load_key 'invalid'
12
- CHILD_KEY = load_key 'child'
13
- GRANDCHILD_KEY = load_key 'grandchild'
14
- INVALIDCHILD_KEY = load_key 'invalidchild'
15
-
16
- ALTERNATE_CERT = load_cert 'alternate'
17
- CA_CERT = load_cert 'ca'
18
- CHILD_CERT = load_cert 'child'
19
- EXPIRED_CERT = load_cert 'expired'
20
- FUTURE_CERT = load_cert 'future'
21
- GRANDCHILD_CERT = load_cert 'grandchild'
22
- INVALIDCHILD_CERT = load_cert 'invalidchild'
23
- INVALID_ISSUER_CERT = load_cert 'invalid_issuer'
24
- INVALID_SIGNER_CERT = load_cert 'invalid_signer'
25
- WRONG_KEY_CERT = load_cert 'wrong_key'
10
+ ALTERNATE_KEY = load_key "alternate"
11
+ INVALID_KEY = load_key "invalid"
12
+ CHILD_KEY = load_key "child"
13
+ GRANDCHILD_KEY = load_key "grandchild"
14
+ INVALIDCHILD_KEY = load_key "invalidchild"
15
+
16
+ ALTERNATE_CERT = load_cert "alternate"
17
+ CA_CERT = load_cert "ca"
18
+ CHILD_CERT = load_cert "child"
19
+ EXPIRED_CERT = load_cert "expired"
20
+ FUTURE_CERT = load_cert "future"
21
+ GRANDCHILD_CERT = load_cert "grandchild"
22
+ INVALIDCHILD_CERT = load_cert "invalidchild"
23
+ INVALID_ISSUER_CERT = load_cert "invalid_issuer"
24
+ INVALID_SIGNER_CERT = load_cert "invalid_signer"
25
+ WRONG_KEY_CERT = load_cert "wrong_key"
26
26
 
27
27
  def setup
28
28
  super
29
29
 
30
- @spec = quick_gem 'a' do |s|
31
- s.description = 'π'
30
+ @spec = quick_gem "a" do |s|
31
+ s.description = "π"
32
32
  s.files = %w[lib/code.rb]
33
33
  end
34
34
 
@@ -42,7 +42,7 @@ class TestGemSecurityPolicy < Gem::TestCase
42
42
  @high = Gem::Security::HighSecurity
43
43
 
44
44
  @chain = Gem::Security::Policy.new(
45
- 'Chain',
45
+ "Chain",
46
46
  :verify_data => true,
47
47
  :verify_signer => true,
48
48
  :verify_chain => true,
@@ -52,7 +52,7 @@ class TestGemSecurityPolicy < Gem::TestCase
52
52
  )
53
53
 
54
54
  @root = Gem::Security::Policy.new(
55
- 'Root',
55
+ "Root",
56
56
  :verify_data => true,
57
57
  :verify_signer => true,
58
58
  :verify_chain => true,
@@ -63,7 +63,7 @@ class TestGemSecurityPolicy < Gem::TestCase
63
63
  end
64
64
 
65
65
  def test_check_data
66
- data = digest 'hello'
66
+ data = digest "hello"
67
67
 
68
68
  signature = sign data
69
69
 
@@ -71,17 +71,17 @@ class TestGemSecurityPolicy < Gem::TestCase
71
71
  end
72
72
 
73
73
  def test_check_data_invalid
74
- data = digest 'hello'
74
+ data = digest "hello"
75
75
 
76
76
  signature = sign data
77
77
 
78
- invalid = digest 'hello!'
78
+ invalid = digest "hello!"
79
79
 
80
80
  e = assert_raise Gem::Security::Exception do
81
81
  @almost_no.check_data PUBLIC_KEY, @digest, signature, invalid
82
82
  end
83
83
 
84
- assert_equal 'invalid signature', e.message
84
+ assert_equal "invalid signature", e.message
85
85
  end
86
86
 
87
87
  def test_check_chain
@@ -95,7 +95,7 @@ class TestGemSecurityPolicy < Gem::TestCase
95
95
  @chain.check_chain [], Time.now
96
96
  end
97
97
 
98
- assert_equal 'empty signing chain', e.message
98
+ assert_equal "empty signing chain", e.message
99
99
  end
100
100
 
101
101
  def test_check_chain_invalid
@@ -115,7 +115,7 @@ class TestGemSecurityPolicy < Gem::TestCase
115
115
  @chain.check_chain nil, Time.now
116
116
  end
117
117
 
118
- assert_equal 'missing signing chain', e.message
118
+ assert_equal "missing signing chain", e.message
119
119
  end
120
120
 
121
121
  def test_check_cert
@@ -161,7 +161,7 @@ class TestGemSecurityPolicy < Gem::TestCase
161
161
  @high.check_cert(nil, nil, Time.now)
162
162
  end
163
163
 
164
- assert_equal 'missing signing certificate', e.message
164
+ assert_equal "missing signing certificate", e.message
165
165
  end
166
166
 
167
167
  def test_check_key
@@ -175,7 +175,7 @@ class TestGemSecurityPolicy < Gem::TestCase
175
175
  @high.check_key(nil, nil)
176
176
  end
177
177
 
178
- assert_equal 'missing key or signature', e.message
178
+ assert_equal "missing key or signature", e.message
179
179
  end
180
180
 
181
181
  def test_check_key_wrong_key
@@ -198,7 +198,7 @@ class TestGemSecurityPolicy < Gem::TestCase
198
198
  @chain.check_root [], Time.now
199
199
  end
200
200
 
201
- assert_equal 'missing root certificate', e.message
201
+ assert_equal "missing root certificate", e.message
202
202
  end
203
203
 
204
204
  def test_check_root_invalid_signer
@@ -230,7 +230,7 @@ class TestGemSecurityPolicy < Gem::TestCase
230
230
  @chain.check_root nil, Time.now
231
231
  end
232
232
 
233
- assert_equal 'missing signing chain', e.message
233
+ assert_equal "missing signing chain", e.message
234
234
  end
235
235
 
236
236
  def test_check_trust
@@ -250,7 +250,7 @@ class TestGemSecurityPolicy < Gem::TestCase
250
250
  @chain.check_trust [], @digest, @trust_dir
251
251
  end
252
252
 
253
- assert_equal 'missing root certificate', e.message
253
+ assert_equal "missing root certificate", e.message
254
254
  end
255
255
 
256
256
  def test_check_trust_mismatch
@@ -269,7 +269,7 @@ class TestGemSecurityPolicy < Gem::TestCase
269
269
  @chain.check_trust nil, @digest, @trust_dir
270
270
  end
271
271
 
272
- assert_equal 'missing signing chain', e.message
272
+ assert_equal "missing signing chain", e.message
273
273
  end
274
274
 
275
275
  def test_check_trust_no_trust
@@ -290,8 +290,8 @@ class TestGemSecurityPolicy < Gem::TestCase
290
290
  end
291
291
 
292
292
  def test_subject
293
- assert_equal 'email:nobody@example', @no.subject(PUBLIC_CERT)
294
- assert_equal '/C=JP/ST=Tokyo/O=RubyGemsTest/CN=CA', @no.subject(CA_CERT)
293
+ assert_equal "email:nobody@example", @no.subject(PUBLIC_CERT)
294
+ assert_equal "/C=JP/ST=Tokyo/O=RubyGemsTest/CN=CA", @no.subject(CA_CERT)
295
295
  end
296
296
 
297
297
  def test_verify
@@ -319,7 +319,7 @@ class TestGemSecurityPolicy < Gem::TestCase
319
319
  @almost_no.verify [PUBLIC_CERT], nil, {}, signatures
320
320
  end
321
321
 
322
- assert_equal 'no digests provided (probable bug)', e.message
322
+ assert_equal "no digests provided (probable bug)", e.message
323
323
  end
324
324
 
325
325
  def test_verify_no_digests_no_security
@@ -331,7 +331,7 @@ class TestGemSecurityPolicy < Gem::TestCase
331
331
  @no.verify [PUBLIC_CERT], nil, {}, signatures
332
332
  end
333
333
 
334
- assert_equal 'missing digest for 0', e.message
334
+ assert_equal "missing digest for 0", e.message
335
335
  end
336
336
 
337
337
  def test_verify_no_signatures
@@ -340,7 +340,7 @@ class TestGemSecurityPolicy < Gem::TestCase
340
340
  digests, = dummy_signatures
341
341
 
342
342
  use_ui @ui do
343
- @no.verify [PUBLIC_CERT], nil, digests, {}, 'some_gem'
343
+ @no.verify [PUBLIC_CERT], nil, digests, {}, "some_gem"
344
344
  end
345
345
 
346
346
  assert_match "WARNING: some_gem is not signed\n", @ui.error
@@ -354,7 +354,7 @@ class TestGemSecurityPolicy < Gem::TestCase
354
354
  Gem::Security.trust_dir.trust_cert PUBLIC_CERT
355
355
 
356
356
  use_ui @ui do
357
- @no.verify [PUBLIC_CERT], nil, {}, {}, 'some_gem'
357
+ @no.verify [PUBLIC_CERT], nil, {}, {}, "some_gem"
358
358
  end
359
359
 
360
360
  assert_empty @ui.output
@@ -366,7 +366,7 @@ class TestGemSecurityPolicy < Gem::TestCase
366
366
 
367
367
  digests, signatures = dummy_signatures
368
368
 
369
- data = digest 'goodbye'
369
+ data = digest "goodbye"
370
370
 
371
371
  signatures[1] = PRIVATE_KEY.sign @digest.new, data.digest
372
372
 
@@ -374,14 +374,14 @@ class TestGemSecurityPolicy < Gem::TestCase
374
374
  @almost_no.verify [PUBLIC_CERT], nil, digests, signatures
375
375
  end
376
376
 
377
- assert_equal 'missing digest for 1', e.message
377
+ assert_equal "missing digest for 1", e.message
378
378
  end
379
379
 
380
380
  def test_verify_no_trust
381
381
  digests, signatures = dummy_signatures
382
382
 
383
383
  use_ui @ui do
384
- @low.verify [PUBLIC_CERT], nil, digests, signatures, 'some_gem'
384
+ @low.verify [PUBLIC_CERT], nil, digests, signatures, "some_gem"
385
385
  end
386
386
 
387
387
  assert_equal "WARNING: email:nobody@example is not trusted for some_gem\n",
@@ -395,18 +395,18 @@ class TestGemSecurityPolicy < Gem::TestCase
395
395
  def test_verify_wrong_digest_type
396
396
  Gem::Security.trust_dir.trust_cert PUBLIC_CERT
397
397
 
398
- data = OpenSSL::Digest.new('SHA512')
399
- data << 'hello'
398
+ data = OpenSSL::Digest.new("SHA512")
399
+ data << "hello"
400
400
 
401
- digests = { 'SHA512' => { 0 => data } }
402
- signature = PRIVATE_KEY.sign 'sha512', data.digest
401
+ digests = { "SHA512" => { 0 => data } }
402
+ signature = PRIVATE_KEY.sign "sha512", data.digest
403
403
  signatures = { 0 => signature }
404
404
 
405
405
  e = assert_raise Gem::Security::Exception do
406
406
  @almost_no.verify [PUBLIC_CERT], nil, digests, signatures
407
407
  end
408
408
 
409
- assert_equal 'no digests provided (probable bug)', e.message
409
+ assert_equal "no digests provided (probable bug)", e.message
410
410
  end
411
411
 
412
412
  def test_verify_signatures_chain
@@ -448,17 +448,17 @@ class TestGemSecurityPolicy < Gem::TestCase
448
448
 
449
449
  metadata_gz = Gem::Util.gzip @spec.to_yaml
450
450
 
451
- package = Gem::Package.new 'nonexistent.gem'
451
+ package = Gem::Package.new "nonexistent.gem"
452
452
  package.checksums[Gem::Security::DIGEST_NAME] = {}
453
453
 
454
454
  s = StringIO.new metadata_gz
455
- def s.full_name() 'metadata.gz' end
455
+ def s.full_name() "metadata.gz" end
456
456
 
457
457
  digests = package.digest s
458
- metadata_gz_digest = digests[Gem::Security::DIGEST_NAME]['metadata.gz']
458
+ metadata_gz_digest = digests[Gem::Security::DIGEST_NAME]["metadata.gz"]
459
459
 
460
460
  signatures = {}
461
- signatures['metadata.gz'] =
461
+ signatures["metadata.gz"] =
462
462
  PRIVATE_KEY.sign @digest.new, metadata_gz_digest.digest
463
463
 
464
464
  assert @high.verify_signatures @spec, digests, signatures
@@ -471,26 +471,26 @@ class TestGemSecurityPolicy < Gem::TestCase
471
471
 
472
472
  metadata_gz = Gem::Util.gzip @spec.to_yaml
473
473
 
474
- package = Gem::Package.new 'nonexistent.gem'
474
+ package = Gem::Package.new "nonexistent.gem"
475
475
  package.checksums[Gem::Security::DIGEST_NAME] = {}
476
476
 
477
477
  s = StringIO.new metadata_gz
478
- def s.full_name() 'metadata.gz' end
478
+ def s.full_name() "metadata.gz" end
479
479
 
480
480
  digests = package.digest s
481
- digests[Gem::Security::DIGEST_NAME]['data.tar.gz'] = @digest.hexdigest 'hello'
481
+ digests[Gem::Security::DIGEST_NAME]["data.tar.gz"] = @digest.hexdigest "hello"
482
482
 
483
- metadata_gz_digest = digests[Gem::Security::DIGEST_NAME]['metadata.gz']
483
+ metadata_gz_digest = digests[Gem::Security::DIGEST_NAME]["metadata.gz"]
484
484
 
485
485
  signatures = {}
486
- signatures['metadata.gz'] =
486
+ signatures["metadata.gz"] =
487
487
  PRIVATE_KEY.sign @digest.new, metadata_gz_digest.digest
488
488
 
489
489
  e = assert_raise Gem::Security::Exception do
490
490
  @high.verify_signatures @spec, digests, signatures
491
491
  end
492
492
 
493
- assert_equal 'missing signature for data.tar.gz', e.message
493
+ assert_equal "missing signature for data.tar.gz", e.message
494
494
  end
495
495
 
496
496
  def test_verify_signatures_none
@@ -500,14 +500,14 @@ class TestGemSecurityPolicy < Gem::TestCase
500
500
 
501
501
  metadata_gz = Gem::Util.gzip @spec.to_yaml
502
502
 
503
- package = Gem::Package.new 'nonexistent.gem'
503
+ package = Gem::Package.new "nonexistent.gem"
504
504
  package.checksums[Gem::Security::DIGEST_NAME] = {}
505
505
 
506
506
  s = StringIO.new metadata_gz
507
- def s.full_name() 'metadata.gz' end
507
+ def s.full_name() "metadata.gz" end
508
508
 
509
509
  digests = package.digest s
510
- digests[Gem::Security::DIGEST_NAME]['data.tar.gz'] = @digest.hexdigest 'hello'
510
+ digests[Gem::Security::DIGEST_NAME]["data.tar.gz"] = @digest.hexdigest "hello"
511
511
 
512
512
  assert_raise Gem::Security::Exception do
513
513
  @high.verify_signatures @spec, digests, {}
@@ -525,7 +525,7 @@ class TestGemSecurityPolicy < Gem::TestCase
525
525
  end
526
526
 
527
527
  def dummy_signatures(key = PRIVATE_KEY)
528
- data = digest 'hello'
528
+ data = digest "hello"
529
529
 
530
530
  digests = { Gem::Security::DIGEST_NAME => { 0 => data } }
531
531
  signatures = { 0 => sign(data, key) }