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,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/user_interaction"
|
4
|
+
require "timeout"
|
5
5
|
|
6
6
|
class TestGemStreamUI < Gem::TestCase
|
7
7
|
# increase timeout with MJIT for --jit-wait testing
|
@@ -100,14 +100,14 @@ class TestGemStreamUI < Gem::TestCase
|
|
100
100
|
@in.puts "1"
|
101
101
|
@in.rewind
|
102
102
|
|
103
|
-
result = @sui.choose_from_list
|
103
|
+
result = @sui.choose_from_list "which one?", %w[foo bar]
|
104
104
|
|
105
|
-
assert_equal [
|
105
|
+
assert_equal ["foo", 0], result
|
106
106
|
assert_equal "which one?\n 1. foo\n 2. bar\n> ", @out.string
|
107
107
|
end
|
108
108
|
|
109
109
|
def test_choose_from_list_EOF
|
110
|
-
result = @sui.choose_from_list
|
110
|
+
result = @sui.choose_from_list "which one?", %w[foo bar]
|
111
111
|
|
112
112
|
assert_equal [nil, nil], result
|
113
113
|
assert_equal "which one?\n 1. foo\n 2. bar\n> ", @out.string
|
@@ -115,27 +115,27 @@ class TestGemStreamUI < Gem::TestCase
|
|
115
115
|
|
116
116
|
def test_progress_reporter_silent_nil
|
117
117
|
@cfg.verbose = nil
|
118
|
-
reporter = @sui.progress_reporter 10,
|
118
|
+
reporter = @sui.progress_reporter 10, "hi"
|
119
119
|
assert_kind_of Gem::StreamUI::SilentProgressReporter, reporter
|
120
120
|
end
|
121
121
|
|
122
122
|
def test_progress_reporter_silent_false
|
123
123
|
@cfg.verbose = false
|
124
|
-
reporter = @sui.progress_reporter 10,
|
124
|
+
reporter = @sui.progress_reporter 10, "hi"
|
125
125
|
assert_kind_of Gem::StreamUI::SilentProgressReporter, reporter
|
126
126
|
assert_equal "", @out.string
|
127
127
|
end
|
128
128
|
|
129
129
|
def test_progress_reporter_simple
|
130
130
|
@cfg.verbose = true
|
131
|
-
reporter = @sui.progress_reporter 10,
|
131
|
+
reporter = @sui.progress_reporter 10, "hi"
|
132
132
|
assert_kind_of Gem::StreamUI::SimpleProgressReporter, reporter
|
133
133
|
assert_equal "hi\n", @out.string
|
134
134
|
end
|
135
135
|
|
136
136
|
def test_progress_reporter_verbose
|
137
137
|
@cfg.verbose = 0
|
138
|
-
reporter = @sui.progress_reporter 10,
|
138
|
+
reporter = @sui.progress_reporter 10, "hi"
|
139
139
|
assert_kind_of Gem::StreamUI::VerboseProgressReporter, reporter
|
140
140
|
assert_equal "hi\n", @out.string
|
141
141
|
end
|
@@ -143,7 +143,7 @@ class TestGemStreamUI < Gem::TestCase
|
|
143
143
|
def test_download_reporter_silent_nil
|
144
144
|
@cfg.verbose = nil
|
145
145
|
reporter = @sui.download_reporter
|
146
|
-
reporter.fetch
|
146
|
+
reporter.fetch "a.gem", 1024
|
147
147
|
assert_kind_of Gem::StreamUI::SilentDownloadReporter, reporter
|
148
148
|
assert_equal "", @out.string
|
149
149
|
end
|
@@ -151,7 +151,7 @@ class TestGemStreamUI < Gem::TestCase
|
|
151
151
|
def test_download_reporter_silent_false
|
152
152
|
@cfg.verbose = false
|
153
153
|
reporter = @sui.download_reporter
|
154
|
-
reporter.fetch
|
154
|
+
reporter.fetch "a.gem", 1024
|
155
155
|
assert_kind_of Gem::StreamUI::SilentDownloadReporter, reporter
|
156
156
|
assert_equal "", @out.string
|
157
157
|
end
|
@@ -165,14 +165,14 @@ class TestGemStreamUI < Gem::TestCase
|
|
165
165
|
def test_threaded_download_reporter
|
166
166
|
@cfg.verbose = true
|
167
167
|
reporter = @sui.download_reporter
|
168
|
-
reporter.fetch
|
168
|
+
reporter.fetch "a.gem", 1024
|
169
169
|
assert_equal "Fetching a.gem\n", @out.string
|
170
170
|
end
|
171
171
|
|
172
172
|
def test_verbose_download_reporter_progress
|
173
173
|
@cfg.verbose = true
|
174
174
|
reporter = @sui.download_reporter
|
175
|
-
reporter.fetch
|
175
|
+
reporter.fetch "a.gem", 1024
|
176
176
|
reporter.update 512
|
177
177
|
assert_equal "Fetching a.gem\n", @out.string
|
178
178
|
end
|
@@ -180,7 +180,7 @@ class TestGemStreamUI < Gem::TestCase
|
|
180
180
|
def test_verbose_download_reporter_progress_once
|
181
181
|
@cfg.verbose = true
|
182
182
|
reporter = @sui.download_reporter
|
183
|
-
reporter.fetch
|
183
|
+
reporter.fetch "a.gem", 1024
|
184
184
|
reporter.update 510
|
185
185
|
reporter.update 512
|
186
186
|
assert_equal "Fetching a.gem\n", @out.string
|
@@ -189,7 +189,7 @@ class TestGemStreamUI < Gem::TestCase
|
|
189
189
|
def test_verbose_download_reporter_progress_complete
|
190
190
|
@cfg.verbose = true
|
191
191
|
reporter = @sui.download_reporter
|
192
|
-
reporter.fetch
|
192
|
+
reporter.fetch "a.gem", 1024
|
193
193
|
reporter.update 510
|
194
194
|
reporter.done
|
195
195
|
assert_equal "Fetching a.gem\n", @out.string
|
@@ -198,7 +198,7 @@ class TestGemStreamUI < Gem::TestCase
|
|
198
198
|
def test_verbose_download_reporter_progress_nil_length
|
199
199
|
@cfg.verbose = true
|
200
200
|
reporter = @sui.download_reporter
|
201
|
-
reporter.fetch
|
201
|
+
reporter.fetch "a.gem", nil
|
202
202
|
reporter.update 1024
|
203
203
|
reporter.done
|
204
204
|
assert_equal "Fetching a.gem\n", @out.string
|
@@ -207,7 +207,7 @@ class TestGemStreamUI < Gem::TestCase
|
|
207
207
|
def test_verbose_download_reporter_progress_zero_length
|
208
208
|
@cfg.verbose = true
|
209
209
|
reporter = @sui.download_reporter
|
210
|
-
reporter.fetch
|
210
|
+
reporter.fetch "a.gem", 0
|
211
211
|
reporter.update 1024
|
212
212
|
reporter.done
|
213
213
|
assert_equal "Fetching a.gem\n", @out.string
|
@@ -218,7 +218,7 @@ class TestGemStreamUI < Gem::TestCase
|
|
218
218
|
|
219
219
|
@cfg.verbose = true
|
220
220
|
reporter = @sui.download_reporter
|
221
|
-
reporter.fetch
|
221
|
+
reporter.fetch "a.gem", 1024
|
222
222
|
assert_equal "", @out.string
|
223
223
|
end
|
224
224
|
end
|
@@ -10,7 +10,7 @@ class TestStubSpecification < Gem::TestCase
|
|
10
10
|
super
|
11
11
|
|
12
12
|
@base_dir = __dir__
|
13
|
-
@gems_dir = File.join __dir__,
|
13
|
+
@gems_dir = File.join __dir__, "gem"
|
14
14
|
@foo = Gem::StubSpecification.gemspec_stub FOO, @base_dir, @gems_dir
|
15
15
|
end
|
16
16
|
|
@@ -25,24 +25,24 @@ class TestStubSpecification < Gem::TestCase
|
|
25
25
|
def test_initialize_extension
|
26
26
|
stub = stub_with_extension
|
27
27
|
|
28
|
-
assert_equal
|
28
|
+
assert_equal "stub_e", stub.name
|
29
29
|
assert_equal v(2), stub.version
|
30
30
|
assert_equal Gem::Platform::RUBY, stub.platform
|
31
|
-
assert_equal [stub.extension_dir,
|
31
|
+
assert_equal [stub.extension_dir, "lib"], stub.require_paths
|
32
32
|
assert_equal %w[ext/stub_e/extconf.rb], stub.extensions
|
33
33
|
end
|
34
34
|
|
35
35
|
def test_initialize_version
|
36
36
|
stub = stub_with_version
|
37
37
|
|
38
|
-
assert_equal
|
38
|
+
assert_equal "stub_v", stub.name
|
39
39
|
assert_equal v(2), stub.version
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_initialize_with_empty_version
|
43
43
|
stub = stub_without_version
|
44
44
|
|
45
|
-
assert_equal
|
45
|
+
assert_equal "stub_v", stub.name
|
46
46
|
assert_equal v(0), stub.version
|
47
47
|
end
|
48
48
|
|
@@ -57,18 +57,18 @@ class TestStubSpecification < Gem::TestCase
|
|
57
57
|
|
58
58
|
def test_contains_requirable_file_eh
|
59
59
|
stub = stub_without_extension
|
60
|
-
code_rb = File.join stub.gem_dir,
|
60
|
+
code_rb = File.join stub.gem_dir, "lib", "code.rb"
|
61
61
|
FileUtils.mkdir_p File.dirname code_rb
|
62
62
|
FileUtils.touch code_rb
|
63
63
|
|
64
|
-
assert stub.contains_requirable_file?
|
64
|
+
assert stub.contains_requirable_file? "code"
|
65
65
|
end
|
66
66
|
|
67
67
|
def test_contains_requirable_file_eh_extension
|
68
68
|
pend "I guess making the stub match the running platform should work" if Gem.java_platform?
|
69
69
|
stub_with_extension do |stub|
|
70
70
|
_, err = capture_output do
|
71
|
-
refute stub.contains_requirable_file?
|
71
|
+
refute stub.contains_requirable_file? "nonexistent"
|
72
72
|
end
|
73
73
|
|
74
74
|
expected = "Ignoring stub_e-2 because its extensions are not built. " +
|
@@ -82,7 +82,7 @@ class TestStubSpecification < Gem::TestCase
|
|
82
82
|
stub = stub_with_extension
|
83
83
|
|
84
84
|
expected = [
|
85
|
-
File.join(stub.full_gem_path,
|
85
|
+
File.join(stub.full_gem_path, "lib"),
|
86
86
|
stub.extension_dir,
|
87
87
|
]
|
88
88
|
|
@@ -92,32 +92,32 @@ class TestStubSpecification < Gem::TestCase
|
|
92
92
|
def test_lib_dirs_glob
|
93
93
|
stub = stub_without_extension
|
94
94
|
|
95
|
-
assert_equal File.join(stub.full_gem_path,
|
95
|
+
assert_equal File.join(stub.full_gem_path, "lib"), stub.lib_dirs_glob
|
96
96
|
end
|
97
97
|
|
98
98
|
def test_lib_dirs_glob_with_extension
|
99
99
|
stub = stub_with_extension
|
100
100
|
|
101
|
-
assert_equal File.join(stub.full_gem_path,
|
101
|
+
assert_equal File.join(stub.full_gem_path, "lib"), stub.lib_dirs_glob
|
102
102
|
end
|
103
103
|
|
104
104
|
def test_matches_for_glob
|
105
105
|
stub = stub_without_extension
|
106
|
-
code_rb = File.join stub.gem_dir,
|
106
|
+
code_rb = File.join stub.gem_dir, "lib", "code.rb"
|
107
107
|
FileUtils.mkdir_p File.dirname code_rb
|
108
108
|
FileUtils.touch code_rb
|
109
109
|
|
110
|
-
assert_equal code_rb, stub.matches_for_glob(
|
110
|
+
assert_equal code_rb, stub.matches_for_glob("code*").first
|
111
111
|
end
|
112
112
|
|
113
113
|
def test_matches_for_glob_with_bundler_inline
|
114
114
|
stub = stub_with_extension
|
115
|
-
code_rb = File.join stub.gem_dir,
|
115
|
+
code_rb = File.join stub.gem_dir, "lib", "code.rb"
|
116
116
|
FileUtils.mkdir_p File.dirname code_rb
|
117
117
|
FileUtils.touch code_rb
|
118
118
|
|
119
119
|
stub.stub(:raw_require_paths, nil) do
|
120
|
-
assert_equal code_rb, stub.matches_for_glob(
|
120
|
+
assert_equal code_rb, stub.matches_for_glob("code*").first
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
@@ -127,7 +127,7 @@ class TestStubSpecification < Gem::TestCase
|
|
127
127
|
extconf_rb = File.join s.gem_dir, s.extensions.first
|
128
128
|
FileUtils.mkdir_p File.dirname extconf_rb
|
129
129
|
|
130
|
-
File.open extconf_rb,
|
130
|
+
File.open extconf_rb, "w" do |f|
|
131
131
|
f.write <<-'RUBY'
|
132
132
|
File.open 'Makefile', 'w' do |f|
|
133
133
|
f.puts "clean:\n\techo clean"
|
@@ -146,10 +146,10 @@ class TestStubSpecification < Gem::TestCase
|
|
146
146
|
end
|
147
147
|
|
148
148
|
def test_missing_extensions_eh_default_gem
|
149
|
-
spec = new_default_spec
|
150
|
-
spec.extensions <<
|
149
|
+
spec = new_default_spec "default", 1
|
150
|
+
spec.extensions << "extconf.rb"
|
151
151
|
|
152
|
-
File.open spec.loaded_from,
|
152
|
+
File.open spec.loaded_from, "w" do |io|
|
153
153
|
io.write spec.to_ruby_for_cache
|
154
154
|
end
|
155
155
|
|
@@ -167,7 +167,7 @@ class TestStubSpecification < Gem::TestCase
|
|
167
167
|
real_foo.activate
|
168
168
|
|
169
169
|
assert_equal @foo.version, Gem.loaded_specs[@foo.name].version,
|
170
|
-
|
170
|
+
"sanity check"
|
171
171
|
|
172
172
|
assert_same real_foo, @foo.to_spec
|
173
173
|
end
|
@@ -181,8 +181,8 @@ class TestStubSpecification < Gem::TestCase
|
|
181
181
|
end
|
182
182
|
|
183
183
|
def stub_with_version
|
184
|
-
spec = File.join @gemhome,
|
185
|
-
File.open spec,
|
184
|
+
spec = File.join @gemhome, "specifications", "stub_e-2.gemspec"
|
185
|
+
File.open spec, "w" do |io|
|
186
186
|
io.write <<-STUB
|
187
187
|
# -*- encoding: utf-8 -*-
|
188
188
|
# stub: stub_v 2 ruby lib
|
@@ -195,7 +195,7 @@ end
|
|
195
195
|
|
196
196
|
io.flush
|
197
197
|
|
198
|
-
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome,
|
198
|
+
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome, "gems")
|
199
199
|
|
200
200
|
yield stub if block_given?
|
201
201
|
|
@@ -204,8 +204,8 @@ end
|
|
204
204
|
end
|
205
205
|
|
206
206
|
def stub_without_version
|
207
|
-
spec = File.join @gemhome,
|
208
|
-
File.open spec,
|
207
|
+
spec = File.join @gemhome, "specifications", "stub-2.gemspec"
|
208
|
+
File.open spec, "w" do |io|
|
209
209
|
io.write <<-STUB
|
210
210
|
# -*- encoding: utf-8 -*-
|
211
211
|
# stub: stub_v ruby lib
|
@@ -218,7 +218,7 @@ end
|
|
218
218
|
|
219
219
|
io.flush
|
220
220
|
|
221
|
-
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome,
|
221
|
+
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome, "gems")
|
222
222
|
|
223
223
|
yield stub if block_given?
|
224
224
|
|
@@ -227,8 +227,8 @@ end
|
|
227
227
|
end
|
228
228
|
|
229
229
|
def stub_with_extension
|
230
|
-
spec = File.join @gemhome,
|
231
|
-
File.open spec,
|
230
|
+
spec = File.join @gemhome, "specifications", "stub_e-2.gemspec"
|
231
|
+
File.open spec, "w" do |io|
|
232
232
|
io.write <<-STUB
|
233
233
|
# -*- encoding: utf-8 -*-
|
234
234
|
# stub: stub_e 2 ruby lib
|
@@ -244,7 +244,7 @@ end
|
|
244
244
|
|
245
245
|
io.flush
|
246
246
|
|
247
|
-
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome,
|
247
|
+
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome, "gems")
|
248
248
|
|
249
249
|
yield stub if block_given?
|
250
250
|
|
@@ -253,8 +253,8 @@ end
|
|
253
253
|
end
|
254
254
|
|
255
255
|
def stub_without_extension
|
256
|
-
spec = File.join @gemhome,
|
257
|
-
File.open spec,
|
256
|
+
spec = File.join @gemhome, "specifications", "stub-2.gemspec"
|
257
|
+
File.open spec, "w" do |io|
|
258
258
|
io.write <<-STUB
|
259
259
|
# -*- encoding: utf-8 -*-
|
260
260
|
# stub: stub 2 ruby lib
|
@@ -267,7 +267,7 @@ end
|
|
267
267
|
|
268
268
|
io.flush
|
269
269
|
|
270
|
-
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome,
|
270
|
+
stub = Gem::StubSpecification.gemspec_stub io.path, @gemhome, File.join(@gemhome, "gems")
|
271
271
|
|
272
272
|
yield stub if block_given?
|
273
273
|
|