rubygems-update 3.1.2 → 3.2.6
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.
- checksums.yaml +4 -4
- data/{History.txt → CHANGELOG.md} +756 -489
- data/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +25 -11
- data/Manifest.txt +75 -104
- data/POLICIES.md +6 -12
- data/README.md +5 -5
- data/Rakefile +64 -92
- data/bin/update_rubygems +1 -1
- data/bundler/CHANGELOG.md +1636 -1422
- data/bundler/README.md +6 -8
- data/bundler/UPGRADING.md +18 -32
- data/bundler/bundler.gemspec +4 -4
- data/bundler/exe/bundle +3 -0
- data/bundler/lib/bundler.rb +32 -8
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli.rb +55 -21
- data/bundler/lib/bundler/cli/add.rb +1 -1
- data/bundler/lib/bundler/cli/binstubs.rb +6 -2
- data/bundler/lib/bundler/cli/cache.rb +1 -7
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +14 -0
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +4 -4
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +86 -11
- data/bundler/lib/bundler/cli/info.rb +15 -4
- data/bundler/lib/bundler/cli/init.rb +2 -2
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +16 -13
- data/bundler/lib/bundler/cli/issue.rb +2 -2
- data/bundler/lib/bundler/cli/list.rb +12 -10
- data/bundler/lib/bundler/cli/outdated.rb +87 -66
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +3 -1
- data/bundler/lib/bundler/compact_index_client.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/cache.rb +6 -14
- data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
- data/bundler/lib/bundler/compact_index_client/updater.rb +5 -13
- data/bundler/lib/bundler/definition.rb +66 -82
- data/bundler/lib/bundler/dep_proxy.rb +16 -9
- data/bundler/lib/bundler/dependency.rb +3 -10
- data/bundler/lib/bundler/dsl.rb +5 -9
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/env.rb +1 -1
- data/bundler/lib/bundler/environment_preserver.rb +26 -2
- data/bundler/lib/bundler/errors.rb +1 -0
- data/bundler/lib/bundler/feature_flag.rb +0 -3
- data/bundler/lib/bundler/fetcher.rb +4 -3
- data/bundler/lib/bundler/fetcher/base.rb +1 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
- data/bundler/lib/bundler/fetcher/index.rb +3 -4
- data/bundler/lib/bundler/friendly_errors.rb +22 -13
- data/bundler/lib/bundler/gem_helper.rb +33 -19
- data/bundler/lib/bundler/gem_helpers.rb +36 -25
- data/bundler/lib/bundler/gem_version_promoter.rb +4 -4
- data/bundler/lib/bundler/graph.rb +1 -1
- data/bundler/lib/bundler/index.rb +6 -2
- data/bundler/lib/bundler/injector.rb +22 -4
- data/bundler/lib/bundler/inline.rb +2 -2
- data/bundler/lib/bundler/installer.rb +35 -32
- data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
- data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
- data/bundler/lib/bundler/installer/standalone.rb +2 -2
- data/bundler/lib/bundler/lazy_specification.rb +35 -11
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/lockfile_parser.rb +1 -1
- data/bundler/lib/bundler/man/.document +1 -0
- data/bundler/{man → lib/bundler/man}/bundle-add.1 +1 -1
- data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
- data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
- data/bundler/{man → lib/bundler/man}/bundle-cache.1 +1 -1
- data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
- data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-clean.1 +1 -1
- data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-config.1 +16 -25
- data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
- data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
- data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-exec.1 +1 -1
- data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-gem.1 +25 -3
- data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
- data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
- data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-init.1 +1 -1
- data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-inject.1 +1 -1
- data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-install.1 +30 -3
- data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
- data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
- data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
- data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
- data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-open.1 +1 -1
- data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
- data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-platform.1 +1 -1
- data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
- data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
- data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
- data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-update.1 +1 -1
- data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-viz.1 +1 -1
- data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle.1 +1 -1
- data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/gemfile.5 +4 -4
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
- data/bundler/{man → lib/bundler/man}/index.txt +0 -0
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +30 -5
- data/bundler/lib/bundler/plugin/api/source.rb +1 -1
- data/bundler/lib/bundler/plugin/dsl.rb +1 -1
- data/bundler/lib/bundler/plugin/index.rb +10 -1
- data/bundler/lib/bundler/plugin/installer.rb +1 -1
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
- data/bundler/lib/bundler/plugin/source_list.rb +1 -1
- data/bundler/lib/bundler/psyched_yaml.rb +0 -15
- data/bundler/lib/bundler/remote_specification.rb +5 -2
- data/bundler/lib/bundler/resolver.rb +43 -19
- data/bundler/lib/bundler/resolver/spec_group.rb +39 -24
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +69 -9
- data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
- data/bundler/lib/bundler/rubygems_integration.rb +26 -61
- data/bundler/lib/bundler/runtime.rb +4 -14
- data/bundler/lib/bundler/settings.rb +49 -46
- data/bundler/lib/bundler/shared_helpers.rb +2 -2
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +23 -21
- data/bundler/lib/bundler/source/git/git_proxy.rb +82 -80
- data/bundler/lib/bundler/source/path.rb +7 -3
- data/bundler/lib/bundler/source/path/installer.rb +10 -10
- data/bundler/lib/bundler/source/rubygems.rb +23 -17
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +2 -2
- data/bundler/lib/bundler/spec_set.rb +8 -10
- data/bundler/lib/bundler/stub_specification.rb +17 -7
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -2
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +15 -7
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
- data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/ui/shell.rb +5 -5
- data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +48 -46
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -208
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
- data/bundler/lib/bundler/vendored_persistent.rb +0 -7
- data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/lib/rubygems.rb +138 -187
- data/lib/rubygems/available_set.rb +4 -6
- data/lib/rubygems/basic_specification.rb +12 -10
- data/lib/rubygems/bundler_version_finder.rb +14 -9
- data/lib/rubygems/command.rb +17 -17
- data/lib/rubygems/command_manager.rb +5 -6
- data/lib/rubygems/commands/build_command.rb +40 -20
- data/lib/rubygems/commands/cert_command.rb +2 -10
- data/lib/rubygems/commands/check_command.rb +0 -2
- data/lib/rubygems/commands/cleanup_command.rb +11 -7
- data/lib/rubygems/commands/contents_command.rb +4 -6
- data/lib/rubygems/commands/dependency_command.rb +6 -8
- data/lib/rubygems/commands/environment_command.rb +1 -3
- data/lib/rubygems/commands/fetch_command.rb +2 -4
- data/lib/rubygems/commands/generate_index_command.rb +0 -2
- data/lib/rubygems/commands/help_command.rb +4 -4
- data/lib/rubygems/commands/info_command.rb +8 -5
- data/lib/rubygems/commands/install_command.rb +3 -5
- data/lib/rubygems/commands/list_command.rb +8 -7
- data/lib/rubygems/commands/lock_command.rb +1 -3
- data/lib/rubygems/commands/mirror_command.rb +0 -2
- data/lib/rubygems/commands/open_command.rb +0 -4
- data/lib/rubygems/commands/outdated_command.rb +0 -2
- data/lib/rubygems/commands/owner_command.rb +9 -4
- data/lib/rubygems/commands/pristine_command.rb +11 -5
- data/lib/rubygems/commands/push_command.rb +10 -47
- data/lib/rubygems/commands/query_command.rb +14 -344
- data/lib/rubygems/commands/rdoc_command.rb +0 -2
- data/lib/rubygems/commands/search_command.rb +7 -7
- data/lib/rubygems/commands/server_command.rb +3 -1
- data/lib/rubygems/commands/setup_command.rb +101 -74
- data/lib/rubygems/commands/signin_command.rb +0 -2
- data/lib/rubygems/commands/signout_command.rb +0 -2
- data/lib/rubygems/commands/sources_command.rb +9 -7
- data/lib/rubygems/commands/specification_command.rb +8 -4
- data/lib/rubygems/commands/stale_command.rb +1 -3
- data/lib/rubygems/commands/uninstall_command.rb +2 -4
- data/lib/rubygems/commands/unpack_command.rb +1 -3
- data/lib/rubygems/commands/update_command.rb +59 -14
- data/lib/rubygems/commands/which_command.rb +0 -2
- data/lib/rubygems/commands/yank_command.rb +4 -7
- data/lib/rubygems/config_file.rb +11 -4
- data/lib/rubygems/core_ext/kernel_require.rb +29 -36
- data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
- data/lib/rubygems/defaults.rb +101 -7
- data/lib/rubygems/dependency.rb +3 -8
- data/lib/rubygems/dependency_installer.rb +6 -78
- data/lib/rubygems/dependency_list.rb +7 -9
- data/lib/rubygems/deprecate.rb +46 -1
- data/lib/rubygems/doctor.rb +4 -4
- data/lib/rubygems/errors.rb +3 -14
- data/lib/rubygems/exceptions.rb +2 -33
- data/lib/rubygems/ext.rb +6 -6
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +21 -39
- data/lib/rubygems/ext/cmake_builder.rb +6 -9
- data/lib/rubygems/ext/configure_builder.rb +5 -8
- data/lib/rubygems/ext/ext_conf_builder.rb +21 -19
- data/lib/rubygems/ext/rake_builder.rb +4 -6
- data/lib/rubygems/gem_runner.rb +3 -10
- data/lib/rubygems/gemcutter_utilities.rb +102 -21
- data/lib/rubygems/indexer.rb +1 -22
- data/lib/rubygems/install_update_options.rb +7 -7
- data/lib/rubygems/installer.rb +59 -80
- data/lib/rubygems/installer_test_case.rb +25 -11
- data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +0 -6
- data/lib/rubygems/name_tuple.rb +3 -7
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/package.rb +14 -25
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +0 -2
- data/lib/rubygems/package/io_source.rb +0 -2
- data/lib/rubygems/package/old.rb +1 -3
- data/lib/rubygems/package/tar_header.rb +4 -6
- data/lib/rubygems/package/tar_reader.rb +0 -3
- data/lib/rubygems/package/tar_reader/entry.rb +0 -3
- data/lib/rubygems/package/tar_test_case.rb +2 -4
- data/lib/rubygems/package/tar_writer.rb +2 -12
- data/lib/rubygems/package_task.rb +1 -7
- data/lib/rubygems/path_support.rb +1 -3
- data/lib/rubygems/platform.rb +21 -16
- data/lib/rubygems/psych_tree.rb +0 -2
- data/lib/rubygems/query_utils.rb +353 -0
- data/lib/rubygems/rdoc.rb +0 -12
- data/lib/rubygems/remote_fetcher.rb +14 -29
- data/lib/rubygems/request.rb +4 -11
- data/lib/rubygems/request/connection_pools.rb +1 -5
- data/lib/rubygems/request/http_pool.rb +0 -2
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request_set.rb +7 -20
- data/lib/rubygems/request_set/gem_dependency_api.rb +6 -8
- data/lib/rubygems/request_set/lockfile.rb +8 -12
- data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
- data/lib/rubygems/requirement.rb +21 -22
- data/lib/rubygems/resolver.rb +14 -12
- data/lib/rubygems/resolver/activation_request.rb +9 -3
- data/lib/rubygems/resolver/api_set.rb +31 -24
- data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
- data/lib/rubygems/resolver/api_specification.rb +24 -10
- data/lib/rubygems/resolver/best_set.rb +2 -4
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +2 -4
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +1 -3
- data/lib/rubygems/resolver/git_set.rb +0 -2
- data/lib/rubygems/resolver/git_specification.rb +0 -2
- data/lib/rubygems/resolver/index_set.rb +1 -3
- data/lib/rubygems/resolver/index_specification.rb +29 -2
- data/lib/rubygems/resolver/installed_specification.rb +0 -2
- data/lib/rubygems/resolver/installer_set.rb +60 -13
- data/lib/rubygems/resolver/local_specification.rb +0 -2
- data/lib/rubygems/resolver/lock_set.rb +2 -4
- data/lib/rubygems/resolver/lock_specification.rb +0 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +39 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +43 -10
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +75 -7
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +506 -165
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/rubygems/resolver/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -2
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +14 -2
- data/lib/rubygems/resolver/specification.rb +13 -3
- data/lib/rubygems/resolver/stats.rb +0 -2
- data/lib/rubygems/resolver/vendor_set.rb +0 -2
- data/lib/rubygems/resolver/vendor_specification.rb +0 -2
- data/lib/rubygems/s3_uri_signer.rb +2 -8
- data/lib/rubygems/safe_yaml.rb +4 -4
- data/lib/rubygems/security.rb +27 -34
- data/lib/rubygems/security/policy.rb +4 -8
- data/lib/rubygems/security/signer.rb +5 -7
- data/lib/rubygems/security/trust_dir.rb +1 -3
- data/lib/rubygems/server.rb +16 -13
- data/lib/rubygems/source.rb +23 -12
- data/lib/rubygems/source/git.rb +7 -8
- data/lib/rubygems/source/installed.rb +0 -2
- data/lib/rubygems/source/local.rb +2 -4
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +0 -2
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source_list.rb +4 -7
- data/lib/rubygems/spec_fetcher.rb +19 -18
- data/lib/rubygems/specification.rb +122 -131
- data/lib/rubygems/specification_policy.rb +88 -30
- data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
- data/lib/rubygems/stub_specification.rb +1 -5
- data/lib/rubygems/syck_hack.rb +0 -2
- data/lib/rubygems/test_case.rb +120 -134
- data/lib/rubygems/test_utilities.rb +12 -19
- data/lib/rubygems/uninstaller.rb +35 -16
- data/lib/rubygems/uri_formatter.rb +2 -3
- data/lib/rubygems/uri_parser.rb +0 -2
- data/lib/rubygems/user_interaction.rb +1 -26
- data/lib/rubygems/util.rb +15 -3
- data/lib/rubygems/util/licenses.rb +4 -6
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/validator.rb +1 -3
- data/lib/rubygems/version.rb +5 -7
- data/lib/rubygems/version_option.rb +6 -0
- data/rubygems-update.gemspec +3 -3
- data/setup.rb +2 -7
- data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +0 -2
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
- data/test/rubygems/test_bundled_ca.rb +42 -45
- data/test/rubygems/test_config.rb +0 -2
- data/test/rubygems/test_deprecate.rb +40 -7
- data/test/rubygems/test_gem.rb +156 -99
- data/test/rubygems/test_gem_available_set.rb +3 -5
- data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
- data/test/rubygems/test_gem_command.rb +24 -7
- data/test/rubygems/test_gem_command_manager.rb +36 -5
- data/test/rubygems/test_gem_commands_build_command.rb +250 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +4 -6
- data/test/rubygems/test_gem_commands_check_command.rb +0 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +14 -5
- data/test/rubygems/test_gem_commands_contents_command.rb +50 -19
- data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
- data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
- data/test/rubygems/test_gem_commands_help_command.rb +15 -4
- data/test/rubygems/test_gem_commands_info_command.rb +6 -8
- data/test/rubygems/test_gem_commands_install_command.rb +163 -34
- data/test/rubygems/test_gem_commands_list_command.rb +0 -2
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
- data/test/rubygems/test_gem_commands_mirror.rb +1 -3
- data/test/rubygems/test_gem_commands_open_command.rb +4 -6
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
- data/test/rubygems/test_gem_commands_owner_command.rb +59 -5
- data/test/rubygems/test_gem_commands_pristine_command.rb +43 -12
- data/test/rubygems/test_gem_commands_push_command.rb +77 -9
- data/test/rubygems/test_gem_commands_query_command.rb +12 -12
- data/test/rubygems/test_gem_commands_search_command.rb +0 -2
- data/test/rubygems/test_gem_commands_server_command.rb +0 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +160 -135
- data/test/rubygems/test_gem_commands_signin_command.rb +33 -9
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
- data/test/rubygems/test_gem_commands_sources_command.rb +99 -3
- data/test/rubygems/test_gem_commands_specification_command.rb +46 -20
- data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
- data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
- data/test/rubygems/test_gem_commands_update_command.rb +116 -7
- data/test/rubygems/test_gem_commands_which_command.rb +3 -5
- data/test/rubygems/test_gem_commands_yank_command.rb +44 -8
- data/test/rubygems/test_gem_config_file.rb +7 -12
- data/test/rubygems/test_gem_dependency.rb +0 -2
- data/test/rubygems/test_gem_dependency_installer.rb +116 -239
- data/test/rubygems/test_gem_dependency_list.rb +10 -12
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
- data/test/rubygems/test_gem_doctor.rb +28 -2
- data/test/rubygems/test_gem_ext_builder.rb +50 -47
- data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -25
- data/test/rubygems/test_gem_ext_configure_builder.rb +6 -22
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +9 -29
- data/test/rubygems/test_gem_ext_rake_builder.rb +39 -24
- data/test/rubygems/test_gem_gem_runner.rb +44 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
- data/test/rubygems/test_gem_indexer.rb +9 -15
- data/test/rubygems/test_gem_install_update_options.rb +14 -4
- data/test/rubygems/test_gem_installer.rb +258 -115
- data/test/rubygems/test_gem_local_remote_options.rb +0 -2
- data/test/rubygems/test_gem_name_tuple.rb +0 -2
- data/test/rubygems/test_gem_package.rb +41 -39
- data/test/rubygems/test_gem_package_old.rb +4 -6
- data/test/rubygems/test_gem_package_tar_header.rb +18 -1
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
- data/test/rubygems/test_gem_package_tar_writer.rb +9 -6
- data/test/rubygems/test_gem_package_task.rb +46 -13
- data/test/rubygems/test_gem_path_support.rb +0 -2
- data/test/rubygems/test_gem_platform.rb +71 -6
- data/test/rubygems/test_gem_rdoc.rb +0 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +169 -212
- data/test/rubygems/test_gem_request.rb +13 -17
- data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
- data/test/rubygems/test_gem_request_set.rb +72 -22
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
- data/test/rubygems/test_gem_request_set_lockfile.rb +4 -6
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
- data/test/rubygems/test_gem_requirement.rb +43 -3
- data/test/rubygems/test_gem_resolver.rb +6 -8
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_api_set.rb +60 -59
- data/test/rubygems/test_gem_resolver_api_specification.rb +3 -5
- data/test/rubygems/test_gem_resolver_best_set.rb +27 -6
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_conflict.rb +1 -3
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
- data/test/rubygems/test_gem_resolver_specification.rb +0 -4
- data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -3
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
- data/test/rubygems/test_gem_security.rb +22 -24
- data/test/rubygems/test_gem_security_policy.rb +7 -12
- data/test/rubygems/test_gem_security_signer.rb +10 -12
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -6
- data/test/rubygems/test_gem_server.rb +10 -14
- data/test/rubygems/test_gem_silent_ui.rb +0 -2
- data/test/rubygems/test_gem_source.rb +19 -18
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
- data/test/rubygems/test_gem_source_git.rb +12 -13
- data/test/rubygems/test_gem_source_installed.rb +7 -9
- data/test/rubygems/test_gem_source_list.rb +1 -2
- data/test/rubygems/test_gem_source_local.rb +8 -10
- data/test/rubygems/test_gem_source_lock.rb +10 -12
- data/test/rubygems/test_gem_source_specific_file.rb +7 -9
- data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
- data/test/rubygems/test_gem_source_vendor.rb +7 -9
- data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
- data/test/rubygems/test_gem_specification.rb +188 -131
- data/test/rubygems/test_gem_stream_ui.rb +3 -3
- data/test/rubygems/test_gem_stub_specification.rb +4 -7
- data/test/rubygems/test_gem_text.rb +1 -3
- data/test/rubygems/test_gem_uninstaller.rb +134 -12
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
- data/test/rubygems/test_gem_uri_formatter.rb +0 -2
- data/test/rubygems/test_gem_util.rb +7 -7
- data/test/rubygems/test_gem_validator.rb +1 -3
- data/test/rubygems/test_gem_version.rb +1 -3
- data/test/rubygems/test_gem_version_option.rb +1 -3
- data/test/rubygems/test_kernel.rb +25 -10
- data/test/rubygems/test_project_sanity.rb +7 -2
- data/test/rubygems/test_remote_fetch_error.rb +0 -2
- data/test/rubygems/test_require.rb +291 -56
- data/test/test_changelog_generator.rb +17 -0
- metadata +79 -133
- data/.bundle/config +0 -2
- data/.rubocop.yml +0 -91
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -43
- data/bundler/CODE_OF_CONDUCT.md +0 -136
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
- data/bundler/man/bundle-add.1.txt +0 -58
- data/bundler/man/bundle-binstubs.1.txt +0 -48
- data/bundler/man/bundle-cache.1.txt +0 -78
- data/bundler/man/bundle-check.1.txt +0 -33
- data/bundler/man/bundle-clean.1.txt +0 -26
- data/bundler/man/bundle-config.1.txt +0 -528
- data/bundler/man/bundle-doctor.1.txt +0 -44
- data/bundler/man/bundle-exec.1.txt +0 -178
- data/bundler/man/bundle-gem.1.txt +0 -91
- data/bundler/man/bundle-info.1.txt +0 -21
- data/bundler/man/bundle-init.1.txt +0 -34
- data/bundler/man/bundle-inject.1.txt +0 -32
- data/bundler/man/bundle-install.1.txt +0 -401
- data/bundler/man/bundle-list.1.txt +0 -43
- data/bundler/man/bundle-lock.1.txt +0 -93
- data/bundler/man/bundle-open.1.txt +0 -29
- data/bundler/man/bundle-outdated.1.txt +0 -131
- data/bundler/man/bundle-platform.1.txt +0 -57
- data/bundler/man/bundle-pristine.1.txt +0 -44
- data/bundler/man/bundle-remove.1.txt +0 -34
- data/bundler/man/bundle-show.1.txt +0 -27
- data/bundler/man/bundle-update.1.txt +0 -390
- data/bundler/man/bundle-viz.1.txt +0 -39
- data/bundler/man/bundle.1.txt +0 -116
- data/bundler/man/gemfile.5.txt +0 -649
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
- data/lib/ubygems.rb +0 -14
- data/tmp/.keep +0 -0
- data/util/CL2notes +0 -55
- data/util/bisect +0 -10
- data/util/ci.sh +0 -62
- data/util/cops/deprecations.rb +0 -52
- data/util/create_certs.rb +0 -171
- data/util/create_certs.sh +0 -27
- data/util/create_encrypted_key.rb +0 -16
- data/util/generate_spdx_license_list.rb +0 -63
- data/util/patch_with_prs.rb +0 -77
- data/util/rubocop +0 -8
- data/util/update_bundled_ca_certificates.rb +0 -139
- data/util/update_changelog.rb +0 -67
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'rubygems/test_case'
|
3
3
|
require 'rubygems/commands/cert_command'
|
4
4
|
|
5
|
-
unless
|
5
|
+
unless Gem::HAVE_OPENSSL
|
6
6
|
warn 'Skipping `gem cert` tests. openssl not found.'
|
7
7
|
end
|
8
8
|
|
@@ -11,7 +11,6 @@ if Gem.java_platform?
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class TestGemCommandsCertCommand < Gem::TestCase
|
14
|
-
|
15
14
|
ALTERNATE_CERT = load_cert 'alternate'
|
16
15
|
EXPIRED_PUBLIC_CERT = load_cert 'expired'
|
17
16
|
|
@@ -675,12 +674,12 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
675
674
|
]
|
676
675
|
|
677
676
|
assert_equal [PUBLIC_CERT.to_pem, ALTERNATE_CERT.to_pem],
|
678
|
-
@cmd.options[:add].map {
|
677
|
+
@cmd.options[:add].map {|cert| cert.to_pem }
|
679
678
|
|
680
679
|
assert_equal %w[nobody example], @cmd.options[:remove]
|
681
680
|
|
682
681
|
assert_equal %w[nobody@example other@example],
|
683
|
-
@cmd.options[:build].map {
|
682
|
+
@cmd.options[:build].map {|name| name.to_s }
|
684
683
|
|
685
684
|
assert_equal ['', 'example'], @cmd.options[:list]
|
686
685
|
end
|
@@ -806,5 +805,4 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
806
805
|
assert_equal "invalid argument: --sign #{nonexistent}: does not exist",
|
807
806
|
e.message
|
808
807
|
end
|
809
|
-
|
810
|
-
end if defined?(OpenSSL::SSL) && !Gem.java_platform?
|
808
|
+
end if Gem::HAVE_OPENSSL && !Gem.java_platform?
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/check_command'
|
4
4
|
|
5
5
|
class TestGemCommandsCheckCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -65,5 +64,4 @@ class TestGemCommandsCheckCommand < Gem::TestCase
|
|
65
64
|
refute_path_exists b.gem_dir
|
66
65
|
refute_path_exists b.spec_file
|
67
66
|
end
|
68
|
-
|
69
67
|
end
|
@@ -4,7 +4,6 @@ require 'rubygems/commands/cleanup_command'
|
|
4
4
|
require 'rubygems/installer'
|
5
5
|
|
6
6
|
class TestGemCommandsCleanupCommand < Gem::TestCase
|
7
|
-
|
8
7
|
def setup
|
9
8
|
super
|
10
9
|
|
@@ -23,10 +22,21 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
23
22
|
end
|
24
23
|
|
25
24
|
def test_handle_options_dry_run
|
26
|
-
@cmd.handle_options %w[--
|
25
|
+
@cmd.handle_options %w[--dry-run]
|
27
26
|
assert @cmd.options[:dryrun]
|
28
27
|
end
|
29
28
|
|
29
|
+
def test_handle_options_deprecated_dry_run
|
30
|
+
use_ui @ui do
|
31
|
+
@cmd.handle_options %w[--dryrun]
|
32
|
+
assert @cmd.options[:dryrun]
|
33
|
+
end
|
34
|
+
|
35
|
+
assert_equal \
|
36
|
+
"WARNING: The \"--dryrun\" option has been deprecated and will be removed in future versions of Rubygems. Use --dry-run instead\n",
|
37
|
+
@ui.error
|
38
|
+
end
|
39
|
+
|
30
40
|
def test_handle_options_n
|
31
41
|
@cmd.handle_options %w[-n]
|
32
42
|
assert @cmd.options[:dryrun]
|
@@ -211,7 +221,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
211
221
|
@b_2 = util_spec 'b', 3
|
212
222
|
|
213
223
|
install_gem @b_1
|
214
|
-
|
224
|
+
install_default_gems @b_default
|
215
225
|
install_gem @b_2
|
216
226
|
|
217
227
|
@cmd.options[:args] = []
|
@@ -220,7 +230,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
220
230
|
@cmd.execute
|
221
231
|
end
|
222
232
|
|
223
|
-
assert_match %r
|
233
|
+
assert_match %r{^Skipped default gems: b-2}, @ui.output
|
224
234
|
assert_empty @ui.error
|
225
235
|
end
|
226
236
|
|
@@ -278,5 +288,4 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
278
288
|
assert_path_exists d_1.gem_dir
|
279
289
|
assert_path_exists d_2.gem_dir
|
280
290
|
end
|
281
|
-
|
282
291
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/contents_command'
|
4
4
|
|
5
5
|
class TestGemCommandsContentsCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -27,8 +26,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
27
26
|
@cmd.execute
|
28
27
|
end
|
29
28
|
|
30
|
-
assert_match %r
|
31
|
-
assert_match %r
|
29
|
+
assert_match %r{lib/foo\.rb}, @ui.output
|
30
|
+
assert_match %r{Rakefile}, @ui.output
|
32
31
|
assert_equal "", @ui.error
|
33
32
|
end
|
34
33
|
|
@@ -42,9 +41,9 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
42
41
|
@cmd.execute
|
43
42
|
end
|
44
43
|
|
45
|
-
assert_match %r
|
46
|
-
assert_match %r
|
47
|
-
assert_match %r
|
44
|
+
assert_match %r{lib/foo\.rb}, @ui.output
|
45
|
+
assert_match %r{lib/bar\.rb}, @ui.output
|
46
|
+
assert_match %r{Rakefile}, @ui.output
|
48
47
|
assert_equal "", @ui.error
|
49
48
|
end
|
50
49
|
|
@@ -57,8 +56,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
57
56
|
end
|
58
57
|
end
|
59
58
|
|
60
|
-
assert_match %r
|
61
|
-
assert_match %r
|
59
|
+
assert_match %r{Unable to find gem 'foo' in default gem paths}, @ui.output
|
60
|
+
assert_match %r{Directories searched:}, @ui.output
|
62
61
|
assert_equal "", @ui.error
|
63
62
|
end
|
64
63
|
|
@@ -71,8 +70,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
71
70
|
@cmd.execute
|
72
71
|
end
|
73
72
|
|
74
|
-
assert_match %r
|
75
|
-
assert_match %r
|
73
|
+
assert_match %r{lib/foo\.rb}, @ui.output
|
74
|
+
assert_match %r{Rakefile}, @ui.output
|
76
75
|
assert_equal "", @ui.error
|
77
76
|
end
|
78
77
|
|
@@ -86,8 +85,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
86
85
|
@cmd.execute
|
87
86
|
end
|
88
87
|
|
89
|
-
assert_match %r
|
90
|
-
refute_match %r
|
88
|
+
assert_match %r{lib/foo\.rb}, @ui.output
|
89
|
+
refute_match %r{Rakefile}, @ui.output
|
91
90
|
|
92
91
|
assert_equal "", @ui.error
|
93
92
|
end
|
@@ -105,6 +104,22 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
105
104
|
assert_empty @ui.error
|
106
105
|
end
|
107
106
|
|
107
|
+
def test_execute_missing_version
|
108
|
+
@cmd.options[:args] = %w[foo]
|
109
|
+
@cmd.options[:version] = Gem::Requirement.new '= 2'
|
110
|
+
|
111
|
+
gem 'foo', 1
|
112
|
+
|
113
|
+
assert_raises Gem::MockGemUi::TermError do
|
114
|
+
use_ui @ui do
|
115
|
+
@cmd.execute
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
assert_match "Unable to find gem 'foo'", @ui.output
|
120
|
+
assert_empty @ui.error
|
121
|
+
end
|
122
|
+
|
108
123
|
def test_execute_missing_multiple
|
109
124
|
@cmd.options[:args] = %w[foo bar]
|
110
125
|
|
@@ -130,9 +145,9 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
130
145
|
@cmd.execute
|
131
146
|
end
|
132
147
|
|
133
|
-
assert_match %r
|
134
|
-
assert_match %r
|
135
|
-
assert_match %r
|
148
|
+
assert_match %r{lib/foo\.rb}, @ui.output
|
149
|
+
assert_match %r{lib/bar\.rb}, @ui.output
|
150
|
+
assert_match %r{Rakefile}, @ui.output
|
136
151
|
assert_equal "", @ui.error
|
137
152
|
end
|
138
153
|
|
@@ -152,6 +167,23 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
152
167
|
assert_equal "", @ui.error
|
153
168
|
end
|
154
169
|
|
170
|
+
def test_execute_show_install_dir_latest_version
|
171
|
+
@cmd.options[:args] = %w[foo]
|
172
|
+
@cmd.options[:show_install_dir] = true
|
173
|
+
|
174
|
+
gem 'foo', 1
|
175
|
+
gem 'foo', 2
|
176
|
+
|
177
|
+
use_ui @ui do
|
178
|
+
@cmd.execute
|
179
|
+
end
|
180
|
+
|
181
|
+
expected = File.join @gemhome, 'gems', 'foo-2'
|
182
|
+
|
183
|
+
assert_equal "#{expected}\n", @ui.output
|
184
|
+
assert_equal "", @ui.error
|
185
|
+
end
|
186
|
+
|
155
187
|
def test_execute_show_install_dir_version
|
156
188
|
@cmd.options[:args] = %w[foo]
|
157
189
|
@cmd.options[:show_install_dir] = true
|
@@ -195,7 +227,7 @@ lib/foo.rb
|
|
195
227
|
nil, "default/gem.rb")
|
196
228
|
default_gem_spec.executables = ["default_command"]
|
197
229
|
default_gem_spec.files += ["default_gem.so"]
|
198
|
-
|
230
|
+
install_default_gems(default_gem_spec)
|
199
231
|
|
200
232
|
@cmd.options[:args] = %w[default]
|
201
233
|
|
@@ -206,8 +238,8 @@ lib/foo.rb
|
|
206
238
|
expected = [
|
207
239
|
[RbConfig::CONFIG['bindir'], 'default_command'],
|
208
240
|
[RbConfig::CONFIG['rubylibdir'], 'default/gem.rb'],
|
209
|
-
[RbConfig::CONFIG['archdir'], 'default_gem.so']
|
210
|
-
].sort.map{|a|File.join a}.join "\n"
|
241
|
+
[RbConfig::CONFIG['archdir'], 'default_gem.so'],
|
242
|
+
].sort.map{|a|File.join a }.join "\n"
|
211
243
|
|
212
244
|
assert_equal expected, @ui.output.chomp
|
213
245
|
assert_equal "", @ui.error
|
@@ -235,5 +267,4 @@ lib/foo.rb
|
|
235
267
|
assert_equal Gem::Requirement.new('0.0.2'), @cmd.options[:version]
|
236
268
|
assert @cmd.options[:show_install_dir]
|
237
269
|
end
|
238
|
-
|
239
270
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/dependency_command'
|
4
4
|
|
5
5
|
class TestGemCommandsDependencyCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
@stub_ui = Gem::MockGemUi.new
|
@@ -225,5 +224,4 @@ ERROR: Only reverse dependencies for local gems are supported.
|
|
225
224
|
assert_equal "Gem a-2.a\n\n", @stub_ui.output
|
226
225
|
assert_equal '', @stub_ui.error
|
227
226
|
end
|
228
|
-
|
229
227
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/environment_command'
|
4
4
|
|
5
5
|
class TestGemCommandsEnvironmentCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -22,29 +21,29 @@ class TestGemCommandsEnvironmentCommand < Gem::TestCase
|
|
22
21
|
@cmd.execute
|
23
22
|
end
|
24
23
|
|
25
|
-
assert_match %r
|
26
|
-
assert_match %r
|
27
|
-
assert_match %r
|
24
|
+
assert_match %r{RUBYGEMS VERSION: (\d\.)+\d}, @ui.output
|
25
|
+
assert_match %r{RUBY VERSION: \d+\.\d+\.\d+ \(.*\) \[.*\]}, @ui.output
|
26
|
+
assert_match %r{INSTALLATION DIRECTORY: #{Regexp.escape @gemhome}},
|
28
27
|
@ui.output
|
29
|
-
assert_match %r
|
30
|
-
assert_match %r
|
28
|
+
assert_match %r{RUBYGEMS PREFIX: }, @ui.output
|
29
|
+
assert_match %r{RUBY EXECUTABLE:.*#{RbConfig::CONFIG['ruby_install_name']}},
|
31
30
|
@ui.output
|
32
|
-
assert_match %r
|
33
|
-
assert_match %r
|
34
|
-
assert_match %r
|
35
|
-
assert_match %r
|
36
|
-
assert_match %r
|
37
|
-
assert_match %r
|
38
|
-
assert_match %r
|
39
|
-
assert_match %r
|
40
|
-
assert_match %r
|
41
|
-
assert_match %r
|
42
|
-
assert_match %r
|
43
|
-
|
44
|
-
assert_match %r
|
45
|
-
assert_match %r
|
46
|
-
assert_match %r
|
47
|
-
assert_match %r
|
31
|
+
assert_match %r{GIT EXECUTABLE: #{@cmd.send(:git_path)}}, @ui.output
|
32
|
+
assert_match %r{SYSTEM CONFIGURATION DIRECTORY:}, @ui.output
|
33
|
+
assert_match %r{EXECUTABLE DIRECTORY:}, @ui.output
|
34
|
+
assert_match %r{RUBYGEMS PLATFORMS:}, @ui.output
|
35
|
+
assert_match %r{- #{Gem::Platform.local}}, @ui.output
|
36
|
+
assert_match %r{GEM PATHS:}, @ui.output
|
37
|
+
assert_match %r{- #{Regexp.escape @gemhome}}, @ui.output
|
38
|
+
assert_match %r{GEM CONFIGURATION:}, @ui.output
|
39
|
+
assert_match %r{"gemcutter_key" => "\*\*\*\*"}, @ui.output
|
40
|
+
assert_match %r{:verbose => }, @ui.output
|
41
|
+
assert_match %r{REMOTE SOURCES:}, @ui.output
|
42
|
+
|
43
|
+
assert_match %r{- SHELL PATH:}, @ui.output
|
44
|
+
assert_match %r{- /usr/local/bin$}, @ui.output
|
45
|
+
assert_match %r{- /usr/bin$}, @ui.output
|
46
|
+
assert_match %r{- /bin$}, @ui.output
|
48
47
|
|
49
48
|
assert_empty @ui.error
|
50
49
|
|
@@ -141,5 +140,4 @@ class TestGemCommandsEnvironmentCommand < Gem::TestCase
|
|
141
140
|
assert_equal "#{Gem.platforms.join File::PATH_SEPARATOR}\n", @ui.output
|
142
141
|
assert_equal '', @ui.error
|
143
142
|
end
|
144
|
-
|
145
143
|
end
|
@@ -5,7 +5,6 @@ require 'rubygems/security'
|
|
5
5
|
require 'rubygems/commands/fetch_command'
|
6
6
|
|
7
7
|
class TestGemCommandsFetchCommand < Gem::TestCase
|
8
|
-
|
9
8
|
def setup
|
10
9
|
super
|
11
10
|
|
@@ -122,5 +121,4 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
122
121
|
assert_path_exists(File.join(@tempdir, a1.file_name),
|
123
122
|
"#{a1.full_name} not fetched")
|
124
123
|
end
|
125
|
-
|
126
124
|
end
|
@@ -3,12 +3,7 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/indexer'
|
4
4
|
require 'rubygems/commands/generate_index_command'
|
5
5
|
|
6
|
-
unless defined?(Builder::XChar)
|
7
|
-
warn "generate_index tests are being skipped. Install builder gem."
|
8
|
-
end
|
9
|
-
|
10
6
|
class TestGemCommandsGenerateIndexCommand < Gem::TestCase
|
11
|
-
|
12
7
|
def setup
|
13
8
|
super
|
14
9
|
|
@@ -82,5 +77,4 @@ class TestGemCommandsGenerateIndexCommand < Gem::TestCase
|
|
82
77
|
"WARNING: The \"--no-modern\" option has been deprecated and will be removed in Rubygems 4.0. The `--no-modern` option is currently ignored. Modern indexes (specs, latest_specs, and prerelease_specs) are always generated.\n",
|
83
78
|
@ui.error
|
84
79
|
end
|
85
|
-
|
86
|
-
end if defined?(Builder::XChar)
|
80
|
+
end
|
@@ -6,7 +6,6 @@ require "rubygems/package"
|
|
6
6
|
require "rubygems/command_manager"
|
7
7
|
|
8
8
|
class TestGemCommandsHelpCommand < Gem::TestCase
|
9
|
-
|
10
9
|
def setup
|
11
10
|
super
|
12
11
|
|
@@ -41,10 +40,12 @@ class TestGemCommandsHelpCommand < Gem::TestCase
|
|
41
40
|
|
42
41
|
util_gem 'commands' do |out, err|
|
43
42
|
mgr.command_names.each do |cmd|
|
44
|
-
|
43
|
+
unless mgr[cmd].deprecated?
|
44
|
+
assert_match(/\s+#{cmd}\s+\S+/, out)
|
45
|
+
end
|
45
46
|
end
|
46
47
|
|
47
|
-
if
|
48
|
+
if Gem::HAVE_OPENSSL
|
48
49
|
assert_empty err
|
49
50
|
|
50
51
|
refute_match 'No command found for ', out
|
@@ -52,6 +53,17 @@ class TestGemCommandsHelpCommand < Gem::TestCase
|
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
56
|
+
def test_gem_help_commands_omits_deprecated_commands
|
57
|
+
mgr = Gem::CommandManager.new
|
58
|
+
|
59
|
+
util_gem 'commands' do |out, err|
|
60
|
+
deprecated_commands = mgr.command_names.select {|cmd| mgr[cmd].deprecated? }
|
61
|
+
deprecated_commands.each do |cmd|
|
62
|
+
refute_match(/\A\s+#{cmd}\s+\S+\z/, out)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
55
67
|
def test_gem_no_args_shows_help
|
56
68
|
util_gem do |out, err|
|
57
69
|
assert_match(/Usage:/, out)
|
@@ -71,5 +83,4 @@ class TestGemCommandsHelpCommand < Gem::TestCase
|
|
71
83
|
|
72
84
|
yield @ui.output, @ui.error
|
73
85
|
end
|
74
|
-
|
75
86
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/info_command'
|
4
4
|
|
5
5
|
class TestGemCommandsInfoCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -33,13 +32,12 @@ class TestGemCommandsInfoCommand < Gem::TestCase
|
|
33
32
|
@cmd.execute
|
34
33
|
end
|
35
34
|
|
36
|
-
assert_match %r
|
37
|
-
assert_match %r
|
38
|
-
assert_match %r
|
39
|
-
assert_match %r
|
40
|
-
assert_match %r
|
41
|
-
assert_match %r
|
35
|
+
assert_match %r{#{@gem.name} \(#{@gem.version}\)\n}, @ui.output
|
36
|
+
assert_match %r{Authors: #{@gem.authors.join(', ')}\n}, @ui.output
|
37
|
+
assert_match %r{Homepage: #{@gem.homepage}\n}, @ui.output
|
38
|
+
assert_match %r{License: #{@gem.license}\n}, @ui.output
|
39
|
+
assert_match %r{Installed at: #{@gem.base_dir}\n}, @ui.output
|
40
|
+
assert_match %r{#{@gem.summary}\n}, @ui.output
|
42
41
|
assert_match "", @ui.error
|
43
42
|
end
|
44
|
-
|
45
43
|
end
|
@@ -5,7 +5,6 @@ require 'rubygems/request_set'
|
|
5
5
|
require 'rubygems/rdoc'
|
6
6
|
|
7
7
|
class TestGemCommandsInstallCommand < Gem::TestCase
|
8
|
-
|
9
8
|
def setup
|
10
9
|
super
|
11
10
|
common_installer_setup
|
@@ -43,7 +42,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
|
|
43
42
|
end
|
44
43
|
end
|
45
44
|
|
46
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
45
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
47
46
|
end
|
48
47
|
|
49
48
|
def test_execute_explicit_version_includes_prerelease
|
@@ -65,7 +64,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
|
|
65
64
|
end
|
66
65
|
end
|
67
66
|
|
68
|
-
assert_equal %w[a-2.a], @cmd.installed_specs.map {
|
67
|
+
assert_equal %w[a-2.a], @cmd.installed_specs.map {|spec| spec.full_name }
|
69
68
|
end
|
70
69
|
|
71
70
|
def test_execute_local
|
@@ -91,7 +90,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
|
|
91
90
|
end
|
92
91
|
end
|
93
92
|
|
94
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
93
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
95
94
|
|
96
95
|
assert_match "1 gem installed", @ui.output
|
97
96
|
end
|
@@ -182,7 +181,7 @@ ERROR: Could not find a valid gem 'bar' (= 0.5) (required by 'foo' (>= 0)) in a
|
|
182
181
|
end
|
183
182
|
end
|
184
183
|
|
185
|
-
assert_equal %w[a-2 b-2.a c-3], @cmd.installed_specs.map {
|
184
|
+
assert_equal %w[a-2 b-2.a c-3], @cmd.installed_specs.map {|spec| spec.full_name }.sort
|
186
185
|
|
187
186
|
assert_match "3 gems installed", @ui.output
|
188
187
|
end
|
@@ -337,7 +336,7 @@ ERROR: Could not find a valid gem 'bar' (= 0.5) (required by 'foo' (>= 0)) in a
|
|
337
336
|
errs = @ui.error.split("\n")
|
338
337
|
|
339
338
|
assert_match(/ould not find a valid gem 'nonexistent'/, errs.shift)
|
340
|
-
assert_match(%r
|
339
|
+
assert_match(%r{Unable to download data from http://not-there.nothing}, errs.shift)
|
341
340
|
end
|
342
341
|
|
343
342
|
def test_execute_nonexistent_hint_disabled
|
@@ -411,7 +410,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
411
410
|
|
412
411
|
expected = [
|
413
412
|
"ERROR: Could not find a valid gem 'non-existent_with-hint' (>= 0) in any repository",
|
414
|
-
"ERROR: Possible alternatives: nonexistent-with_hint"
|
413
|
+
"ERROR: Possible alternatives: nonexistent-with_hint",
|
415
414
|
]
|
416
415
|
|
417
416
|
output = @ui.error.split "\n"
|
@@ -449,7 +448,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
449
448
|
end
|
450
449
|
end
|
451
450
|
|
452
|
-
assert_equal %w[a-1], @cmd.installed_specs.map {
|
451
|
+
assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
|
453
452
|
end
|
454
453
|
|
455
454
|
def test_execute_prerelease_wins_over_previous_ver
|
@@ -467,7 +466,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
467
466
|
end
|
468
467
|
end
|
469
468
|
|
470
|
-
assert_equal %w[a-2.a], @cmd.installed_specs.map {
|
469
|
+
assert_equal %w[a-2.a], @cmd.installed_specs.map {|spec| spec.full_name }
|
471
470
|
end
|
472
471
|
|
473
472
|
def test_execute_with_version_specified_by_colon
|
@@ -484,7 +483,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
484
483
|
end
|
485
484
|
end
|
486
485
|
|
487
|
-
assert_equal %w[a-1], @cmd.installed_specs.map {
|
486
|
+
assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
|
488
487
|
end
|
489
488
|
|
490
489
|
def test_execute_prerelease_skipped_when_non_pre_available
|
@@ -502,7 +501,138 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
502
501
|
end
|
503
502
|
end
|
504
503
|
|
505
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
504
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
505
|
+
end
|
506
|
+
|
507
|
+
def test_execute_required_ruby_version
|
508
|
+
next_ruby = Gem.ruby_version.segments.map.with_index{|n, i| i == 1 ? n + 1 : n }.join(".")
|
509
|
+
|
510
|
+
local = Gem::Platform.local
|
511
|
+
spec_fetcher do |fetcher|
|
512
|
+
fetcher.download 'a', 2
|
513
|
+
fetcher.download 'a', 2 do |s|
|
514
|
+
s.required_ruby_version = "< #{RUBY_VERSION}.a"
|
515
|
+
s.platform = local
|
516
|
+
end
|
517
|
+
fetcher.download 'a', 3 do |s|
|
518
|
+
s.required_ruby_version = ">= #{next_ruby}"
|
519
|
+
end
|
520
|
+
fetcher.download 'a', 3 do |s|
|
521
|
+
s.required_ruby_version = ">= #{next_ruby}"
|
522
|
+
s.platform = local
|
523
|
+
end
|
524
|
+
end
|
525
|
+
|
526
|
+
@cmd.options[:args] = %w[a]
|
527
|
+
|
528
|
+
use_ui @ui do
|
529
|
+
assert_raises Gem::MockGemUi::SystemExitException, @ui.error do
|
530
|
+
@cmd.execute
|
531
|
+
end
|
532
|
+
end
|
533
|
+
|
534
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
535
|
+
end
|
536
|
+
|
537
|
+
def test_execute_required_ruby_version_upper_bound
|
538
|
+
local = Gem::Platform.local
|
539
|
+
spec_fetcher do |fetcher|
|
540
|
+
fetcher.gem 'a', 2.0
|
541
|
+
fetcher.gem 'a', 2.0 do |s|
|
542
|
+
s.required_ruby_version = "< #{RUBY_VERSION}.a"
|
543
|
+
s.platform = local
|
544
|
+
end
|
545
|
+
end
|
546
|
+
|
547
|
+
@cmd.options[:args] = %w[a]
|
548
|
+
|
549
|
+
use_ui @ui do
|
550
|
+
assert_raises Gem::MockGemUi::SystemExitException, @ui.error do
|
551
|
+
@cmd.execute
|
552
|
+
end
|
553
|
+
end
|
554
|
+
|
555
|
+
assert_equal %w[a-2.0], @cmd.installed_specs.map {|spec| spec.full_name }
|
556
|
+
end
|
557
|
+
|
558
|
+
def test_execute_required_ruby_version_specific_not_met
|
559
|
+
spec_fetcher do |fetcher|
|
560
|
+
fetcher.gem 'a', '1.0' do |s|
|
561
|
+
s.required_ruby_version = '= 1.4.6'
|
562
|
+
end
|
563
|
+
end
|
564
|
+
|
565
|
+
@cmd.options[:args] = %w[a]
|
566
|
+
|
567
|
+
use_ui @ui do
|
568
|
+
assert_raises Gem::MockGemUi::TermError do
|
569
|
+
@cmd.execute
|
570
|
+
end
|
571
|
+
end
|
572
|
+
|
573
|
+
errs = @ui.error.split("\n")
|
574
|
+
assert_equal "ERROR: Error installing a:", errs.shift
|
575
|
+
assert_equal "\ta-1.0 requires Ruby version = 1.4.6. The current ruby version is #{Gem.ruby_version}.", errs.shift
|
576
|
+
end
|
577
|
+
|
578
|
+
def test_execute_required_ruby_version_specific_prerelease_met
|
579
|
+
spec_fetcher do |fetcher|
|
580
|
+
fetcher.gem 'a', '1.0' do |s|
|
581
|
+
s.required_ruby_version = '>= 1.4.6.preview2'
|
582
|
+
end
|
583
|
+
end
|
584
|
+
|
585
|
+
@cmd.options[:args] = %w[a]
|
586
|
+
|
587
|
+
use_ui @ui do
|
588
|
+
assert_raises Gem::MockGemUi::SystemExitException, @ui.error do
|
589
|
+
@cmd.execute
|
590
|
+
end
|
591
|
+
end
|
592
|
+
|
593
|
+
assert_equal %w[a-1.0], @cmd.installed_specs.map {|spec| spec.full_name }
|
594
|
+
end
|
595
|
+
|
596
|
+
def test_execute_required_ruby_version_specific_prerelease_not_met
|
597
|
+
next_ruby_pre = Gem.ruby_version.segments.map.with_index{|n, i| i == 1 ? n + 1 : n }.join(".") + ".a"
|
598
|
+
|
599
|
+
spec_fetcher do |fetcher|
|
600
|
+
fetcher.gem 'a', '1.0' do |s|
|
601
|
+
s.required_ruby_version = "> #{next_ruby_pre}"
|
602
|
+
end
|
603
|
+
end
|
604
|
+
|
605
|
+
@cmd.options[:args] = %w[a]
|
606
|
+
|
607
|
+
use_ui @ui do
|
608
|
+
assert_raises Gem::MockGemUi::TermError do
|
609
|
+
@cmd.execute
|
610
|
+
end
|
611
|
+
end
|
612
|
+
|
613
|
+
errs = @ui.error.split("\n")
|
614
|
+
assert_equal "ERROR: Error installing a:", errs.shift
|
615
|
+
assert_equal "\ta-1.0 requires Ruby version > #{next_ruby_pre}. The current ruby version is #{Gem.ruby_version}.", errs.shift
|
616
|
+
end
|
617
|
+
|
618
|
+
def test_execute_required_rubygems_version_wrong
|
619
|
+
spec_fetcher do |fetcher|
|
620
|
+
fetcher.gem 'a', '1.0' do |s|
|
621
|
+
s.required_rubygems_version = '< 0'
|
622
|
+
end
|
623
|
+
end
|
624
|
+
|
625
|
+
@cmd.options[:args] = %w[a]
|
626
|
+
|
627
|
+
use_ui @ui do
|
628
|
+
assert_raises Gem::MockGemUi::TermError do
|
629
|
+
@cmd.execute
|
630
|
+
end
|
631
|
+
end
|
632
|
+
|
633
|
+
errs = @ui.error.split("\n")
|
634
|
+
assert_equal "ERROR: Error installing a:", errs.shift
|
635
|
+
assert_equal "\ta-1.0 requires RubyGems version < 0. The current RubyGems version is #{Gem.rubygems_version}. Try 'gem update --system' to update RubyGems itself.", errs.shift
|
506
636
|
end
|
507
637
|
|
508
638
|
def test_execute_rdoc
|
@@ -582,7 +712,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
582
712
|
fetcher.gem 'a', 2
|
583
713
|
end
|
584
714
|
|
585
|
-
args = %w
|
715
|
+
args = %w[--with-awesome=true --more-awesome=yes]
|
586
716
|
|
587
717
|
Gem::Command.build_args = args
|
588
718
|
|
@@ -627,7 +757,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
627
757
|
end
|
628
758
|
end
|
629
759
|
|
630
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
760
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
631
761
|
|
632
762
|
assert_match "1 gem installed", @ui.output
|
633
763
|
end
|
@@ -647,7 +777,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
647
777
|
end
|
648
778
|
end
|
649
779
|
|
650
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
780
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
651
781
|
|
652
782
|
assert_match "1 gem installed", @ui.output
|
653
783
|
end
|
@@ -688,7 +818,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
688
818
|
end
|
689
819
|
end
|
690
820
|
|
691
|
-
assert_equal %w[a-1], @cmd.installed_specs.map {
|
821
|
+
assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
|
692
822
|
|
693
823
|
assert_match "1 gem installed", @ui.output
|
694
824
|
|
@@ -722,7 +852,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
722
852
|
end
|
723
853
|
end
|
724
854
|
|
725
|
-
assert_equal %w[a-2 b-2], @cmd.installed_specs.map {
|
855
|
+
assert_equal %w[a-2 b-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
726
856
|
|
727
857
|
assert_match "2 gems installed", @ui.output
|
728
858
|
end
|
@@ -764,7 +894,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
764
894
|
end
|
765
895
|
end
|
766
896
|
|
767
|
-
assert_equal %w[a-1 b-1], @cmd.installed_specs.map {
|
897
|
+
assert_equal %w[a-1 b-1], @cmd.installed_specs.map {|spec| spec.full_name }
|
768
898
|
end
|
769
899
|
|
770
900
|
def test_execute_conservative
|
@@ -790,7 +920,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
790
920
|
end
|
791
921
|
end
|
792
922
|
|
793
|
-
assert_equal %w[b-2], @cmd.installed_specs.map {
|
923
|
+
assert_equal %w[b-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
794
924
|
|
795
925
|
assert_equal "", @ui.error
|
796
926
|
assert_match "1 gem installed", @ui.output
|
@@ -812,7 +942,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
812
942
|
|
813
943
|
@cmd.install_gem 'a', '>= 0'
|
814
944
|
|
815
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
945
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
|
816
946
|
|
817
947
|
assert done_installing, 'documentation was not generated'
|
818
948
|
end
|
@@ -826,7 +956,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
826
956
|
|
827
957
|
@cmd.install_gem 'a', '>= 0'
|
828
958
|
|
829
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
959
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
830
960
|
end
|
831
961
|
|
832
962
|
def test_install_gem_ignore_dependencies_remote_platform_local
|
@@ -843,7 +973,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
843
973
|
|
844
974
|
@cmd.install_gem 'a', '>= 0'
|
845
975
|
|
846
|
-
assert_equal %W[a-3-#{local}], @cmd.installed_specs.map {
|
976
|
+
assert_equal %W[a-3-#{local}], @cmd.installed_specs.map {|spec| spec.full_name }
|
847
977
|
end
|
848
978
|
|
849
979
|
def test_install_gem_ignore_dependencies_specific_file
|
@@ -857,7 +987,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
857
987
|
|
858
988
|
@cmd.install_gem File.join(@tempdir, spec.file_name), nil
|
859
989
|
|
860
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
990
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
|
861
991
|
end
|
862
992
|
|
863
993
|
def test_parses_requirement_from_gemname
|
@@ -886,7 +1016,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
886
1016
|
end
|
887
1017
|
|
888
1018
|
assert_equal 2, e.exit_code
|
889
|
-
assert_match %r
|
1019
|
+
assert_match %r{Could not find a valid gem 'a' \(= 10.0\)}, @ui.error
|
890
1020
|
end
|
891
1021
|
|
892
1022
|
def test_show_errors_on_failure
|
@@ -927,7 +1057,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
927
1057
|
end
|
928
1058
|
end
|
929
1059
|
|
930
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
1060
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
931
1061
|
|
932
1062
|
assert_match "1 gem installed", @ui.output
|
933
1063
|
|
@@ -954,7 +1084,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
954
1084
|
end
|
955
1085
|
end
|
956
1086
|
|
957
|
-
assert_equal %w[], @cmd.installed_specs.map {
|
1087
|
+
assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
|
958
1088
|
|
959
1089
|
assert_match "Using a (2)", @ui.output
|
960
1090
|
assert File.exist?("#{@gemdeps}.lock")
|
@@ -978,7 +1108,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
978
1108
|
end
|
979
1109
|
end
|
980
1110
|
|
981
|
-
assert_equal %w[], @cmd.installed_specs.map {
|
1111
|
+
assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
|
982
1112
|
|
983
1113
|
assert_match "Using a (2)", @ui.output
|
984
1114
|
assert !File.exist?("#{@gemdeps}.lock")
|
@@ -1003,7 +1133,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1003
1133
|
end
|
1004
1134
|
end
|
1005
1135
|
|
1006
|
-
assert_equal %w[], @cmd.installed_specs.map {
|
1136
|
+
assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
|
1007
1137
|
|
1008
1138
|
assert_match "Using a (1)", @ui.output
|
1009
1139
|
end
|
@@ -1025,7 +1155,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1025
1155
|
end
|
1026
1156
|
end
|
1027
1157
|
|
1028
|
-
assert_equal %w[a-2], @cmd.installed_specs.map {
|
1158
|
+
assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
|
1029
1159
|
|
1030
1160
|
assert_match "Installing a (2)", @ui.output
|
1031
1161
|
end
|
@@ -1048,7 +1178,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1048
1178
|
end
|
1049
1179
|
end
|
1050
1180
|
|
1051
|
-
names = @cmd.installed_specs.map {
|
1181
|
+
names = @cmd.installed_specs.map {|spec| spec.full_name }
|
1052
1182
|
|
1053
1183
|
assert_equal %w[q-1.0 r-2.0], names
|
1054
1184
|
|
@@ -1075,7 +1205,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1075
1205
|
end
|
1076
1206
|
end
|
1077
1207
|
|
1078
|
-
names = @cmd.installed_specs.map {
|
1208
|
+
names = @cmd.installed_specs.map {|spec| spec.full_name }
|
1079
1209
|
|
1080
1210
|
assert_equal %w[r-2.0], names
|
1081
1211
|
|
@@ -1102,7 +1232,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1102
1232
|
end
|
1103
1233
|
end
|
1104
1234
|
|
1105
|
-
names = @cmd.installed_specs.map {
|
1235
|
+
names = @cmd.installed_specs.map {|spec| spec.full_name }
|
1106
1236
|
|
1107
1237
|
assert_equal %w[q-1.0 r-2.0], names
|
1108
1238
|
|
@@ -1134,7 +1264,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1134
1264
|
end
|
1135
1265
|
end
|
1136
1266
|
|
1137
|
-
names = @cmd.installed_specs.map {
|
1267
|
+
names = @cmd.installed_specs.map {|spec| spec.full_name }
|
1138
1268
|
|
1139
1269
|
assert_equal %w[q-1.0 r-2.0], names
|
1140
1270
|
|
@@ -1169,7 +1299,7 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1169
1299
|
end
|
1170
1300
|
end
|
1171
1301
|
|
1172
|
-
names = @cmd.installed_specs.map {
|
1302
|
+
names = @cmd.installed_specs.map {|spec| spec.full_name }
|
1173
1303
|
|
1174
1304
|
assert_equal %w[r-2.0], names
|
1175
1305
|
|
@@ -1346,5 +1476,4 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
1346
1476
|
assert_equal " a-3", out.shift
|
1347
1477
|
assert_empty out
|
1348
1478
|
end
|
1349
|
-
|
1350
1479
|
end
|