rubygems-update 2.7.11 → 3.0.9

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 (359) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +67 -0
  3. data/.travis.yml +24 -18
  4. data/CODE_OF_CONDUCT.md +10 -8
  5. data/CONTRIBUTING.md +148 -0
  6. data/History.txt +458 -8
  7. data/MAINTAINERS.txt +1 -0
  8. data/Manifest.txt +16 -9
  9. data/POLICIES.md +92 -0
  10. data/README.md +53 -26
  11. data/Rakefile +77 -211
  12. data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
  13. data/appveyor.yml +20 -45
  14. data/bin/gem +1 -2
  15. data/bin/update_rubygems +2 -3
  16. data/bundler/CHANGELOG.md +65 -0
  17. data/bundler/bundler.gemspec +7 -1
  18. data/bundler/lib/bundler/build_metadata.rb +1 -1
  19. data/bundler/lib/bundler/cli/add.rb +15 -5
  20. data/bundler/lib/bundler/cli/binstubs.rb +8 -2
  21. data/bundler/lib/bundler/cli/doctor.rb +47 -1
  22. data/bundler/lib/bundler/cli/install.rb +8 -5
  23. data/bundler/lib/bundler/cli/list.rb +41 -5
  24. data/bundler/lib/bundler/cli/outdated.rb +7 -1
  25. data/bundler/lib/bundler/cli/pristine.rb +4 -0
  26. data/bundler/lib/bundler/cli/remove.rb +18 -0
  27. data/bundler/lib/bundler/cli.rb +63 -21
  28. data/bundler/lib/bundler/definition.rb +15 -16
  29. data/bundler/lib/bundler/dependency.rb +2 -2
  30. data/bundler/lib/bundler/dsl.rb +19 -3
  31. data/bundler/lib/bundler/feature_flag.rb +7 -0
  32. data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
  33. data/bundler/lib/bundler/injector.rb +168 -9
  34. data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
  35. data/bundler/lib/bundler/installer.rb +29 -6
  36. data/bundler/lib/bundler/plugin/events.rb +61 -0
  37. data/bundler/lib/bundler/plugin.rb +10 -3
  38. data/bundler/lib/bundler/resolver.rb +2 -2
  39. data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
  40. data/bundler/lib/bundler/runtime.rb +8 -2
  41. data/bundler/lib/bundler/settings/validator.rb +23 -0
  42. data/bundler/lib/bundler/settings.rb +24 -3
  43. data/bundler/lib/bundler/shared_helpers.rb +19 -3
  44. data/bundler/lib/bundler/source/metadata.rb +2 -3
  45. data/bundler/lib/bundler/source.rb +9 -9
  46. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
  47. data/bundler/lib/bundler/version.rb +1 -1
  48. data/bundler/lib/bundler.rb +26 -8
  49. data/bundler/man/bundle-add.ronn +13 -2
  50. data/bundler/man/bundle-config.ronn +21 -0
  51. data/bundler/man/bundle-install.ronn +1 -1
  52. data/bundler/man/bundle-list.ronn +19 -1
  53. data/bundler/man/bundle-outdated.ronn +4 -0
  54. data/bundler/man/bundle-remove.ronn +23 -0
  55. data/bundler/man/bundle-update.ronn +1 -1
  56. data/bundler/man/bundle.ronn +3 -0
  57. data/lib/rubygems/available_set.rb +1 -1
  58. data/lib/rubygems/basic_specification.rb +12 -12
  59. data/lib/rubygems/bundler_version_finder.rb +3 -3
  60. data/lib/rubygems/command.rb +22 -15
  61. data/lib/rubygems/command_manager.rb +22 -5
  62. data/lib/rubygems/commands/build_command.rb +41 -7
  63. data/lib/rubygems/commands/cert_command.rb +45 -24
  64. data/lib/rubygems/commands/check_command.rb +1 -1
  65. data/lib/rubygems/commands/cleanup_command.rb +14 -7
  66. data/lib/rubygems/commands/contents_command.rb +14 -15
  67. data/lib/rubygems/commands/dependency_command.rb +17 -17
  68. data/lib/rubygems/commands/environment_command.rb +20 -1
  69. data/lib/rubygems/commands/fetch_command.rb +2 -3
  70. data/lib/rubygems/commands/generate_index_command.rb +2 -3
  71. data/lib/rubygems/commands/help_command.rb +12 -13
  72. data/lib/rubygems/commands/info_command.rb +33 -0
  73. data/lib/rubygems/commands/install_command.rb +21 -17
  74. data/lib/rubygems/commands/list_command.rb +0 -1
  75. data/lib/rubygems/commands/lock_command.rb +3 -4
  76. data/lib/rubygems/commands/open_command.rb +16 -10
  77. data/lib/rubygems/commands/owner_command.rb +21 -7
  78. data/lib/rubygems/commands/pristine_command.rb +23 -16
  79. data/lib/rubygems/commands/push_command.rb +19 -8
  80. data/lib/rubygems/commands/query_command.rb +24 -24
  81. data/lib/rubygems/commands/rdoc_command.rb +3 -4
  82. data/lib/rubygems/commands/search_command.rb +0 -1
  83. data/lib/rubygems/commands/server_command.rb +1 -2
  84. data/lib/rubygems/commands/setup_command.rb +86 -48
  85. data/lib/rubygems/commands/signin_command.rb +2 -1
  86. data/lib/rubygems/commands/signout_command.rb +2 -2
  87. data/lib/rubygems/commands/sources_command.rb +11 -12
  88. data/lib/rubygems/commands/specification_command.rb +7 -7
  89. data/lib/rubygems/commands/uninstall_command.rb +50 -18
  90. data/lib/rubygems/commands/unpack_command.rb +16 -7
  91. data/lib/rubygems/commands/update_command.rb +28 -23
  92. data/lib/rubygems/commands/which_command.rb +5 -8
  93. data/lib/rubygems/commands/yank_command.rb +1 -2
  94. data/lib/rubygems/compatibility.rb +1 -21
  95. data/lib/rubygems/config_file.rb +36 -36
  96. data/lib/rubygems/core_ext/kernel_require.rb +6 -6
  97. data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
  98. data/lib/rubygems/defaults.rb +31 -19
  99. data/lib/rubygems/dependency.rb +15 -15
  100. data/lib/rubygems/dependency_installer.rb +30 -33
  101. data/lib/rubygems/dependency_list.rb +9 -10
  102. data/lib/rubygems/deprecate.rb +2 -3
  103. data/lib/rubygems/doctor.rb +5 -6
  104. data/lib/rubygems/errors.rb +3 -3
  105. data/lib/rubygems/exceptions.rb +11 -8
  106. data/lib/rubygems/ext/build_error.rb +0 -1
  107. data/lib/rubygems/ext/builder.rb +50 -23
  108. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  109. data/lib/rubygems/ext/configure_builder.rb +2 -3
  110. data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
  111. data/lib/rubygems/ext/rake_builder.rb +16 -18
  112. data/lib/rubygems/ext.rb +0 -1
  113. data/lib/rubygems/gem_runner.rb +2 -2
  114. data/lib/rubygems/gemcutter_utilities.rb +46 -12
  115. data/lib/rubygems/indexer.rb +19 -12
  116. data/lib/rubygems/install_default_message.rb +0 -1
  117. data/lib/rubygems/install_message.rb +0 -1
  118. data/lib/rubygems/install_update_options.rb +3 -29
  119. data/lib/rubygems/installer.rb +97 -55
  120. data/lib/rubygems/installer_test_case.rb +2 -16
  121. data/lib/rubygems/local_remote_options.rb +5 -4
  122. data/lib/rubygems/mock_gem_ui.rb +3 -4
  123. data/lib/rubygems/name_tuple.rb +4 -4
  124. data/lib/rubygems/package/digest_io.rb +3 -4
  125. data/lib/rubygems/package/file_source.rb +3 -4
  126. data/lib/rubygems/package/io_source.rb +1 -2
  127. data/lib/rubygems/package/old.rb +8 -16
  128. data/lib/rubygems/package/source.rb +0 -1
  129. data/lib/rubygems/package/tar_header.rb +13 -4
  130. data/lib/rubygems/package/tar_reader/entry.rb +20 -4
  131. data/lib/rubygems/package/tar_reader.rb +2 -4
  132. data/lib/rubygems/package/tar_test_case.rb +2 -8
  133. data/lib/rubygems/package/tar_writer.rb +13 -15
  134. data/lib/rubygems/package.rb +90 -63
  135. data/lib/rubygems/package_task.rb +0 -1
  136. data/lib/rubygems/path_support.rb +16 -6
  137. data/lib/rubygems/platform.rb +4 -5
  138. data/lib/rubygems/psych_tree.rb +1 -1
  139. data/lib/rubygems/rdoc.rb +2 -313
  140. data/lib/rubygems/remote_fetcher.rb +29 -82
  141. data/lib/rubygems/request/connection_pools.rb +24 -13
  142. data/lib/rubygems/request/http_pool.rb +3 -4
  143. data/lib/rubygems/request/https_pool.rb +1 -3
  144. data/lib/rubygems/request.rb +17 -16
  145. data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
  146. data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
  147. data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
  148. data/lib/rubygems/request_set/lockfile.rb +12 -12
  149. data/lib/rubygems/request_set.rb +52 -25
  150. data/lib/rubygems/requirement.rb +32 -21
  151. data/lib/rubygems/resolver/activation_request.rb +6 -6
  152. data/lib/rubygems/resolver/api_set.rb +5 -6
  153. data/lib/rubygems/resolver/api_specification.rb +2 -3
  154. data/lib/rubygems/resolver/best_set.rb +5 -6
  155. data/lib/rubygems/resolver/composed_set.rb +5 -6
  156. data/lib/rubygems/resolver/conflict.rb +5 -5
  157. data/lib/rubygems/resolver/current_set.rb +1 -2
  158. data/lib/rubygems/resolver/dependency_request.rb +4 -4
  159. data/lib/rubygems/resolver/git_set.rb +5 -6
  160. data/lib/rubygems/resolver/git_specification.rb +4 -5
  161. data/lib/rubygems/resolver/index_set.rb +5 -6
  162. data/lib/rubygems/resolver/index_specification.rb +3 -4
  163. data/lib/rubygems/resolver/installed_specification.rb +3 -4
  164. data/lib/rubygems/resolver/installer_set.rb +12 -12
  165. data/lib/rubygems/resolver/local_specification.rb +1 -2
  166. data/lib/rubygems/resolver/lock_set.rb +5 -6
  167. data/lib/rubygems/resolver/lock_specification.rb +7 -8
  168. data/lib/rubygems/resolver/requirement_list.rb +1 -1
  169. data/lib/rubygems/resolver/set.rb +2 -2
  170. data/lib/rubygems/resolver/source_set.rb +4 -5
  171. data/lib/rubygems/resolver/spec_specification.rb +1 -2
  172. data/lib/rubygems/resolver/specification.rb +10 -7
  173. data/lib/rubygems/resolver/stats.rb +1 -1
  174. data/lib/rubygems/resolver/vendor_set.rb +4 -5
  175. data/lib/rubygems/resolver/vendor_specification.rb +2 -3
  176. data/lib/rubygems/resolver.rb +14 -16
  177. data/lib/rubygems/s3_uri_signer.rb +183 -0
  178. data/lib/rubygems/safe_yaml.rb +18 -10
  179. data/lib/rubygems/security/policies.rb +1 -2
  180. data/lib/rubygems/security/policy.rb +25 -25
  181. data/lib/rubygems/security/signer.rb +72 -24
  182. data/lib/rubygems/security/trust_dir.rb +10 -10
  183. data/lib/rubygems/security.rb +21 -22
  184. data/lib/rubygems/security_option.rb +0 -1
  185. data/lib/rubygems/server.rb +21 -21
  186. data/lib/rubygems/source/git.rb +9 -10
  187. data/lib/rubygems/source/installed.rb +3 -4
  188. data/lib/rubygems/source/local.rb +7 -7
  189. data/lib/rubygems/source/lock.rb +4 -4
  190. data/lib/rubygems/source/specific_file.rb +5 -5
  191. data/lib/rubygems/source/vendor.rb +2 -3
  192. data/lib/rubygems/source.rb +16 -25
  193. data/lib/rubygems/source_list.rb +2 -2
  194. data/lib/rubygems/source_local.rb +0 -1
  195. data/lib/rubygems/spec_fetcher.rb +5 -6
  196. data/lib/rubygems/specification.rb +219 -558
  197. data/lib/rubygems/specification_policy.rb +407 -0
  198. data/lib/rubygems/stub_specification.rb +12 -17
  199. data/lib/rubygems/test_case.rb +161 -75
  200. data/lib/rubygems/test_utilities.rb +20 -35
  201. data/lib/rubygems/text.rb +6 -6
  202. data/lib/rubygems/uninstaller.rb +38 -27
  203. data/lib/rubygems/uri_formatter.rb +1 -2
  204. data/lib/rubygems/user_interaction.rb +37 -89
  205. data/lib/rubygems/util/licenses.rb +27 -1
  206. data/lib/rubygems/util/list.rb +1 -1
  207. data/lib/rubygems/util.rb +32 -14
  208. data/lib/rubygems/validator.rb +4 -5
  209. data/lib/rubygems/version.rb +15 -15
  210. data/lib/rubygems/version_option.rb +2 -3
  211. data/lib/rubygems.rb +71 -102
  212. data/rubygems-update.gemspec +43 -0
  213. data/setup.rb +2 -8
  214. data/test/rubygems/ca_cert.pem +74 -65
  215. data/test/rubygems/client.pem +103 -45
  216. data/test/rubygems/rubygems_plugin.rb +0 -1
  217. data/test/rubygems/simple_gem.rb +1 -1
  218. data/test/rubygems/ssl_cert.pem +78 -17
  219. data/test/rubygems/ssl_key.pem +25 -13
  220. data/test/rubygems/test_bundled_ca.rb +1 -1
  221. data/test/rubygems/test_config.rb +7 -2
  222. data/test/rubygems/test_gem.rb +205 -132
  223. data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
  224. data/test/rubygems/test_gem_command.rb +0 -1
  225. data/test/rubygems/test_gem_command_manager.rb +18 -3
  226. data/test/rubygems/test_gem_commands_build_command.rb +220 -15
  227. data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
  228. data/test/rubygems/test_gem_commands_check_command.rb +1 -1
  229. data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
  230. data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
  231. data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
  232. data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
  233. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
  234. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
  235. data/test/rubygems/test_gem_commands_help_command.rb +7 -4
  236. data/test/rubygems/test_gem_commands_info_command.rb +44 -0
  237. data/test/rubygems/test_gem_commands_install_command.rb +79 -12
  238. data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
  239. data/test/rubygems/test_gem_commands_open_command.rb +29 -0
  240. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
  241. data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
  242. data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
  243. data/test/rubygems/test_gem_commands_push_command.rb +54 -0
  244. data/test/rubygems/test_gem_commands_query_command.rb +102 -100
  245. data/test/rubygems/test_gem_commands_search_command.rb +0 -1
  246. data/test/rubygems/test_gem_commands_server_command.rb +0 -1
  247. data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
  248. data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
  249. data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
  250. data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
  251. data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
  252. data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
  253. data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
  254. data/test/rubygems/test_gem_commands_update_command.rb +19 -2
  255. data/test/rubygems/test_gem_commands_which_command.rb +0 -1
  256. data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
  257. data/test/rubygems/test_gem_config_file.rb +4 -2
  258. data/test/rubygems/test_gem_dependency.rb +0 -1
  259. data/test/rubygems/test_gem_dependency_installer.rb +8 -5
  260. data/test/rubygems/test_gem_dependency_list.rb +6 -7
  261. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
  262. data/test/rubygems/test_gem_doctor.rb +1 -2
  263. data/test/rubygems/test_gem_ext_builder.rb +10 -23
  264. data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
  265. data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
  266. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
  267. data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
  268. data/test/rubygems/test_gem_gem_runner.rb +0 -1
  269. data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
  270. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
  271. data/test/rubygems/test_gem_indexer.rb +16 -10
  272. data/test/rubygems/test_gem_install_update_options.rb +1 -20
  273. data/test/rubygems/test_gem_installer.rb +154 -119
  274. data/test/rubygems/test_gem_local_remote_options.rb +3 -3
  275. data/test/rubygems/test_gem_name_tuple.rb +0 -1
  276. data/test/rubygems/test_gem_package.rb +77 -31
  277. data/test/rubygems/test_gem_package_old.rb +0 -1
  278. data/test/rubygems/test_gem_package_tar_header.rb +42 -2
  279. data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
  280. data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
  281. data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
  282. data/test/rubygems/test_gem_package_task.rb +2 -2
  283. data/test/rubygems/test_gem_path_support.rb +28 -11
  284. data/test/rubygems/test_gem_platform.rb +4 -5
  285. data/test/rubygems/test_gem_rdoc.rb +1 -136
  286. data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
  287. data/test/rubygems/test_gem_request.rb +9 -9
  288. data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
  289. data/test/rubygems/test_gem_request_set.rb +5 -5
  290. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
  291. data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
  292. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
  293. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  294. data/test/rubygems/test_gem_requirement.rb +24 -4
  295. data/test/rubygems/test_gem_resolver.rb +13 -17
  296. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
  297. data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
  298. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
  299. data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
  300. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
  301. data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
  302. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
  303. data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
  304. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
  305. data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
  306. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
  307. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
  308. data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
  309. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
  310. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
  311. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
  312. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
  313. data/test/rubygems/test_gem_resolver_specification.rb +1 -2
  314. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
  315. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
  316. data/test/rubygems/test_gem_security.rb +1 -3
  317. data/test/rubygems/test_gem_security_policy.rb +5 -6
  318. data/test/rubygems/test_gem_security_signer.rb +4 -3
  319. data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
  320. data/test/rubygems/test_gem_server.rb +4 -4
  321. data/test/rubygems/test_gem_source.rb +0 -13
  322. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
  323. data/test/rubygems/test_gem_source_git.rb +0 -1
  324. data/test/rubygems/test_gem_source_installed.rb +0 -1
  325. data/test/rubygems/test_gem_source_lock.rb +0 -1
  326. data/test/rubygems/test_gem_source_vendor.rb +0 -1
  327. data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
  328. data/test/rubygems/test_gem_specification.rb +366 -198
  329. data/test/rubygems/test_gem_stream_ui.rb +15 -32
  330. data/test/rubygems/test_gem_stub_specification.rb +0 -2
  331. data/test/rubygems/test_gem_text.rb +4 -0
  332. data/test/rubygems/test_gem_uninstaller.rb +42 -3
  333. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
  334. data/test/rubygems/test_gem_uri_formatter.rb +0 -1
  335. data/test/rubygems/test_gem_util.rb +31 -11
  336. data/test/rubygems/test_gem_validator.rb +0 -1
  337. data/test/rubygems/test_gem_version.rb +11 -11
  338. data/test/rubygems/test_gem_version_option.rb +0 -1
  339. data/test/rubygems/test_remote_fetch_error.rb +0 -1
  340. data/test/rubygems/test_require.rb +67 -52
  341. data/util/CL2notes +1 -2
  342. data/util/ci +20 -12
  343. data/util/cops/deprecations.rb +52 -0
  344. data/util/create_certs.rb +6 -7
  345. data/util/create_certs.sh +27 -0
  346. data/util/create_encrypted_key.rb +4 -5
  347. data/util/patch_with_prs.rb +1 -1
  348. data/util/rubocop +8 -0
  349. data/util/update_bundled_ca_certificates.rb +12 -13
  350. data/util/update_changelog.rb +1 -1
  351. metadata +61 -51
  352. data/.autotest +0 -71
  353. data/.document +0 -5
  354. data/CONTRIBUTING.rdoc +0 -130
  355. data/CVE-2013-4287.txt +0 -35
  356. data/CVE-2013-4363.txt +0 -45
  357. data/CVE-2015-3900.txt +0 -40
  358. data/POLICIES.rdoc +0 -74
  359. data/test/rubygems/fix_openssl_warnings.rb +0 -13
@@ -10,7 +10,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
10
10
  if File.exist?(bundler_gemspec)
11
11
  BUNDLER_VERS = File.read(bundler_gemspec).match(/VERSION = "(#{Gem::Version::VERSION_PATTERN})"/)[1]
12
12
  else
13
- BUNDLER_VERS = "1.16.2"
13
+ BUNDLER_VERS = "1.16.2".freeze
14
14
  end
15
15
 
16
16
  def setup
@@ -38,6 +38,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
38
38
  FileUtils.mkdir_p 'default/gems'
39
39
 
40
40
  gemspec = Gem::Specification.new
41
+ gemspec.author = "Us"
41
42
  gemspec.name = "bundler"
42
43
  gemspec.version = BUNDLER_VERS
43
44
  gemspec.bindir = "exe"
@@ -66,7 +67,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
66
67
  FileUtils.mkdir_p 'default/gems/bundler-audit-1.0.0'
67
68
  end
68
69
 
69
- def gem_install name
70
+ def gem_install(name)
70
71
  gem = util_spec name do |s|
71
72
  s.executables = [name]
72
73
  s.files = %W[bin/#{name}]
@@ -103,6 +104,40 @@ class TestGemCommandsSetupCommand < Gem::TestCase
103
104
  assert_equal "I changed it!\n", File.read(gem_bin_path)
104
105
  end
105
106
 
107
+ def test_env_shebang_flag
108
+ gem_bin_path = gem_install 'a'
109
+ write_file gem_bin_path do |io|
110
+ io.puts 'I changed it!'
111
+ end
112
+
113
+ @cmd.options[:document] = []
114
+ @cmd.options[:env_shebang] = true
115
+ @cmd.execute
116
+
117
+ gem_exec = sprintf Gem.default_exec_format, 'gem'
118
+ default_gem_bin_path = File.join @install_dir, 'bin', gem_exec
119
+ if Gem::USE_BUNDLER_FOR_GEMDEPS
120
+ bundle_exec = sprintf Gem.default_exec_format, 'bundle'
121
+ default_bundle_bin_path = File.join @install_dir, 'bin', bundle_exec
122
+ end
123
+
124
+ ruby_exec = sprintf Gem.default_exec_format, 'ruby'
125
+
126
+ if Gem.win_platform?
127
+ assert_match %r%\A#!\s*#{ruby_exec}%, File.read(default_gem_bin_path)
128
+ if Gem::USE_BUNDLER_FOR_GEMDEPS
129
+ assert_match %r%\A#!\s*#{ruby_exec}%, File.read(default_bundle_bin_path)
130
+ end
131
+ assert_match %r%\A#!\s*#{ruby_exec}%, File.read(gem_bin_path)
132
+ else
133
+ assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_gem_bin_path)
134
+ if Gem::USE_BUNDLER_FOR_GEMDEPS
135
+ assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_bundle_bin_path)
136
+ end
137
+ assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(gem_bin_path)
138
+ end
139
+ end
140
+
106
141
  def test_pem_files_in
107
142
  assert_equal %w[rubygems/ssl_certs/rubygems.org/foo.pem],
108
143
  @cmd.pem_files_in('lib').sort
@@ -132,16 +167,19 @@ class TestGemCommandsSetupCommand < Gem::TestCase
132
167
  def test_install_default_bundler_gem
133
168
  @cmd.extend FileUtils
134
169
 
135
- @cmd.install_default_bundler_gem
170
+ bin_dir = File.join(@gemhome, 'bin')
171
+ @cmd.install_default_bundler_gem bin_dir
136
172
 
137
- if Gem.win_platform?
138
- bundler_spec = Gem::Specification.load("bundler/bundler.gemspec")
139
- default_spec_path = File.join(Gem::Specification.default_specifications_dir, "#{bundler_spec.full_name}.gemspec")
140
- spec = Gem::Specification.load(default_spec_path)
173
+ bundler_spec = Gem::Specification.load("bundler/bundler.gemspec")
174
+ default_spec_path = File.join(Gem::Specification.default_specifications_dir, "#{bundler_spec.full_name}.gemspec")
175
+ spec = Gem::Specification.load(default_spec_path)
141
176
 
142
- spec.executables.each do |e|
143
- assert_path_exists File.join(spec.bin_dir, "#{e}.bat")
177
+ spec.executables.each do |e|
178
+ if Gem.win_platform?
179
+ assert_path_exists File.join(bin_dir, "#{e}.bat")
144
180
  end
181
+
182
+ assert_path_exists File.join bin_dir, e
145
183
  end
146
184
 
147
185
  default_dir = Gem::Specification.default_specifications_dir
@@ -207,11 +245,8 @@ class TestGemCommandsSetupCommand < Gem::TestCase
207
245
  end
208
246
 
209
247
  def test_show_release_notes
210
- @default_external = nil
211
- if Object.const_defined? :Encoding
212
- @default_external = @ui.outs.external_encoding
213
- @ui.outs.set_encoding Encoding::US_ASCII
214
- end
248
+ @default_external = @ui.outs.external_encoding
249
+ @ui.outs.set_encoding Encoding::US_ASCII
215
250
 
216
251
  @cmd.options[:previous_version] = Gem::Version.new '2.0.2'
217
252
 
@@ -256,7 +291,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
256
291
  EXPECTED
257
292
 
258
293
  output = @ui.output
259
- output.force_encoding Encoding::UTF_8 if Object.const_defined? :Encoding
294
+ output.force_encoding Encoding::UTF_8
260
295
 
261
296
  assert_equal expected, output
262
297
  ensure
@@ -74,7 +74,7 @@ class TestGemCommandsSigninCommand < Gem::TestCase
74
74
 
75
75
  # Utility method to capture IO/UI within the block passed
76
76
 
77
- def util_capture ui_stub = nil, host = nil, api_key = nil
77
+ def util_capture(ui_stub = nil, host = nil, api_key = nil)
78
78
  api_key ||= 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903'
79
79
  response = [api_key, 200, 'OK']
80
80
  email = 'you@example.com'
@@ -298,4 +298,3 @@ beta-gems.example.com is not a URI
298
298
  end
299
299
 
300
300
  end
301
-
@@ -105,7 +105,7 @@ class TestGemCommandsSpecificationCommand < Gem::TestCase
105
105
  end
106
106
 
107
107
  def test_execute_field
108
- foo = new_spec 'foo', '2'
108
+ foo = util_spec 'foo', '2'
109
109
 
110
110
  install_specs foo
111
111
 
@@ -137,7 +137,7 @@ class TestGemCommandsSpecificationCommand < Gem::TestCase
137
137
  end
138
138
 
139
139
  def test_execute_marshal
140
- foo = new_spec 'foo', '2'
140
+ foo = util_spec 'foo', '2'
141
141
 
142
142
  install_specs foo
143
143
 
@@ -248,4 +248,3 @@ class TestGemCommandsSpecificationCommand < Gem::TestCase
248
248
  end
249
249
 
250
250
  end
251
-
@@ -6,6 +6,7 @@ class TestGemCommandsStaleCommand < Gem::TestCase
6
6
 
7
7
  def setup
8
8
  super
9
+ @stub_ui = Gem::MockGemUi.new
9
10
  @cmd = Gem::Commands::StaleCommand.new
10
11
  end
11
12
 
@@ -31,11 +32,11 @@ class TestGemCommandsStaleCommand < Gem::TestCase
31
32
  FileUtils.touch(filename, :mtime => Time.now - 86400)
32
33
  end
33
34
 
34
- use_ui @ui do
35
+ use_ui @stub_ui do
35
36
  @cmd.execute
36
37
  end
37
38
 
38
- lines = @ui.output.split("\n")
39
+ lines = @stub_ui.output.split("\n")
39
40
  assert_equal("#{foo_bar.name}-#{foo_bar.version}", lines[0].split.first)
40
41
  assert_equal("#{bar_baz.name}-#{bar_baz.version}", lines[1].split.first)
41
42
  end
@@ -83,7 +83,7 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
83
83
  end
84
84
  end
85
85
 
86
- if win_platform? then
86
+ if win_platform?
87
87
  assert File.exist?(@executable)
88
88
  else
89
89
  assert File.symlink?(@executable)
@@ -151,12 +151,14 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
151
151
  assert_match(/Successfully uninstalled/, output)
152
152
  end
153
153
 
154
- def test_execute_with_force_leaves_executable
154
+ def test_execute_with_version_leaves_non_matching_versions
155
155
  ui = Gem::MockGemUi.new
156
156
 
157
157
  util_make_gems
158
158
  util_setup_gem ui
159
159
 
160
+ assert_equal 3, Gem::Specification.find_all_by_name('a').length
161
+
160
162
  @cmd.options[:version] = '1'
161
163
  @cmd.options[:force] = true
162
164
  @cmd.options[:args] = ['a']
@@ -165,17 +167,99 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
165
167
  @cmd.execute
166
168
  end
167
169
 
168
- assert !Gem::Specification.all_names.include?('a')
170
+ assert_equal 2, Gem::Specification.find_all_by_name('a').length
171
+
169
172
  assert File.exist? File.join(@gemhome, 'bin', 'executable')
170
173
  end
171
174
 
172
- def test_execute_with_force_uninstalls_all_versions
175
+ def test_execute_with_version_specified_as_colon
173
176
  ui = Gem::MockGemUi.new "y\n"
174
177
 
175
178
  util_make_gems
176
179
  util_setup_gem ui
177
180
 
178
- assert Gem::Specification.find_all_by_name('a').length > 1
181
+ assert_equal 3, Gem::Specification.find_all_by_name('a').length
182
+
183
+ @cmd.options[:force] = true
184
+ @cmd.options[:args] = ['a:1']
185
+
186
+ use_ui ui do
187
+ @cmd.execute
188
+ end
189
+
190
+ assert_equal 2, Gem::Specification.find_all_by_name('a').length
191
+
192
+ assert File.exist? File.join(@gemhome, 'bin', 'executable')
193
+ end
194
+
195
+ def test_uninstall_selection
196
+ ui = Gem::MockGemUi.new "1\n"
197
+
198
+ util_make_gems
199
+
200
+ list = Gem::Specification.find_all_by_name 'a'
201
+
202
+ @cmd.options[:args] = ['a']
203
+
204
+ use_ui ui do
205
+ @cmd.execute
206
+ end
207
+
208
+ updated_list = Gem::Specification.find_all_by_name('a')
209
+ assert_equal list.length - 1, updated_list.length
210
+
211
+ assert_match ' 1. a-1', ui.output
212
+ assert_match ' 2. a-2', ui.output
213
+ assert_match ' 3. a-3.a', ui.output
214
+ assert_match ' 4. All versions', ui.output
215
+ assert_match 'uninstalled a-1', ui.output
216
+ end
217
+
218
+ def test_uninstall_selection_multiple_gems
219
+ ui = Gem::MockGemUi.new "1\n"
220
+
221
+ util_make_gems
222
+
223
+ a_list = Gem::Specification.find_all_by_name('a')
224
+ b_list = Gem::Specification.find_all_by_name('b')
225
+ list = a_list + b_list
226
+
227
+ @cmd.options[:args] = ['a', 'b']
228
+
229
+ use_ui ui do
230
+ @cmd.execute
231
+ end
232
+
233
+ updated_a_list = Gem::Specification.find_all_by_name('a')
234
+ updated_b_list = Gem::Specification.find_all_by_name('b')
235
+ updated_list = updated_a_list + updated_b_list
236
+
237
+ assert_equal list.length - 2, updated_list.length
238
+
239
+ out = ui.output.split("\n")
240
+ assert_match 'uninstalled b-2', out.shift
241
+ assert_match '', out.shift
242
+ assert_match 'Select gem to uninstall:', out.shift
243
+ assert_match ' 1. a-1', out.shift
244
+ assert_match ' 2. a-2', out.shift
245
+ assert_match ' 3. a-3.a', out.shift
246
+ assert_match ' 4. All versions', out.shift
247
+ assert_match 'uninstalled a-1', out.shift
248
+ assert_empty out
249
+ end
250
+
251
+ def test_execute_with_force_and_without_version_uninstalls_everything
252
+ ui = Gem::MockGemUi.new "y\n"
253
+
254
+ a_1, = util_gem 'a', 1
255
+ install_gem a_1
256
+
257
+ a_3a, = util_gem 'a', '3.a'
258
+ install_gem a_3a
259
+
260
+ util_setup_gem ui
261
+
262
+ assert_equal 3, Gem::Specification.find_all_by_name('a').length
179
263
 
180
264
  @cmd.options[:force] = true
181
265
  @cmd.options[:args] = ['a']
@@ -184,7 +268,9 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
184
268
  @cmd.execute
185
269
  end
186
270
 
187
- refute_includes Gem::Specification.all_names, 'a'
271
+ assert_empty Gem::Specification.find_all_by_name('a')
272
+ assert_match "Removing executable", ui.output
273
+ refute File.exist? @executable
188
274
  end
189
275
 
190
276
  def test_execute_with_force_ignores_dependencies
@@ -216,7 +302,7 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
216
302
  gemhome2 = "#{@gemhome}2"
217
303
 
218
304
  a_4, = util_gem 'a', 4
219
- install_gem a_4, :install_dir => gemhome2
305
+ install_gem a_4
220
306
 
221
307
  Gem::Specification.dirs = [@gemhome, gemhome2]
222
308
 
@@ -234,6 +320,29 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
234
320
  assert_equal %w[default-1], Gem::Specification.all_names.sort
235
321
  end
236
322
 
323
+ def test_execute_outside_gem_home
324
+ ui = Gem::MockGemUi.new "y\n"
325
+
326
+ gemhome2 = "#{@gemhome}2"
327
+
328
+ a_4, = util_gem 'a', 4
329
+ install_gem a_4 , :install_dir => gemhome2
330
+
331
+ Gem::Specification.dirs = [@gemhome, gemhome2]
332
+
333
+ assert_includes Gem::Specification.all_names, 'a-4'
334
+
335
+ @cmd.options[:args] = ['a:4']
336
+
337
+ e = assert_raises Gem::InstallError do
338
+ use_ui ui do
339
+ @cmd.execute
340
+ end
341
+ end
342
+
343
+ assert_includes e.message, "a is not installed in GEM_HOME"
344
+ end
345
+
237
346
  def test_handle_options
238
347
  @cmd.handle_options %w[]
239
348
 
@@ -261,6 +370,25 @@ WARNING: Use your OS package manager to uninstall vendor gems
261
370
  assert_match expected, @ui.error
262
371
  end
263
372
 
373
+ def test_execute_two_version
374
+ @cmd.options[:args] = %w[a b]
375
+ @cmd.options[:version] = Gem::Requirement.new("> 1")
376
+
377
+ use_ui @ui do
378
+ e = assert_raises Gem::MockGemUi::TermError do
379
+ @cmd.execute
380
+ end
381
+
382
+ assert_equal 1, e.exit_code
383
+ end
384
+
385
+ msg = "ERROR: Can't use --version with multiple gems. You can specify multiple gems with" \
386
+ " version requirements using `gem uninstall 'my_gem:1.0.0' 'my_other_gem:~>2.0.0'`"
387
+
388
+ assert_empty @ui.output
389
+ assert_equal msg, @ui.error.lines.last.chomp
390
+ end
391
+
264
392
  def test_handle_options_vendor_missing
265
393
  orig_vendordir = RbConfig::CONFIG['vendordir']
266
394
  RbConfig::CONFIG.delete 'vendordir'
@@ -291,5 +419,30 @@ WARNING: Use your OS package manager to uninstall vendor gems
291
419
  assert_equal output.first, "Gem 'd' is not installed"
292
420
  end
293
421
 
294
- end
422
+ def test_execute_with_gem_uninstall_error
423
+ util_make_gems
424
+
425
+ @cmd.options[:args] = %w[a]
426
+
427
+ uninstall_exception = lambda do |_a|
428
+ ex = Gem::UninstallError.new
429
+ ex.spec = @spec
295
430
 
431
+ raise ex
432
+ end
433
+
434
+ e = nil
435
+ @cmd.stub :uninstall, uninstall_exception do
436
+ use_ui @ui do
437
+ e = assert_raises Gem::MockGemUi::TermError do
438
+ @cmd.execute
439
+ end
440
+ end
441
+
442
+ assert_equal 1, e.exit_code
443
+ end
444
+
445
+ assert_empty @ui.output
446
+ assert_match %r!Error: unable to successfully uninstall '#{@spec.name}'!, @ui.error
447
+ end
448
+ end
@@ -134,6 +134,23 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
134
134
  assert File.exist?(File.join(@tempdir, 'b-2.gemspec'))
135
135
  end
136
136
 
137
+ def test_execute_spec_target
138
+ util_make_gems
139
+
140
+ @cmd.options[:args] = %w[a b]
141
+ @cmd.options[:target] = 'specs'
142
+ @cmd.options[:spec] = true
143
+
144
+ use_ui @ui do
145
+ Dir.chdir @tempdir do
146
+ @cmd.execute
147
+ end
148
+ end
149
+
150
+ assert File.exist?(File.join(@tempdir, 'specs/a-3.a.gemspec'))
151
+ assert File.exist?(File.join(@tempdir, 'specs/b-2.gemspec'))
152
+ end
153
+
137
154
  def test_execute_sudo
138
155
  skip 'Cannot perform this test on windows (chmod)' if win_platform?
139
156
 
@@ -206,4 +223,3 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
206
223
  end
207
224
 
208
225
  end
209
-
@@ -217,7 +217,6 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
217
217
  end
218
218
 
219
219
  def test_execute_rdoc
220
- skip if RUBY_VERSION <= "1.8.7"
221
220
  spec_fetcher do |fetcher|
222
221
  fetcher.download 'a', 2
223
222
  fetcher.spec 'a', 1
@@ -504,5 +503,23 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
504
503
  assert_empty arguments
505
504
  end
506
505
 
507
- end
506
+ def test_explain
507
+ spec_fetcher do |fetcher|
508
+ fetcher.download 'a', 2
509
+ fetcher.spec 'a', 1
510
+ end
511
+
512
+ @cmd.options[:explain] = true
513
+ @cmd.options[:args] = %w[a]
514
+
515
+ use_ui @ui do
516
+ @cmd.execute
517
+ end
518
+
519
+ out = @ui.output.split "\n"
508
520
 
521
+ assert_equal "Gems to update:", out.shift
522
+ assert_equal " a-2", out.shift
523
+ assert_empty out
524
+ end
525
+ end
@@ -84,4 +84,3 @@ class TestGemCommandsWhichCommand < Gem::TestCase
84
84
  end
85
85
 
86
86
  end
87
-
@@ -97,4 +97,3 @@ class TestGemCommandsYankCommand < Gem::TestCase
97
97
  end
98
98
 
99
99
  end
100
-
@@ -44,6 +44,7 @@ class TestGemConfigFile < Gem::TestCase
44
44
  assert_equal Gem::ConfigFile::DEFAULT_BULK_THRESHOLD, @cfg.bulk_threshold
45
45
  assert_equal true, @cfg.verbose
46
46
  assert_equal [@gem_repo], Gem.sources
47
+ assert_equal 365, @cfg.cert_expiration_length_days
47
48
 
48
49
  File.open @temp_conf, 'w' do |fp|
49
50
  fp.puts ":backtrace: true"
@@ -58,6 +59,7 @@ class TestGemConfigFile < Gem::TestCase
58
59
  fp.puts "- /var/ruby/1.8/gem_home"
59
60
  fp.puts ":ssl_verify_mode: 0"
60
61
  fp.puts ":ssl_ca_cert: /etc/ssl/certs"
62
+ fp.puts ":cert_expiration_length_days: 28"
61
63
  end
62
64
 
63
65
  util_config_file
@@ -71,6 +73,7 @@ class TestGemConfigFile < Gem::TestCase
71
73
  @cfg.path)
72
74
  assert_equal 0, @cfg.ssl_verify_mode
73
75
  assert_equal '/etc/ssl/certs', @cfg.ssl_ca_cert
76
+ assert_equal 28, @cfg.cert_expiration_length_days
74
77
  end
75
78
 
76
79
  def test_initialize_handle_arguments_config_file
@@ -341,7 +344,7 @@ if you believe they were disclosed to a third party.
341
344
 
342
345
  assert_equal expected, YAML.load_file(@cfg.credentials_path)
343
346
 
344
- unless win_platform? then
347
+ unless win_platform?
345
348
  stat = File.stat @cfg.credentials_path
346
349
 
347
350
  assert_equal 0600, stat.mode & 0600
@@ -487,4 +490,3 @@ if you believe they were disclosed to a third party.
487
490
  assert_equal(true, @cfg.disable_default_gem_server)
488
491
  end
489
492
  end
490
-
@@ -387,4 +387,3 @@ class TestGemDependency < Gem::TestCase
387
387
 
388
388
 
389
389
  end
390
-
@@ -431,7 +431,7 @@ class TestGemDependencyInstaller < Gem::TestCase
431
431
  EXTCONF_RB
432
432
  end
433
433
 
434
- e1 = new_spec 'e', '1', nil, 'extconf.rb' do |s|
434
+ e1 = util_spec 'e', '1', nil, 'extconf.rb' do |s|
435
435
  s.extensions << 'extconf.rb'
436
436
  end
437
437
  e1_gem = File.join @tempdir, 'gems', "#{e1.full_name}.gem"
@@ -445,9 +445,13 @@ class TestGemDependencyInstaller < Gem::TestCase
445
445
  FileUtils.mv f1_gem, @tempdir
446
446
  inst = nil
447
447
 
448
- Dir.chdir @tempdir do
448
+ pwd = Dir.getwd
449
+ Dir.chdir @tempdir
450
+ begin
449
451
  inst = Gem::DependencyInstaller.new
450
452
  inst.install 'f'
453
+ ensure
454
+ Dir.chdir pwd
451
455
  end
452
456
 
453
457
  assert_equal %w[f-1], inst.installed_gems.map { |s| s.full_name }
@@ -893,7 +897,7 @@ class TestGemDependencyInstaller < Gem::TestCase
893
897
  assert_equal %w[a-1-cpu-other_platform-1], inst.installed_gems.map { |s| s.full_name }
894
898
  end
895
899
 
896
- if defined? OpenSSL then
900
+ if defined? OpenSSL
897
901
  def test_install_security_policy
898
902
  util_setup_gems
899
903
 
@@ -918,7 +922,7 @@ class TestGemDependencyInstaller < Gem::TestCase
918
922
  end
919
923
 
920
924
  # Wrappers don't work on mswin
921
- unless win_platform? then
925
+ unless win_platform?
922
926
  def test_install_no_wrappers
923
927
  util_setup_gems
924
928
 
@@ -1069,7 +1073,6 @@ class TestGemDependencyInstaller < Gem::TestCase
1069
1073
 
1070
1074
  assert_equal 'a-1', remote.spec.full_name, 'remote spec'
1071
1075
  assert_equal Gem::Source.new(@gem_repo), remote.source, 'remote path'
1072
-
1073
1076
  end
1074
1077
 
1075
1078
  def test_find_gems_with_sources_prerelease
@@ -11,7 +11,7 @@ class TestGemDependencyList < Gem::TestCase
11
11
 
12
12
  @deplist = Gem::DependencyList.new
13
13
 
14
- # TODO: switch to new_spec
14
+ # TODO: switch to util_spec
15
15
  @a1 = util_spec 'a', '1'
16
16
  @a2 = util_spec 'a', '2'
17
17
  @a3 = util_spec 'a', '3'
@@ -136,21 +136,21 @@ class TestGemDependencyList < Gem::TestCase
136
136
 
137
137
  exp = {
138
138
  "b" => [
139
- Gem::Dependency.new("a", ">= 1")
140
- ]
139
+ Gem::Dependency.new("a", ">= 1")
140
+ ]
141
141
  }
142
142
 
143
143
  assert_equal exp, @deplist.why_not_ok?
144
144
  end
145
145
 
146
146
  def test_why_not_ok_eh_old_dependency
147
- a = new_spec 'a', '1',
147
+ a = util_spec 'a', '1',
148
148
  'b' => '~> 1.0'
149
149
 
150
- b0 = new_spec 'b', '1.0',
150
+ b0 = util_spec 'b', '1.0',
151
151
  'd' => '>= 0'
152
152
 
153
- b1 = new_spec 'b', '1.1'
153
+ b1 = util_spec 'b', '1.1'
154
154
 
155
155
  util_clear_gems
156
156
 
@@ -257,4 +257,3 @@ class TestGemDependencyList < Gem::TestCase
257
257
  end
258
258
 
259
259
  end
260
-
@@ -26,4 +26,3 @@ class TestGemDependencyResolutionError < Gem::TestCase
26
26
  end
27
27
 
28
28
  end
29
-
@@ -4,7 +4,7 @@ require 'rubygems/doctor'
4
4
 
5
5
  class TestGemDoctor < Gem::TestCase
6
6
 
7
- def gem name
7
+ def gem(name)
8
8
  spec = quick_gem name do |gem|
9
9
  gem.files = %W[lib/#{name}.rb Rakefile]
10
10
  end
@@ -166,4 +166,3 @@ This directory does not appear to be a RubyGems repository, skipping
166
166
  end
167
167
 
168
168
  end
169
-