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
data/test/rubygems/helper.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "rubygems"
|
4
4
|
|
5
5
|
# If bundler gemspec exists, add to stubs
|
6
|
-
bundler_gemspec = File.expand_path(
|
6
|
+
bundler_gemspec = File.expand_path("../../bundler/bundler.gemspec", __dir__)
|
7
7
|
if File.exist?(bundler_gemspec)
|
8
8
|
Gem::Specification.dirs.unshift File.dirname(bundler_gemspec)
|
9
9
|
Gem::Specification.class_variable_set :@@stubs, nil
|
@@ -12,32 +12,32 @@ if File.exist?(bundler_gemspec)
|
|
12
12
|
end
|
13
13
|
|
14
14
|
begin
|
15
|
-
gem
|
15
|
+
gem "test-unit", "~> 3.0"
|
16
16
|
rescue Gem::LoadError
|
17
17
|
end
|
18
18
|
|
19
19
|
if File.exist?(bundler_gemspec)
|
20
|
-
require_relative
|
20
|
+
require_relative "../../bundler/lib/bundler"
|
21
21
|
else
|
22
|
-
require
|
22
|
+
require "bundler"
|
23
23
|
end
|
24
24
|
|
25
|
-
require
|
25
|
+
require "test/unit"
|
26
26
|
|
27
27
|
ENV["JARS_SKIP"] = "true" if Gem.java_platform? # avoid unnecessary and noisy `jar-dependencies` post install hook
|
28
28
|
|
29
|
-
require
|
29
|
+
require "rubygems/deprecate"
|
30
30
|
|
31
|
-
require
|
32
|
-
require
|
33
|
-
require
|
34
|
-
require
|
35
|
-
require
|
36
|
-
require
|
37
|
-
require
|
38
|
-
require
|
39
|
-
require
|
40
|
-
require
|
31
|
+
require "fileutils"
|
32
|
+
require "pathname"
|
33
|
+
require "pp"
|
34
|
+
require "rubygems/package"
|
35
|
+
require "shellwords"
|
36
|
+
require "tmpdir"
|
37
|
+
require "uri"
|
38
|
+
require "zlib"
|
39
|
+
require "benchmark" # stdlib
|
40
|
+
require "rubygems/mock_gem_ui"
|
41
41
|
|
42
42
|
module Gem
|
43
43
|
|
@@ -165,15 +165,15 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
165
165
|
# the original value when the block ends
|
166
166
|
|
167
167
|
def enable_shared(value)
|
168
|
-
enable_shared = RbConfig::CONFIG[
|
169
|
-
RbConfig::CONFIG[
|
168
|
+
enable_shared = RbConfig::CONFIG["ENABLE_SHARED"]
|
169
|
+
RbConfig::CONFIG["ENABLE_SHARED"] = value
|
170
170
|
|
171
171
|
yield
|
172
172
|
ensure
|
173
173
|
if enable_shared
|
174
|
-
RbConfig::CONFIG[
|
174
|
+
RbConfig::CONFIG["ENABLE_SHARED"] = enable_shared
|
175
175
|
else
|
176
|
-
RbConfig::CONFIG.delete
|
176
|
+
RbConfig::CONFIG.delete "ENABLE_SHARED"
|
177
177
|
end
|
178
178
|
end
|
179
179
|
|
@@ -182,20 +182,20 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
182
182
|
# original value when the block ends
|
183
183
|
#
|
184
184
|
def vendordir(value)
|
185
|
-
vendordir = RbConfig::CONFIG[
|
185
|
+
vendordir = RbConfig::CONFIG["vendordir"]
|
186
186
|
|
187
187
|
if value
|
188
|
-
RbConfig::CONFIG[
|
188
|
+
RbConfig::CONFIG["vendordir"] = value
|
189
189
|
else
|
190
|
-
RbConfig::CONFIG.delete
|
190
|
+
RbConfig::CONFIG.delete "vendordir"
|
191
191
|
end
|
192
192
|
|
193
193
|
yield
|
194
194
|
ensure
|
195
195
|
if vendordir
|
196
|
-
RbConfig::CONFIG[
|
196
|
+
RbConfig::CONFIG["vendordir"] = vendordir
|
197
197
|
else
|
198
|
-
RbConfig::CONFIG.delete
|
198
|
+
RbConfig::CONFIG.delete "vendordir"
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
@@ -205,21 +205,21 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
205
205
|
#
|
206
206
|
def bindir(value)
|
207
207
|
with_clean_path_to_ruby do
|
208
|
-
bindir = RbConfig::CONFIG[
|
208
|
+
bindir = RbConfig::CONFIG["bindir"]
|
209
209
|
|
210
210
|
if value
|
211
|
-
RbConfig::CONFIG[
|
211
|
+
RbConfig::CONFIG["bindir"] = value
|
212
212
|
else
|
213
|
-
RbConfig::CONFIG.delete
|
213
|
+
RbConfig::CONFIG.delete "bindir"
|
214
214
|
end
|
215
215
|
|
216
216
|
begin
|
217
217
|
yield
|
218
218
|
ensure
|
219
219
|
if bindir
|
220
|
-
RbConfig::CONFIG[
|
220
|
+
RbConfig::CONFIG["bindir"] = bindir
|
221
221
|
else
|
222
|
-
RbConfig::CONFIG.delete
|
222
|
+
RbConfig::CONFIG.delete "bindir"
|
223
223
|
end
|
224
224
|
end
|
225
225
|
end
|
@@ -230,20 +230,20 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
230
230
|
# original value when the block ends
|
231
231
|
#
|
232
232
|
def exeext(value)
|
233
|
-
exeext = RbConfig::CONFIG[
|
233
|
+
exeext = RbConfig::CONFIG["EXEEXT"]
|
234
234
|
|
235
235
|
if value
|
236
|
-
RbConfig::CONFIG[
|
236
|
+
RbConfig::CONFIG["EXEEXT"] = value
|
237
237
|
else
|
238
|
-
RbConfig::CONFIG.delete
|
238
|
+
RbConfig::CONFIG.delete "EXEEXT"
|
239
239
|
end
|
240
240
|
|
241
241
|
yield
|
242
242
|
ensure
|
243
243
|
if exeext
|
244
|
-
RbConfig::CONFIG[
|
244
|
+
RbConfig::CONFIG["EXEEXT"] = exeext
|
245
245
|
else
|
246
|
-
RbConfig::CONFIG.delete
|
246
|
+
RbConfig::CONFIG.delete "EXEEXT"
|
247
247
|
end
|
248
248
|
end
|
249
249
|
|
@@ -264,7 +264,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
264
264
|
end
|
265
265
|
end
|
266
266
|
|
267
|
-
targets <<
|
267
|
+
targets << "" if targets.empty?
|
268
268
|
|
269
269
|
targets
|
270
270
|
end
|
@@ -273,14 +273,14 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
273
273
|
if output.match(/\n/)
|
274
274
|
msg = build_message(msg,
|
275
275
|
"Expected output containing make command \"%s\", but was \n\nBEGIN_OF_OUTPUT\n%sEND_OF_OUTPUT" % [
|
276
|
-
(
|
276
|
+
("%s %s" % [make_command, target]).rstrip,
|
277
277
|
output,
|
278
278
|
]
|
279
279
|
)
|
280
280
|
else
|
281
281
|
msg = build_message(msg,
|
282
282
|
'Expected make command "%s", but was "%s"' % [
|
283
|
-
(
|
283
|
+
("%s %s" % [make_command, target]).rstrip,
|
284
284
|
output,
|
285
285
|
]
|
286
286
|
)
|
@@ -317,13 +317,13 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
317
317
|
@tempdir = Dir.mktmpdir("test_rubygems_", @tmp)
|
318
318
|
@tempdir.tap(&Gem::UNTAINT)
|
319
319
|
|
320
|
-
ENV[
|
321
|
-
ENV[
|
322
|
-
ENV[
|
323
|
-
ENV[
|
324
|
-
ENV[
|
325
|
-
ENV[
|
326
|
-
ENV[
|
320
|
+
ENV["GEM_VENDOR"] = nil
|
321
|
+
ENV["GEMRC"] = nil
|
322
|
+
ENV["XDG_CACHE_HOME"] = nil
|
323
|
+
ENV["XDG_CONFIG_HOME"] = nil
|
324
|
+
ENV["XDG_DATA_HOME"] = nil
|
325
|
+
ENV["SOURCE_DATE_EPOCH"] = nil
|
326
|
+
ENV["BUNDLER_VERSION"] = nil
|
327
327
|
|
328
328
|
@current_dir = Dir.pwd
|
329
329
|
@fetcher = nil
|
@@ -334,24 +334,22 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
334
334
|
# capture output
|
335
335
|
Gem::DefaultUserInteraction.ui = Gem::MockGemUi.new
|
336
336
|
|
337
|
-
ENV["TMPDIR"] = @tempdir
|
338
|
-
|
339
337
|
@orig_SYSTEM_WIDE_CONFIG_FILE = Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE
|
340
338
|
Gem::ConfigFile.send :remove_const, :SYSTEM_WIDE_CONFIG_FILE
|
341
339
|
Gem::ConfigFile.send :const_set, :SYSTEM_WIDE_CONFIG_FILE,
|
342
|
-
File.join(@tempdir,
|
340
|
+
File.join(@tempdir, "system-gemrc")
|
343
341
|
|
344
|
-
@gemhome = File.join @tempdir,
|
345
|
-
@userhome = File.join @tempdir,
|
346
|
-
ENV["GEM_SPEC_CACHE"] = File.join @tempdir,
|
342
|
+
@gemhome = File.join @tempdir, "gemhome"
|
343
|
+
@userhome = File.join @tempdir, "userhome"
|
344
|
+
ENV["GEM_SPEC_CACHE"] = File.join @tempdir, "spec_cache"
|
347
345
|
|
348
|
-
@orig_ruby = if ENV[
|
346
|
+
@orig_ruby = if ENV["RUBY"]
|
349
347
|
ruby = Gem.ruby
|
350
|
-
Gem.ruby = ENV[
|
348
|
+
Gem.ruby = ENV["RUBY"]
|
351
349
|
ruby
|
352
350
|
end
|
353
351
|
|
354
|
-
@git = ENV[
|
352
|
+
@git = ENV["GIT"] || (win_platform? ? "git.exe" : "git")
|
355
353
|
|
356
354
|
Gem.ensure_gem_subdirectories @gemhome
|
357
355
|
Gem.ensure_default_gem_subdirectories @gemhome
|
@@ -372,7 +370,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
372
370
|
|
373
371
|
Dir.chdir @tempdir
|
374
372
|
|
375
|
-
ENV[
|
373
|
+
ENV["HOME"] = @userhome
|
376
374
|
Gem.instance_variable_set :@config_file, nil
|
377
375
|
Gem.instance_variable_set :@user_home, nil
|
378
376
|
Gem.instance_variable_set :@config_home, nil
|
@@ -384,12 +382,12 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
384
382
|
|
385
383
|
FileUtils.mkdir_p @userhome
|
386
384
|
|
387
|
-
ENV[
|
385
|
+
ENV["GEM_PRIVATE_KEY_PASSPHRASE"] = PRIVATE_KEY_PASSPHRASE
|
388
386
|
|
389
387
|
Gem.instance_variable_set(:@default_specifications_dir, nil)
|
390
388
|
if Gem.java_platform?
|
391
|
-
@orig_default_gem_home = RbConfig::CONFIG[
|
392
|
-
RbConfig::CONFIG[
|
389
|
+
@orig_default_gem_home = RbConfig::CONFIG["default_gem_home"]
|
390
|
+
RbConfig::CONFIG["default_gem_home"] = @gemhome
|
393
391
|
else
|
394
392
|
Gem.instance_variable_set(:@default_dir, @gemhome)
|
395
393
|
end
|
@@ -425,12 +423,12 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
425
423
|
Gem.searcher = nil
|
426
424
|
Gem::SpecFetcher.fetcher = nil
|
427
425
|
|
428
|
-
@orig_arch = RbConfig::CONFIG[
|
426
|
+
@orig_arch = RbConfig::CONFIG["arch"]
|
429
427
|
|
430
428
|
if win_platform?
|
431
|
-
util_set_arch
|
429
|
+
util_set_arch "i386-mswin32"
|
432
430
|
else
|
433
|
-
util_set_arch
|
431
|
+
util_set_arch "i686-darwin8.10.1"
|
434
432
|
end
|
435
433
|
|
436
434
|
%w[post_install_hooks done_installing_hooks post_uninstall_hooks pre_uninstall_hooks pre_install_hooks pre_reset_hooks post_reset_hooks post_build_hooks].each do |name|
|
@@ -457,7 +455,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
457
455
|
end
|
458
456
|
end
|
459
457
|
|
460
|
-
RbConfig::CONFIG[
|
458
|
+
RbConfig::CONFIG["arch"] = @orig_arch
|
461
459
|
|
462
460
|
if defined? Gem::RemoteFetcher
|
463
461
|
Gem::RemoteFetcher.fetcher = nil
|
@@ -475,13 +473,13 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
475
473
|
|
476
474
|
Gem.ruby = @orig_ruby if @orig_ruby
|
477
475
|
|
478
|
-
RbConfig::CONFIG[
|
479
|
-
RbConfig::CONFIG[
|
480
|
-
RbConfig::CONFIG[
|
476
|
+
RbConfig::CONFIG["mandir"] = @orig_mandir
|
477
|
+
RbConfig::CONFIG["sitelibdir"] = @orig_sitelibdir
|
478
|
+
RbConfig::CONFIG["bindir"] = @orig_bindir
|
481
479
|
|
482
480
|
Gem.instance_variable_set :@default_specifications_dir, nil
|
483
481
|
if Gem.java_platform?
|
484
|
-
RbConfig::CONFIG[
|
482
|
+
RbConfig::CONFIG["default_gem_home"] = @orig_default_gem_home
|
485
483
|
else
|
486
484
|
Gem.instance_variable_set :@default_dir, nil
|
487
485
|
end
|
@@ -497,9 +495,9 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
497
495
|
end
|
498
496
|
|
499
497
|
def credential_setup
|
500
|
-
@temp_cred = File.join(@userhome,
|
498
|
+
@temp_cred = File.join(@userhome, ".gem", "credentials")
|
501
499
|
FileUtils.mkdir_p File.dirname(@temp_cred)
|
502
|
-
File.write @temp_cred,
|
500
|
+
File.write @temp_cred, ":rubygems_api_key: 701229f217cdf23b1344c7b4b54ca97"
|
503
501
|
File.chmod 0600, @temp_cred
|
504
502
|
end
|
505
503
|
|
@@ -554,10 +552,10 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
554
552
|
#
|
555
553
|
# Yields the +specification+ to the block, if given
|
556
554
|
|
557
|
-
def git_gem(name =
|
555
|
+
def git_gem(name = "a", version = 1)
|
558
556
|
have_git?
|
559
557
|
|
560
|
-
directory = File.join
|
558
|
+
directory = File.join "git", name
|
561
559
|
directory = File.expand_path directory
|
562
560
|
|
563
561
|
git_spec = Gem::Specification.new name, version do |specification|
|
@@ -568,22 +566,22 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
568
566
|
|
569
567
|
gemspec = "#{name}.gemspec"
|
570
568
|
|
571
|
-
File.open File.join(directory, gemspec),
|
569
|
+
File.open File.join(directory, gemspec), "w" do |io|
|
572
570
|
io.write git_spec.to_ruby
|
573
571
|
end
|
574
572
|
|
575
573
|
head = nil
|
576
574
|
|
577
575
|
Dir.chdir directory do
|
578
|
-
unless File.exist?
|
579
|
-
system @git,
|
580
|
-
system @git,
|
581
|
-
system @git,
|
576
|
+
unless File.exist? ".git"
|
577
|
+
system @git, "init", "--quiet"
|
578
|
+
system @git, "config", "user.name", "RubyGems Tests"
|
579
|
+
system @git, "config", "user.email", "rubygems@example"
|
582
580
|
end
|
583
581
|
|
584
|
-
system @git,
|
585
|
-
system @git,
|
586
|
-
head = Gem::Util.popen(@git,
|
582
|
+
system @git, "add", gemspec
|
583
|
+
system @git, "commit", "-a", "-m", "a non-empty commit message", "--quiet"
|
584
|
+
head = Gem::Util.popen(@git, "rev-parse", "master").strip
|
587
585
|
end
|
588
586
|
|
589
587
|
return name, git_spec.version, directory, head
|
@@ -595,13 +593,13 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
595
593
|
def have_git?
|
596
594
|
return if in_path? @git
|
597
595
|
|
598
|
-
pend
|
596
|
+
pend "cannot find git executable, use GIT environment variable to set"
|
599
597
|
end
|
600
598
|
|
601
599
|
def in_path?(executable) # :nodoc:
|
602
|
-
return true if %r{\A([A-Z]:|/)} =~ executable
|
600
|
+
return true if %r{\A([A-Z]:|/)} =~ executable && File.exist?(executable)
|
603
601
|
|
604
|
-
ENV[
|
602
|
+
ENV["PATH"].split(File::PATH_SEPARATOR).any? do |directory|
|
605
603
|
File.exist? File.join directory, executable
|
606
604
|
end
|
607
605
|
end
|
@@ -610,7 +608,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
610
608
|
# Builds and installs the Gem::Specification +spec+
|
611
609
|
|
612
610
|
def install_gem(spec, options = {})
|
613
|
-
require
|
611
|
+
require "rubygems/installer"
|
614
612
|
|
615
613
|
gem = spec.cache_file
|
616
614
|
|
@@ -637,7 +635,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
637
635
|
##
|
638
636
|
# Uninstalls the Gem::Specification +spec+
|
639
637
|
def uninstall_gem(spec)
|
640
|
-
require
|
638
|
+
require "rubygems/uninstaller"
|
641
639
|
|
642
640
|
Class.new(Gem::Uninstaller) do
|
643
641
|
def ask_if_ok(spec)
|
@@ -660,7 +658,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
660
658
|
# Reads a Marshal file at +path+
|
661
659
|
|
662
660
|
def read_cache(path)
|
663
|
-
File.open path.dup.tap(&Gem::UNTAINT),
|
661
|
+
File.open path.dup.tap(&Gem::UNTAINT), "rb" do |io|
|
664
662
|
Marshal.load io.read
|
665
663
|
end
|
666
664
|
end
|
@@ -680,7 +678,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
680
678
|
dir = File.dirname path
|
681
679
|
FileUtils.mkdir_p dir unless File.directory? dir
|
682
680
|
|
683
|
-
File.open path,
|
681
|
+
File.open path, "wb" do |io|
|
684
682
|
yield io if block_given?
|
685
683
|
end
|
686
684
|
|
@@ -723,16 +721,16 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
723
721
|
#
|
724
722
|
# Use this with #write_file to build an installed gem.
|
725
723
|
|
726
|
-
def quick_gem(name, version=
|
727
|
-
require
|
724
|
+
def quick_gem(name, version="2")
|
725
|
+
require "rubygems/specification"
|
728
726
|
|
729
727
|
spec = Gem::Specification.new do |s|
|
730
728
|
s.platform = Gem::Platform::RUBY
|
731
729
|
s.name = name
|
732
730
|
s.version = version
|
733
|
-
s.author =
|
734
|
-
s.email =
|
735
|
-
s.homepage =
|
731
|
+
s.author = "A User"
|
732
|
+
s.email = "example@example.com"
|
733
|
+
s.homepage = "http://example.com"
|
736
734
|
s.summary = "this is a summary"
|
737
735
|
s.description = "This is a test description"
|
738
736
|
|
@@ -763,7 +761,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
763
761
|
next if File.exist? file
|
764
762
|
FileUtils.mkdir_p File.dirname(file)
|
765
763
|
|
766
|
-
File.open file,
|
764
|
+
File.open file, "w" do |fp|
|
767
765
|
fp.puts "# #{file}"
|
768
766
|
end
|
769
767
|
end
|
@@ -849,15 +847,15 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
849
847
|
# or a +block+ can be given for full customization of the specification.
|
850
848
|
|
851
849
|
def util_spec(name, version = 2, deps = nil, *files) # :yields: specification
|
852
|
-
raise "deps or block, not both" if deps
|
850
|
+
raise "deps or block, not both" if deps && block_given?
|
853
851
|
|
854
852
|
spec = Gem::Specification.new do |s|
|
855
853
|
s.platform = Gem::Platform::RUBY
|
856
854
|
s.name = name
|
857
855
|
s.version = version
|
858
|
-
s.author =
|
859
|
-
s.email =
|
860
|
-
s.homepage =
|
856
|
+
s.author = "A User"
|
857
|
+
s.email = "example@example.com"
|
858
|
+
s.homepage = "http://example.com"
|
861
859
|
s.summary = "this is a summary"
|
862
860
|
s.description = "This is a test description"
|
863
861
|
|
@@ -868,7 +866,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
868
866
|
|
869
867
|
if deps
|
870
868
|
deps.keys.each do |n|
|
871
|
-
spec.add_dependency n, (deps[n] ||
|
869
|
+
spec.add_dependency n, (deps[n] || ">= 0")
|
872
870
|
end
|
873
871
|
end
|
874
872
|
|
@@ -895,7 +893,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
895
893
|
if deps
|
896
894
|
block = proc do |s|
|
897
895
|
deps.keys.each do |n|
|
898
|
-
s.add_dependency n, (deps[n] ||
|
896
|
+
s.add_dependency n, (deps[n] || ">= 0")
|
899
897
|
end
|
900
898
|
end
|
901
899
|
end
|
@@ -904,7 +902,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
904
902
|
|
905
903
|
util_build_gem spec
|
906
904
|
|
907
|
-
cache_file = File.join @tempdir,
|
905
|
+
cache_file = File.join @tempdir, "gems", "#{spec.original_name}.gem"
|
908
906
|
FileUtils.mkdir_p File.dirname cache_file
|
909
907
|
FileUtils.mv spec.cache_file, cache_file
|
910
908
|
FileUtils.rm spec.spec_file
|
@@ -946,11 +944,11 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
946
944
|
# TODO: nuke this and fix tests. this should speed up a lot
|
947
945
|
|
948
946
|
def util_make_gems(prerelease = false)
|
949
|
-
@a1 = quick_gem
|
947
|
+
@a1 = quick_gem "a", "1" do |s|
|
950
948
|
s.files = %w[lib/code.rb]
|
951
949
|
s.require_paths = %w[lib]
|
952
950
|
s.date = Gem::Specification::TODAY - 86400
|
953
|
-
s.homepage =
|
951
|
+
s.homepage = "http://a.example.com"
|
954
952
|
s.email = %w[example@example.com example2@example.com]
|
955
953
|
s.authors = %w[Example Example2]
|
956
954
|
s.description = <<-DESC
|
@@ -967,27 +965,27 @@ Also, a list:
|
|
967
965
|
s.require_paths = %w[lib]
|
968
966
|
end
|
969
967
|
|
970
|
-
@a2 = quick_gem(
|
971
|
-
@a3a = quick_gem(
|
972
|
-
@a_evil9 = quick_gem(
|
973
|
-
@b2 = quick_gem(
|
974
|
-
@c1_2 = quick_gem(
|
975
|
-
@x = quick_gem(
|
976
|
-
@dep_x = quick_gem(
|
968
|
+
@a2 = quick_gem("a", "2", &init)
|
969
|
+
@a3a = quick_gem("a", "3.a", &init)
|
970
|
+
@a_evil9 = quick_gem("a_evil", "9", &init)
|
971
|
+
@b2 = quick_gem("b", "2", &init)
|
972
|
+
@c1_2 = quick_gem("c", "1.2", &init)
|
973
|
+
@x = quick_gem("x", "1", &init)
|
974
|
+
@dep_x = quick_gem("dep_x", "1") do |s|
|
977
975
|
s.files = %w[lib/code.rb]
|
978
976
|
s.require_paths = %w[lib]
|
979
|
-
s.add_dependency
|
977
|
+
s.add_dependency "x", ">= 1"
|
980
978
|
end
|
981
979
|
|
982
|
-
@pl1 = quick_gem
|
980
|
+
@pl1 = quick_gem "pl", "1" do |s| # l for legacy
|
983
981
|
s.files = %w[lib/code.rb]
|
984
982
|
s.require_paths = %w[lib]
|
985
|
-
s.platform = Gem::Platform.new
|
986
|
-
s.instance_variable_set :@original_platform,
|
983
|
+
s.platform = Gem::Platform.new "i386-linux"
|
984
|
+
s.instance_variable_set :@original_platform, "i386-linux"
|
987
985
|
end
|
988
986
|
|
989
987
|
if prerelease
|
990
|
-
@a2_pre = quick_gem(
|
988
|
+
@a2_pre = quick_gem("a", "2.a", &init)
|
991
989
|
write_file File.join(*%W[gems #{@a2_pre.original_name} lib code.rb])
|
992
990
|
util_build_gem @a2_pre
|
993
991
|
end
|
@@ -1013,7 +1011,7 @@ Also, a list:
|
|
1013
1011
|
# Set the platform to +arch+
|
1014
1012
|
|
1015
1013
|
def util_set_arch(arch)
|
1016
|
-
RbConfig::CONFIG[
|
1014
|
+
RbConfig::CONFIG["arch"] = arch
|
1017
1015
|
platform = Gem::Platform.new arch
|
1018
1016
|
|
1019
1017
|
Gem.instance_variable_set :@platforms, nil
|
@@ -1182,7 +1180,7 @@ Also, a list:
|
|
1182
1180
|
# Borland) versus Cygwin, Mingw, etc.
|
1183
1181
|
|
1184
1182
|
def self.vc_windows?
|
1185
|
-
RUBY_PLATFORM.match(
|
1183
|
+
RUBY_PLATFORM.match("mswin")
|
1186
1184
|
end
|
1187
1185
|
|
1188
1186
|
##
|
@@ -1190,7 +1188,7 @@ Also, a list:
|
|
1190
1188
|
# Borland) versus Cygwin, Mingw, etc.
|
1191
1189
|
|
1192
1190
|
def vc_windows?
|
1193
|
-
RUBY_PLATFORM.match(
|
1191
|
+
RUBY_PLATFORM.match("mswin")
|
1194
1192
|
end
|
1195
1193
|
|
1196
1194
|
##
|
@@ -1207,7 +1205,7 @@ Also, a list:
|
|
1207
1205
|
# other platforms, including Cygwin, it will return 'make'.
|
1208
1206
|
|
1209
1207
|
def self.make_command
|
1210
|
-
ENV["make"] || ENV["MAKE"] || (vc_windows? ?
|
1208
|
+
ENV["make"] || ENV["MAKE"] || (vc_windows? ? "nmake" : "make")
|
1211
1209
|
end
|
1212
1210
|
|
1213
1211
|
##
|
@@ -1216,14 +1214,14 @@ Also, a list:
|
|
1216
1214
|
# other platforms, including Cygwin, it will return 'make'.
|
1217
1215
|
|
1218
1216
|
def make_command
|
1219
|
-
ENV["make"] || ENV["MAKE"] || (vc_windows? ?
|
1217
|
+
ENV["make"] || ENV["MAKE"] || (vc_windows? ? "nmake" : "make")
|
1220
1218
|
end
|
1221
1219
|
|
1222
1220
|
##
|
1223
1221
|
# Returns whether or not the nmake command could be found.
|
1224
1222
|
|
1225
1223
|
def nmake_found?
|
1226
|
-
system(
|
1224
|
+
system("nmake /? 1>NUL 2>&1")
|
1227
1225
|
end
|
1228
1226
|
|
1229
1227
|
# In case we're building docs in a background process, this method waits for
|
@@ -1279,10 +1277,10 @@ Also, a list:
|
|
1279
1277
|
rubyexe = "#{ruby}.exe"
|
1280
1278
|
|
1281
1279
|
3.times do
|
1282
|
-
if File.exist?
|
1280
|
+
if File.exist?(ruby) && File.executable?(ruby) && !File.directory?(ruby)
|
1283
1281
|
return File.expand_path(ruby)
|
1284
1282
|
end
|
1285
|
-
if File.exist?
|
1283
|
+
if File.exist?(rubyexe) && File.executable?(rubyexe)
|
1286
1284
|
return File.expand_path(rubyexe)
|
1287
1285
|
end
|
1288
1286
|
ruby = File.join("..", ruby)
|
@@ -1431,8 +1429,8 @@ Also, a list:
|
|
1431
1429
|
#
|
1432
1430
|
# Yields the +specification+ to the block, if given
|
1433
1431
|
|
1434
|
-
def vendor_gem(name =
|
1435
|
-
directory = File.join
|
1432
|
+
def vendor_gem(name = "a", version = 1)
|
1433
|
+
directory = File.join "vendor", name
|
1436
1434
|
|
1437
1435
|
FileUtils.mkdir_p directory
|
1438
1436
|
|
@@ -1445,12 +1443,12 @@ Also, a list:
|
|
1445
1443
|
#
|
1446
1444
|
# Yields the +specification+ to the block, if given
|
1447
1445
|
|
1448
|
-
def save_gemspec(name =
|
1446
|
+
def save_gemspec(name = "a", version = 1, directory = ".")
|
1449
1447
|
vendor_spec = Gem::Specification.new name, version do |specification|
|
1450
1448
|
yield specification if block_given?
|
1451
1449
|
end
|
1452
1450
|
|
1453
|
-
File.open File.join(directory, "#{name}.gemspec"),
|
1451
|
+
File.open File.join(directory, "#{name}.gemspec"), "w" do |io|
|
1454
1452
|
io.write vendor_spec.to_ruby
|
1455
1453
|
end
|
1456
1454
|
|
@@ -1564,20 +1562,20 @@ Also, a list:
|
|
1564
1562
|
# :stopdoc:
|
1565
1563
|
# only available in RubyGems tests
|
1566
1564
|
|
1567
|
-
PRIVATE_KEY_PASSPHRASE =
|
1565
|
+
PRIVATE_KEY_PASSPHRASE = "Foo bar".freeze
|
1568
1566
|
|
1569
1567
|
begin
|
1570
|
-
PRIVATE_KEY = load_key
|
1571
|
-
PRIVATE_KEY_PATH = key_path
|
1568
|
+
PRIVATE_KEY = load_key "private"
|
1569
|
+
PRIVATE_KEY_PATH = key_path "private"
|
1572
1570
|
|
1573
1571
|
# ENCRYPTED_PRIVATE_KEY is PRIVATE_KEY encrypted with PRIVATE_KEY_PASSPHRASE
|
1574
|
-
ENCRYPTED_PRIVATE_KEY = load_key
|
1575
|
-
ENCRYPTED_PRIVATE_KEY_PATH = key_path
|
1572
|
+
ENCRYPTED_PRIVATE_KEY = load_key "encrypted_private", PRIVATE_KEY_PASSPHRASE
|
1573
|
+
ENCRYPTED_PRIVATE_KEY_PATH = key_path "encrypted_private"
|
1576
1574
|
|
1577
1575
|
PUBLIC_KEY = PRIVATE_KEY.public_key
|
1578
1576
|
|
1579
|
-
PUBLIC_CERT = load_cert
|
1580
|
-
PUBLIC_CERT_PATH = cert_path
|
1577
|
+
PUBLIC_CERT = load_cert "public"
|
1578
|
+
PUBLIC_CERT_PATH = cert_path "public"
|
1581
1579
|
rescue Errno::ENOENT
|
1582
1580
|
PRIVATE_KEY = nil
|
1583
1581
|
PUBLIC_KEY = nil
|
@@ -1592,7 +1590,7 @@ class Object
|
|
1592
1590
|
|
1593
1591
|
metaclass = class << self; self; end
|
1594
1592
|
|
1595
|
-
if respond_to?
|
1593
|
+
if respond_to?(name) && !methods.map(&:to_s).include?(name.to_s)
|
1596
1594
|
metaclass.send :define_method, name do |*args|
|
1597
1595
|
super(*args)
|
1598
1596
|
end
|
@@ -1619,4 +1617,4 @@ class Object
|
|
1619
1617
|
end unless method_defined?(:stub) # lib/resolv/test_dns.rb also has the same method definition
|
1620
1618
|
end
|
1621
1619
|
|
1622
|
-
require_relative
|
1620
|
+
require_relative "utilities"
|