rubygems-update 3.3.18 → 3.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +65 -0
- data/Manifest.txt +11 -0
- data/bin/gem +2 -2
- data/bin/update_rubygems +4 -4
- data/bundler/CHANGELOG.md +100 -0
- data/bundler/UPGRADING.md +11 -4
- data/bundler/bundler.gemspec +6 -8
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/common.rb +1 -0
- data/bundler/lib/bundler/cli/install.rb +5 -2
- data/bundler/lib/bundler/cli/outdated.rb +12 -3
- data/bundler/lib/bundler/cli/platform.rb +1 -1
- data/bundler/lib/bundler/cli.rb +7 -4
- data/bundler/lib/bundler/current_ruby.rb +14 -5
- data/bundler/lib/bundler/definition.rb +102 -31
- data/bundler/lib/bundler/dependency.rb +18 -85
- data/bundler/lib/bundler/dsl.rb +2 -2
- data/bundler/lib/bundler/endpoint_specification.rb +2 -13
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher.rb +6 -6
- data/bundler/lib/bundler/gem_helpers.rb +7 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
- data/bundler/lib/bundler/index.rb +10 -12
- data/bundler/lib/bundler/injector.rb +2 -1
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer/standalone.rb +1 -1
- data/bundler/lib/bundler/installer.rb +14 -12
- data/bundler/lib/bundler/lazy_specification.rb +30 -23
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/man/bundle-add.1 +6 -2
- data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
- data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +25 -6
- data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
- data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
- data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
- data/bundler/lib/bundler/man/bundle-install.1 +5 -1
- data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
- data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
- data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
- data/bundler/lib/bundler/man/bundle.1 +15 -10
- data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
- data/bundler/lib/bundler/man/gemfile.5 +23 -47
- data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
- data/bundler/lib/bundler/man/index.txt +4 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/plugin.rb +2 -0
- data/bundler/lib/bundler/remote_specification.rb +6 -11
- data/bundler/lib/bundler/resolver/base.rb +50 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
- data/bundler/lib/bundler/resolver.rb +95 -90
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +5 -5
- data/bundler/lib/bundler/rubygems_ext.rb +52 -1
- data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
- data/bundler/lib/bundler/settings.rb +1 -1
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +4 -0
- data/bundler/lib/bundler/spec_set.rb +48 -33
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +3 -3
- data/lib/rubygems/available_set.rb +3 -3
- data/lib/rubygems/basic_specification.rb +4 -4
- data/lib/rubygems/command.rb +25 -25
- data/lib/rubygems/command_manager.rb +9 -9
- data/lib/rubygems/commands/build_command.rb +8 -8
- data/lib/rubygems/commands/cert_command.rb +33 -33
- data/lib/rubygems/commands/check_command.rb +20 -20
- data/lib/rubygems/commands/cleanup_command.rb +17 -17
- data/lib/rubygems/commands/contents_command.rb +13 -13
- data/lib/rubygems/commands/dependency_command.rb +16 -16
- data/lib/rubygems/commands/environment_command.rb +5 -5
- data/lib/rubygems/commands/fetch_command.rb +8 -8
- data/lib/rubygems/commands/generate_index_command.rb +17 -17
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/commands/info_command.rb +3 -3
- data/lib/rubygems/commands/install_command.rb +20 -20
- data/lib/rubygems/commands/list_command.rb +3 -3
- data/lib/rubygems/commands/lock_command.rb +4 -4
- data/lib/rubygems/commands/mirror_command.rb +3 -3
- data/lib/rubygems/commands/open_command.rb +9 -9
- data/lib/rubygems/commands/outdated_command.rb +5 -5
- data/lib/rubygems/commands/owner_command.rb +11 -11
- data/lib/rubygems/commands/pristine_command.rb +36 -36
- data/lib/rubygems/commands/push_command.rb +8 -8
- data/lib/rubygems/commands/query_command.rb +8 -8
- data/lib/rubygems/commands/rdoc_command.rb +17 -17
- data/lib/rubygems/commands/search_command.rb +3 -3
- data/lib/rubygems/commands/server_command.rb +3 -3
- data/lib/rubygems/commands/setup_command.rb +96 -106
- data/lib/rubygems/commands/signin_command.rb +9 -9
- data/lib/rubygems/commands/signout_command.rb +7 -7
- data/lib/rubygems/commands/sources_command.rb +21 -21
- data/lib/rubygems/commands/specification_command.rb +13 -13
- data/lib/rubygems/commands/stale_command.rb +2 -2
- data/lib/rubygems/commands/uninstall_command.rb +40 -40
- data/lib/rubygems/commands/unpack_command.rb +12 -12
- data/lib/rubygems/commands/update_command.rb +40 -56
- data/lib/rubygems/commands/which_command.rb +7 -7
- data/lib/rubygems/commands/yank_command.rb +11 -11
- data/lib/rubygems/config_file.rb +21 -21
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +1 -1
- data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
- data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
- data/lib/rubygems/defaults.rb +16 -16
- data/lib/rubygems/dependency.rb +9 -9
- data/lib/rubygems/dependency_installer.rb +13 -13
- data/lib/rubygems/dependency_list.rb +6 -6
- data/lib/rubygems/doctor.rb +18 -18
- data/lib/rubygems/errors.rb +2 -2
- data/lib/rubygems/exceptions.rb +5 -5
- data/lib/rubygems/ext/build_error.rb +1 -1
- data/lib/rubygems/ext/builder.rb +16 -16
- data/lib/rubygems/ext/cargo_builder.rb +7 -7
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
- data/lib/rubygems/ext/rake_builder.rb +3 -3
- data/lib/rubygems/ext.rb +7 -7
- data/lib/rubygems/gem_runner.rb +5 -5
- data/lib/rubygems/gemcutter_utilities.rb +31 -28
- data/lib/rubygems/indexer.rb +27 -27
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +55 -55
- data/lib/rubygems/installer.rb +32 -40
- data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
- data/lib/rubygems/local_remote_options.rb +18 -20
- data/lib/rubygems/mock_gem_ui.rb +2 -2
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/optparse.rb +1 -1
- data/lib/rubygems/package/file_source.rb +2 -2
- data/lib/rubygems/package/old.rb +8 -8
- data/lib/rubygems/package/tar_header.rb +50 -50
- data/lib/rubygems/package/tar_reader/entry.rb +2 -2
- data/lib/rubygems/package/tar_reader.rb +1 -1
- data/lib/rubygems/package/tar_writer.rb +7 -7
- data/lib/rubygems/package.rb +54 -43
- data/lib/rubygems/package_task.rb +4 -4
- data/lib/rubygems/platform.rb +66 -55
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/query_utils.rb +35 -35
- data/lib/rubygems/rdoc.rb +2 -2
- data/lib/rubygems/remote_fetcher.rb +22 -22
- data/lib/rubygems/request/connection_pools.rb +4 -4
- data/lib/rubygems/request/http_pool.rb +1 -1
- data/lib/rubygems/request.rb +22 -22
- data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
- data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
- data/lib/rubygems/request_set/lockfile.rb +5 -5
- data/lib/rubygems/request_set.rb +17 -17
- data/lib/rubygems/requirement.rb +6 -6
- data/lib/rubygems/resolver/activation_request.rb +3 -3
- data/lib/rubygems/resolver/api_set.rb +4 -4
- data/lib/rubygems/resolver/api_specification.rb +6 -6
- data/lib/rubygems/resolver/best_set.rb +5 -5
- data/lib/rubygems/resolver/conflict.rb +10 -10
- data/lib/rubygems/resolver/dependency_request.rb +2 -2
- data/lib/rubygems/resolver/git_set.rb +2 -2
- data/lib/rubygems/resolver/git_specification.rb +6 -6
- data/lib/rubygems/resolver/index_set.rb +3 -3
- data/lib/rubygems/resolver/index_specification.rb +6 -5
- data/lib/rubygems/resolver/installed_specification.rb +4 -4
- data/lib/rubygems/resolver/installer_set.rb +11 -16
- data/lib/rubygems/resolver/local_specification.rb +2 -2
- data/lib/rubygems/resolver/lock_set.rb +4 -4
- data/lib/rubygems/resolver/lock_specification.rb +4 -4
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/specification.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +1 -1
- data/lib/rubygems/resolver/vendor_specification.rb +3 -3
- data/lib/rubygems/resolver.rb +39 -39
- data/lib/rubygems/s3_uri_signer.rb +6 -6
- data/lib/rubygems/safe_yaml.rb +2 -2
- data/lib/rubygems/security/policies.rb +11 -11
- data/lib/rubygems/security/policy.rb +18 -18
- data/lib/rubygems/security/signer.rb +5 -5
- data/lib/rubygems/security/trust_dir.rb +3 -3
- data/lib/rubygems/security.rb +28 -28
- data/lib/rubygems/security_option.rb +5 -5
- data/lib/rubygems/source/git.rb +21 -21
- data/lib/rubygems/source/installed.rb +1 -1
- data/lib/rubygems/source/local.rb +2 -2
- data/lib/rubygems/source/specific_file.rb +1 -1
- data/lib/rubygems/source.rb +16 -16
- data/lib/rubygems/spec_fetcher.rb +9 -9
- data/lib/rubygems/specification.rb +63 -62
- data/lib/rubygems/specification_policy.rb +15 -15
- data/lib/rubygems/stub_specification.rb +5 -5
- data/lib/rubygems/tsort.rb +1 -1
- data/lib/rubygems/uninstaller.rb +18 -18
- data/lib/rubygems/uri.rb +4 -4
- data/lib/rubygems/uri_formatter.rb +1 -1
- data/lib/rubygems/user_interaction.rb +33 -19
- data/lib/rubygems/util/licenses.rb +3 -3
- data/lib/rubygems/util.rb +10 -10
- data/lib/rubygems/validator.rb +5 -5
- data/lib/rubygems/version.rb +15 -9
- data/lib/rubygems/version_option.rb +3 -3
- data/lib/rubygems.rb +62 -61
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +9 -9
- data/test/rubygems/helper.rb +132 -134
- data/test/rubygems/installer_test_case.rb +13 -13
- data/test/rubygems/package/tar_test_case.rb +2 -2
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/rubygems_plugin.rb +2 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
- data/test/rubygems/test_bundled_ca.rb +10 -10
- data/test/rubygems/test_config.rb +3 -3
- data/test/rubygems/test_deprecate.rb +3 -3
- data/test/rubygems/test_exit.rb +2 -2
- data/test/rubygems/test_gem.rb +342 -342
- data/test/rubygems/test_gem_available_set.rb +21 -21
- data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
- data/test/rubygems/test_gem_command.rb +44 -44
- data/test/rubygems/test_gem_command_manager.rb +29 -29
- data/test/rubygems/test_gem_commands_build_command.rb +63 -63
- data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
- data/test/rubygems/test_gem_commands_check_command.rb +4 -4
- data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
- data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
- data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
- data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
- data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
- data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
- data/test/rubygems/test_gem_commands_help_command.rb +13 -13
- data/test/rubygems/test_gem_commands_info_command.rb +28 -2
- data/test/rubygems/test_gem_commands_install_command.rb +131 -131
- data/test/rubygems/test_gem_commands_list_command.rb +4 -4
- data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
- data/test/rubygems/test_gem_commands_mirror.rb +2 -2
- data/test/rubygems/test_gem_commands_open_command.rb +4 -4
- data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
- data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
- data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
- data/test/rubygems/test_gem_commands_push_command.rb +54 -54
- data/test/rubygems/test_gem_commands_query_command.rb +73 -73
- data/test/rubygems/test_gem_commands_search_command.rb +2 -2
- data/test/rubygems/test_gem_commands_server_command.rb +2 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
- data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
- data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
- data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
- data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
- data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
- data/test/rubygems/test_gem_commands_update_command.rb +89 -89
- data/test/rubygems/test_gem_commands_which_command.rb +6 -6
- data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
- data/test/rubygems/test_gem_config_file.rb +93 -81
- data/test/rubygems/test_gem_dependency.rb +73 -73
- data/test/rubygems/test_gem_dependency_installer.rb +165 -165
- data/test/rubygems/test_gem_dependency_list.rb +47 -47
- data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
- data/test/rubygems/test_gem_doctor.rb +26 -26
- data/test/rubygems/test_gem_ext_builder.rb +59 -59
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
- data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
- data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
- data/test/rubygems/test_gem_gem_runner.rb +7 -7
- data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
- data/test/rubygems/test_gem_indexer.rb +48 -48
- data/test/rubygems/test_gem_install_update_options.rb +16 -16
- data/test/rubygems/test_gem_installer.rb +303 -300
- data/test/rubygems/test_gem_local_remote_options.rb +10 -10
- data/test/rubygems/test_gem_name_tuple.rb +4 -4
- data/test/rubygems/test_gem_package.rb +228 -206
- data/test/rubygems/test_gem_package_old.rb +13 -13
- data/test/rubygems/test_gem_package_tar_header.rb +42 -42
- data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
- data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
- data/test/rubygems/test_gem_package_task.rb +18 -18
- data/test/rubygems/test_gem_path_support.rb +14 -14
- data/test/rubygems/test_gem_platform.rb +298 -227
- data/test/rubygems/test_gem_rdoc.rb +14 -14
- data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
- data/test/rubygems/test_gem_request.rb +55 -55
- data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
- data/test/rubygems/test_gem_request_set.rb +99 -99
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
- data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
- data/test/rubygems/test_gem_requirement.rb +47 -41
- data/test/rubygems/test_gem_resolver.rb +133 -99
- data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
- data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
- data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
- data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
- data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
- data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
- data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
- data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
- data/test/rubygems/test_gem_resolver_specification.rb +8 -8
- data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
- data/test/rubygems/test_gem_security.rb +67 -67
- data/test/rubygems/test_gem_security_policy.rb +62 -62
- data/test/rubygems/test_gem_security_signer.rb +28 -28
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
- data/test/rubygems/test_gem_silent_ui.rb +38 -32
- data/test/rubygems/test_gem_source.rb +44 -44
- data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
- data/test/rubygems/test_gem_source_git.rb +59 -59
- data/test/rubygems/test_gem_source_installed.rb +16 -16
- data/test/rubygems/test_gem_source_list.rb +5 -5
- data/test/rubygems/test_gem_source_local.rb +14 -14
- data/test/rubygems/test_gem_source_lock.rb +31 -31
- data/test/rubygems/test_gem_source_specific_file.rb +17 -17
- data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
- data/test/rubygems/test_gem_source_vendor.rb +13 -13
- data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
- data/test/rubygems/test_gem_specification.rb +444 -436
- data/test/rubygems/test_gem_stream_ui.rb +19 -19
- data/test/rubygems/test_gem_stub_specification.rb +32 -32
- data/test/rubygems/test_gem_text.rb +1 -1
- data/test/rubygems/test_gem_uninstaller.rb +112 -112
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
- data/test/rubygems/test_gem_uri.rb +4 -4
- data/test/rubygems/test_gem_uri_formatter.rb +14 -14
- data/test/rubygems/test_gem_util.rb +23 -23
- data/test/rubygems/test_gem_validator.rb +8 -8
- data/test/rubygems/test_gem_version.rb +22 -15
- data/test/rubygems/test_gem_version_option.rb +15 -15
- data/test/rubygems/test_kernel.rb +31 -31
- data/test/rubygems/test_project_sanity.rb +1 -1
- data/test/rubygems/test_remote_fetch_error.rb +6 -6
- data/test/rubygems/test_require.rb +43 -43
- data/test/rubygems/test_rubygems.rb +8 -8
- data/test/rubygems/utilities.rb +19 -19
- metadata +14 -3
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/package"
|
4
|
+
require "rubygems/security"
|
5
|
+
require "rubygems/commands/fetch_command"
|
6
6
|
|
7
7
|
class TestGemCommandsFetchCommand < Gem::TestCase
|
8
8
|
def setup
|
@@ -13,10 +13,10 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
13
13
|
|
14
14
|
def test_execute
|
15
15
|
specs = spec_fetcher do |fetcher|
|
16
|
-
fetcher.gem
|
16
|
+
fetcher.gem "a", 2
|
17
17
|
end
|
18
18
|
|
19
|
-
assert_path_not_exist File.join(@tempdir,
|
19
|
+
assert_path_not_exist File.join(@tempdir, "cache"), "sanity check"
|
20
20
|
|
21
21
|
@cmd.options[:args] = %w[a]
|
22
22
|
|
@@ -26,24 +26,24 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
a2 = specs[
|
29
|
+
a2 = specs["a-2"]
|
30
30
|
|
31
31
|
assert_path_exist(File.join(@tempdir, a2.file_name),
|
32
32
|
"#{a2.full_name} not fetched")
|
33
|
-
assert_path_not_exist File.join(@tempdir,
|
34
|
-
|
33
|
+
assert_path_not_exist File.join(@tempdir, "cache"),
|
34
|
+
"gem repository directories must not be created"
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_execute_latest
|
38
38
|
specs = spec_fetcher do |fetcher|
|
39
|
-
fetcher.gem
|
40
|
-
fetcher.gem
|
39
|
+
fetcher.gem "a", 1
|
40
|
+
fetcher.gem "a", 2
|
41
41
|
end
|
42
42
|
|
43
|
-
assert_path_not_exist File.join(@tempdir,
|
43
|
+
assert_path_not_exist File.join(@tempdir, "cache"), "sanity check"
|
44
44
|
|
45
45
|
@cmd.options[:args] = %w[a]
|
46
|
-
@cmd.options[:version] = req(
|
46
|
+
@cmd.options[:version] = req(">= 0.1")
|
47
47
|
|
48
48
|
use_ui @ui do
|
49
49
|
Dir.chdir @tempdir do
|
@@ -51,17 +51,17 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
a2 = specs[
|
54
|
+
a2 = specs["a-2"]
|
55
55
|
assert_path_exist(File.join(@tempdir, a2.file_name),
|
56
56
|
"#{a2.full_name} not fetched")
|
57
|
-
assert_path_not_exist File.join(@tempdir,
|
58
|
-
|
57
|
+
assert_path_not_exist File.join(@tempdir, "cache"),
|
58
|
+
"gem repository directories must not be created"
|
59
59
|
end
|
60
60
|
|
61
61
|
def test_execute_prerelease
|
62
62
|
specs = spec_fetcher do |fetcher|
|
63
|
-
fetcher.gem
|
64
|
-
fetcher.gem
|
63
|
+
fetcher.gem "a", 2
|
64
|
+
fetcher.gem "a", "2.a"
|
65
65
|
end
|
66
66
|
|
67
67
|
@cmd.options[:args] = %w[a]
|
@@ -73,7 +73,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
a2 = specs[
|
76
|
+
a2 = specs["a-2"]
|
77
77
|
|
78
78
|
assert_path_exist(File.join(@tempdir, a2.file_name),
|
79
79
|
"#{a2.full_name} not fetched")
|
@@ -83,7 +83,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
83
83
|
a2_spec, a2 = util_gem("a", "2")
|
84
84
|
|
85
85
|
a2_universal_darwin_spec, a2_universal_darwin = util_gem("a", "2") do |s|
|
86
|
-
s.platform =
|
86
|
+
s.platform = "universal-darwin"
|
87
87
|
end
|
88
88
|
|
89
89
|
Gem::RemoteFetcher.fetcher = @fetcher = Gem::FakeFetcher.new
|
@@ -103,7 +103,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
103
103
|
@fetcher.data["#{@gem_repo}gems/#{a2_universal_darwin_spec.file_name}"] = Gem.read_binary(a2_universal_darwin)
|
104
104
|
FileUtils.cp a2_universal_darwin, a2_universal_darwin_spec.cache_file
|
105
105
|
|
106
|
-
util_set_arch
|
106
|
+
util_set_arch "arm64-darwin20" do
|
107
107
|
use_ui @ui do
|
108
108
|
Dir.chdir @tempdir do
|
109
109
|
@cmd.execute
|
@@ -117,8 +117,8 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
117
117
|
|
118
118
|
def test_execute_specific_prerelease
|
119
119
|
specs = spec_fetcher do |fetcher|
|
120
|
-
fetcher.gem
|
121
|
-
fetcher.gem
|
120
|
+
fetcher.gem "a", 2
|
121
|
+
fetcher.gem "a", "2.a"
|
122
122
|
end
|
123
123
|
|
124
124
|
@cmd.options[:args] = %w[a]
|
@@ -131,7 +131,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
131
131
|
end
|
132
132
|
end
|
133
133
|
|
134
|
-
a2_pre = specs[
|
134
|
+
a2_pre = specs["a-2.a"]
|
135
135
|
|
136
136
|
assert_path_exist(File.join(@tempdir, a2_pre.file_name),
|
137
137
|
"#{a2_pre.full_name} not fetched")
|
@@ -139,12 +139,12 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
139
139
|
|
140
140
|
def test_execute_version
|
141
141
|
specs = spec_fetcher do |fetcher|
|
142
|
-
fetcher.gem
|
143
|
-
fetcher.gem
|
142
|
+
fetcher.gem "a", 1
|
143
|
+
fetcher.gem "a", 2
|
144
144
|
end
|
145
145
|
|
146
146
|
@cmd.options[:args] = %w[a]
|
147
|
-
@cmd.options[:version] = Gem::Requirement.new
|
147
|
+
@cmd.options[:version] = Gem::Requirement.new "1"
|
148
148
|
|
149
149
|
use_ui @ui do
|
150
150
|
Dir.chdir @tempdir do
|
@@ -152,7 +152,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
152
152
|
end
|
153
153
|
end
|
154
154
|
|
155
|
-
a1 = specs[
|
155
|
+
a1 = specs["a-1"]
|
156
156
|
|
157
157
|
assert_path_exist(File.join(@tempdir, a1.file_name),
|
158
158
|
"#{a1.full_name} not fetched")
|
@@ -160,7 +160,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
160
160
|
|
161
161
|
def test_execute_version_specified_by_colon
|
162
162
|
specs = spec_fetcher do |fetcher|
|
163
|
-
fetcher.gem
|
163
|
+
fetcher.gem "a", 1
|
164
164
|
end
|
165
165
|
|
166
166
|
@cmd.options[:args] = %w[a:1]
|
@@ -171,7 +171,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
-
a1 = specs[
|
174
|
+
a1 = specs["a-1"]
|
175
175
|
|
176
176
|
assert_path_exist(File.join(@tempdir, a1.file_name),
|
177
177
|
"#{a1.full_name} not fetched")
|
@@ -179,7 +179,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
179
179
|
|
180
180
|
def test_execute_two_version
|
181
181
|
@cmd.options[:args] = %w[a b]
|
182
|
-
@cmd.options[:version] = Gem::Requirement.new
|
182
|
+
@cmd.options[:version] = Gem::Requirement.new "1"
|
183
183
|
|
184
184
|
use_ui @ui do
|
185
185
|
assert_raise Gem::MockGemUi::TermError, @ui.error do
|
@@ -196,8 +196,8 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
196
196
|
|
197
197
|
def test_execute_two_version_specified_by_colon
|
198
198
|
specs = spec_fetcher do |fetcher|
|
199
|
-
fetcher.gem
|
200
|
-
fetcher.gem
|
199
|
+
fetcher.gem "a", 1
|
200
|
+
fetcher.gem "b", 1
|
201
201
|
end
|
202
202
|
|
203
203
|
@cmd.options[:args] = %w[a:1 b:1]
|
@@ -208,8 +208,8 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
208
208
|
end
|
209
209
|
end
|
210
210
|
|
211
|
-
a1 = specs[
|
212
|
-
b1 = specs[
|
211
|
+
a1 = specs["a-1"]
|
212
|
+
b1 = specs["b-1"]
|
213
213
|
|
214
214
|
assert_path_exist(File.join(@tempdir, a1.file_name),
|
215
215
|
"#{a1.full_name} not fetched")
|
@@ -219,7 +219,7 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
219
219
|
|
220
220
|
def test_execute_version_nonexistent
|
221
221
|
spec_fetcher do |fetcher|
|
222
|
-
fetcher.spec
|
222
|
+
fetcher.spec "foo", 1
|
223
223
|
end
|
224
224
|
|
225
225
|
@cmd.options[:args] = %w[foo:2]
|
@@ -238,7 +238,7 @@ ERROR: Possible alternatives: foo
|
|
238
238
|
|
239
239
|
def test_execute_nonexistent_hint_disabled
|
240
240
|
spec_fetcher do |fetcher|
|
241
|
-
fetcher.spec
|
241
|
+
fetcher.spec "foo", 1
|
242
242
|
end
|
243
243
|
|
244
244
|
@cmd.options[:args] = %w[foo:2]
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/indexer"
|
4
|
+
require "rubygems/commands/generate_index_command"
|
5
5
|
|
6
6
|
class TestGemCommandsGenerateIndexCommand < Gem::TestCase
|
7
7
|
def setup
|
@@ -35,21 +35,21 @@ class TestGemCommandsGenerateIndexCommand < Gem::TestCase
|
|
35
35
|
|
36
36
|
def test_handle_options_directory
|
37
37
|
return if win_platform?
|
38
|
-
refute_equal
|
38
|
+
refute_equal "/nonexistent", @cmd.options[:directory]
|
39
39
|
|
40
40
|
@cmd.handle_options %w[--directory /nonexistent]
|
41
41
|
|
42
|
-
assert_equal
|
42
|
+
assert_equal "/nonexistent", @cmd.options[:directory]
|
43
43
|
end
|
44
44
|
|
45
45
|
def test_handle_options_directory_windows
|
46
46
|
return unless win_platform?
|
47
47
|
|
48
|
-
refute_equal
|
48
|
+
refute_equal "/nonexistent", @cmd.options[:directory]
|
49
49
|
|
50
50
|
@cmd.handle_options %w[--directory C:/nonexistent]
|
51
51
|
|
52
|
-
assert_equal
|
52
|
+
assert_equal "C:/nonexistent", @cmd.options[:directory]
|
53
53
|
end
|
54
54
|
|
55
55
|
def test_handle_options_update
|
@@ -11,41 +11,41 @@ class TestGemCommandsHelpCommand < Gem::TestCase
|
|
11
11
|
|
12
12
|
@cmd = Gem::Commands::HelpCommand.new
|
13
13
|
|
14
|
-
load File.expand_path(
|
14
|
+
load File.expand_path("rubygems_plugin.rb", __dir__) unless Gem::Commands.const_defined? :InterruptCommand
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_gem_help_bad
|
18
|
-
util_gem
|
19
|
-
assert_equal(
|
18
|
+
util_gem "bad" do |out, err|
|
19
|
+
assert_equal("", out)
|
20
20
|
assert_match "Unknown command bad", err
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_gem_help_gem_dependencies
|
25
|
-
util_gem
|
26
|
-
assert_match
|
27
|
-
assert_equal
|
25
|
+
util_gem "gem_dependencies" do |out, err|
|
26
|
+
assert_match "gem.deps.rb", out
|
27
|
+
assert_equal "", err
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
31
|
def test_gem_help_platforms
|
32
|
-
util_gem
|
32
|
+
util_gem "platforms" do |out, err|
|
33
33
|
assert_match(/x86-freebsd/, out)
|
34
|
-
assert_equal
|
34
|
+
assert_equal "", err
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_gem_help_build
|
39
|
-
util_gem
|
39
|
+
util_gem "build" do |out, err|
|
40
40
|
assert_match(/-C PATH *Run as if gem build was started in <PATH>/, out)
|
41
|
-
assert_equal
|
41
|
+
assert_equal "", err
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
def test_gem_help_commands
|
46
46
|
mgr = Gem::CommandManager.new
|
47
47
|
|
48
|
-
util_gem
|
48
|
+
util_gem "commands" do |out, err|
|
49
49
|
mgr.command_names.each do |cmd|
|
50
50
|
unless mgr[cmd].deprecated?
|
51
51
|
assert_match(/\s+#{cmd}\s+\S+/, out)
|
@@ -63,7 +63,7 @@ class TestGemCommandsHelpCommand < Gem::TestCase
|
|
63
63
|
def test_gem_help_commands_omits_deprecated_commands
|
64
64
|
mgr = Gem::CommandManager.new
|
65
65
|
|
66
|
-
util_gem
|
66
|
+
util_gem "commands" do |out, err|
|
67
67
|
deprecated_commands = mgr.command_names.select {|cmd| mgr[cmd].deprecated? }
|
68
68
|
deprecated_commands.each do |cmd|
|
69
69
|
refute_match(/\A\s+#{cmd}\s+\S+\z/, out)
|
@@ -75,7 +75,7 @@ class TestGemCommandsHelpCommand < Gem::TestCase
|
|
75
75
|
util_gem do |out, err|
|
76
76
|
assert_match(/Usage:/, out)
|
77
77
|
assert_match(/gem install/, out)
|
78
|
-
assert_equal
|
78
|
+
assert_equal "", err
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/commands/info_command"
|
4
4
|
|
5
5
|
class TestGemCommandsInfoCommand < Gem::TestCase
|
6
6
|
def setup
|
@@ -40,4 +40,30 @@ class TestGemCommandsInfoCommand < Gem::TestCase
|
|
40
40
|
assert_match %r{#{@gem.summary}\n}, @ui.output
|
41
41
|
assert_match "", @ui.error
|
42
42
|
end
|
43
|
+
|
44
|
+
def test_execute_with_version_flag
|
45
|
+
spec_fetcher do |fetcher|
|
46
|
+
fetcher.spec "coolgem", "1.0"
|
47
|
+
fetcher.spec "coolgem", "2.0"
|
48
|
+
end
|
49
|
+
|
50
|
+
@cmd.handle_options %w[coolgem --remote --version 1.0]
|
51
|
+
|
52
|
+
use_ui @ui do
|
53
|
+
@cmd.execute
|
54
|
+
end
|
55
|
+
|
56
|
+
expected = <<-EOF
|
57
|
+
|
58
|
+
*** REMOTE GEMS ***
|
59
|
+
|
60
|
+
coolgem (1.0)
|
61
|
+
Author: A User
|
62
|
+
Homepage: http://example.com
|
63
|
+
|
64
|
+
this is a summary
|
65
|
+
EOF
|
66
|
+
|
67
|
+
assert_equal expected, @ui.output
|
68
|
+
end
|
43
69
|
end
|