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,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
2
|
+
require_relative "package/tar_test_case"
|
3
|
+
require "rubygems/package/tar_writer"
|
4
4
|
|
5
5
|
class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
6
6
|
def setup
|
@@ -11,7 +11,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
11
11
|
# is not set.
|
12
12
|
Gem.instance_variable_set(:'@default_source_date_epoch', nil)
|
13
13
|
|
14
|
-
@data =
|
14
|
+
@data = "abcde12345"
|
15
15
|
@io = TempIO.new
|
16
16
|
@tar_writer = Gem::Package::TarWriter.new @io
|
17
17
|
@epoch = ENV["SOURCE_DATE_EPOCH"]
|
@@ -28,11 +28,11 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
28
28
|
|
29
29
|
def test_add_file
|
30
30
|
Time.stub :now, Time.at(1458518157) do
|
31
|
-
@tar_writer.add_file
|
32
|
-
f.write
|
31
|
+
@tar_writer.add_file "x", 0644 do |f|
|
32
|
+
f.write "a" * 10
|
33
33
|
end
|
34
34
|
|
35
|
-
assert_headers_equal(tar_file_header(
|
35
|
+
assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
|
36
36
|
@io.string[0, 512])
|
37
37
|
end
|
38
38
|
assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
|
@@ -42,18 +42,18 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
42
42
|
def test_add_file_source_date_epoch
|
43
43
|
ENV["SOURCE_DATE_EPOCH"] = "123456789"
|
44
44
|
Time.stub :now, Time.at(1458518157) do
|
45
|
-
@tar_writer.mkdir
|
45
|
+
@tar_writer.mkdir "foo", 0644
|
46
46
|
|
47
|
-
assert_headers_equal tar_dir_header(
|
47
|
+
assert_headers_equal tar_dir_header("foo", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
|
48
48
|
@io.string[0, 512]
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
52
|
def test_add_symlink
|
53
53
|
Time.stub :now, Time.at(1458518157) do
|
54
|
-
@tar_writer.add_symlink
|
54
|
+
@tar_writer.add_symlink "x", "y", 0644
|
55
55
|
|
56
|
-
assert_headers_equal(tar_symlink_header(
|
56
|
+
assert_headers_equal(tar_symlink_header("x", "", 0644, Time.now, "y"),
|
57
57
|
@io.string[0, 512])
|
58
58
|
end
|
59
59
|
assert_equal 512, @io.pos
|
@@ -62,9 +62,9 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
62
62
|
def test_add_symlink_source_date_epoch
|
63
63
|
ENV["SOURCE_DATE_EPOCH"] = "123456789"
|
64
64
|
Time.stub :now, Time.at(1458518157) do
|
65
|
-
@tar_writer.add_symlink
|
65
|
+
@tar_writer.add_symlink "x", "y", 0644
|
66
66
|
|
67
|
-
assert_headers_equal(tar_symlink_header(
|
67
|
+
assert_headers_equal(tar_symlink_header("x", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc, "y"),
|
68
68
|
@io.string[0, 512])
|
69
69
|
end
|
70
70
|
end
|
@@ -73,19 +73,19 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
73
73
|
digest_algorithms = Digest::SHA1.new, Digest::SHA512.new
|
74
74
|
|
75
75
|
Time.stub :now, Time.at(1458518157) do
|
76
|
-
digests = @tar_writer.add_file_digest
|
77
|
-
io.write
|
76
|
+
digests = @tar_writer.add_file_digest "x", 0644, digest_algorithms do |io|
|
77
|
+
io.write "a" * 10
|
78
78
|
end
|
79
79
|
|
80
|
-
assert_equal
|
81
|
-
digests[
|
82
|
-
assert_equal
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
digests[
|
80
|
+
assert_equal "3495ff69d34671d1e15b33a63c1379fdedd3a32a",
|
81
|
+
digests["SHA1"].hexdigest
|
82
|
+
assert_equal "4714870aff6c97ca09d135834fdb58a6389a50c1" \
|
83
|
+
"1fef8ec4afef466fb60a23ac6b7a9c92658f14df" \
|
84
|
+
"4993d6b40a4e4d8424196afc347e97640d68de61" \
|
85
|
+
"e1cf14b0",
|
86
|
+
digests["SHA512"].hexdigest
|
87
87
|
|
88
|
-
assert_headers_equal(tar_file_header(
|
88
|
+
assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
|
89
89
|
@io.string[0, 512])
|
90
90
|
end
|
91
91
|
assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
|
@@ -96,19 +96,19 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
96
96
|
digest_algorithms = [Digest::SHA1.new, Digest::SHA512.new]
|
97
97
|
|
98
98
|
Time.stub :now, Time.at(1458518157) do
|
99
|
-
digests = @tar_writer.add_file_digest
|
100
|
-
io.write
|
99
|
+
digests = @tar_writer.add_file_digest "x", 0644, digest_algorithms do |io|
|
100
|
+
io.write "a" * 10
|
101
101
|
end
|
102
102
|
|
103
|
-
assert_equal
|
104
|
-
digests[
|
105
|
-
assert_equal
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
digests[
|
103
|
+
assert_equal "3495ff69d34671d1e15b33a63c1379fdedd3a32a",
|
104
|
+
digests["SHA1"].hexdigest
|
105
|
+
assert_equal "4714870aff6c97ca09d135834fdb58a6389a50c1" \
|
106
|
+
"1fef8ec4afef466fb60a23ac6b7a9c92658f14df" \
|
107
|
+
"4993d6b40a4e4d8424196afc347e97640d68de61" \
|
108
|
+
"e1cf14b0",
|
109
|
+
digests["SHA512"].hexdigest
|
110
110
|
|
111
|
-
assert_headers_equal(tar_file_header(
|
111
|
+
assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
|
112
112
|
@io.string[0, 512])
|
113
113
|
end
|
114
114
|
assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
|
@@ -116,26 +116,26 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
116
116
|
end
|
117
117
|
|
118
118
|
def test_add_file_signer
|
119
|
-
pend
|
119
|
+
pend "openssl is missing" unless Gem::HAVE_OPENSSL
|
120
120
|
|
121
121
|
signer = Gem::Security::Signer.new PRIVATE_KEY, [PUBLIC_CERT]
|
122
122
|
|
123
123
|
Time.stub :now, Time.at(1458518157) do
|
124
|
-
@tar_writer.add_file_signed
|
125
|
-
io.write
|
124
|
+
@tar_writer.add_file_signed "x", 0644, signer do |io|
|
125
|
+
io.write "a" * 10
|
126
126
|
end
|
127
127
|
|
128
|
-
assert_headers_equal(tar_file_header(
|
128
|
+
assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
|
129
129
|
@io.string[0, 512])
|
130
130
|
|
131
131
|
assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
|
132
132
|
|
133
133
|
digest = signer.digest_algorithm.new
|
134
|
-
digest.update
|
134
|
+
digest.update "a" * 10
|
135
135
|
|
136
136
|
signature = signer.sign digest.digest
|
137
137
|
|
138
|
-
assert_headers_equal(tar_file_header(
|
138
|
+
assert_headers_equal(tar_file_header("x.sig", "", 0444, signature.length,
|
139
139
|
Time.now),
|
140
140
|
@io.string[1024, 512])
|
141
141
|
assert_equal "#{signature}#{"\0" * (512 - signature.length)}",
|
@@ -149,11 +149,11 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
149
149
|
signer = Gem::Security::Signer.new nil, nil
|
150
150
|
|
151
151
|
Time.stub :now, Time.at(1458518157) do
|
152
|
-
@tar_writer.add_file_signed
|
153
|
-
io.write
|
152
|
+
@tar_writer.add_file_signed "x", 0644, signer do |io|
|
153
|
+
io.write "a" * 10
|
154
154
|
end
|
155
155
|
|
156
|
-
assert_headers_equal(tar_file_header(
|
156
|
+
assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
|
157
157
|
@io.string[0, 512])
|
158
158
|
end
|
159
159
|
assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
|
@@ -163,11 +163,11 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
163
163
|
|
164
164
|
def test_add_file_simple
|
165
165
|
Time.stub :now, Time.at(1458518157) do
|
166
|
-
@tar_writer.add_file_simple
|
166
|
+
@tar_writer.add_file_simple "x", 0644, 10 do |io|
|
167
167
|
io.write "a" * 10
|
168
168
|
end
|
169
169
|
|
170
|
-
assert_headers_equal(tar_file_header(
|
170
|
+
assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now),
|
171
171
|
@io.string[0, 512])
|
172
172
|
|
173
173
|
assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512]
|
@@ -178,20 +178,20 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
178
178
|
def test_add_file_simple_source_date_epoch
|
179
179
|
ENV["SOURCE_DATE_EPOCH"] = "123456789"
|
180
180
|
Time.stub :now, Time.at(1458518157) do
|
181
|
-
@tar_writer.add_file_simple
|
181
|
+
@tar_writer.add_file_simple "x", 0644, 10 do |io|
|
182
182
|
io.write "a" * 10
|
183
183
|
end
|
184
184
|
|
185
|
-
assert_headers_equal(tar_file_header(
|
185
|
+
assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
|
186
186
|
@io.string[0, 512])
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
190
190
|
def test_add_file_simple_padding
|
191
191
|
Time.stub :now, Time.at(1458518157) do
|
192
|
-
@tar_writer.add_file_simple
|
192
|
+
@tar_writer.add_file_simple "x", 0, 100
|
193
193
|
|
194
|
-
assert_headers_equal tar_file_header(
|
194
|
+
assert_headers_equal tar_file_header("x", "", 0, 100, Time.now),
|
195
195
|
@io.string[0, 512]
|
196
196
|
end
|
197
197
|
|
@@ -222,34 +222,34 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
222
222
|
e = assert_raise IOError do
|
223
223
|
@tar_writer.close
|
224
224
|
end
|
225
|
-
assert_equal
|
225
|
+
assert_equal "closed Gem::Package::TarWriter", e.message
|
226
226
|
|
227
227
|
e = assert_raise IOError do
|
228
228
|
@tar_writer.flush
|
229
229
|
end
|
230
|
-
assert_equal
|
230
|
+
assert_equal "closed Gem::Package::TarWriter", e.message
|
231
231
|
|
232
232
|
e = assert_raise IOError do
|
233
|
-
@tar_writer.add_file
|
233
|
+
@tar_writer.add_file "x", 0
|
234
234
|
end
|
235
|
-
assert_equal
|
235
|
+
assert_equal "closed Gem::Package::TarWriter", e.message
|
236
236
|
|
237
237
|
e = assert_raise IOError do
|
238
|
-
@tar_writer.add_file_simple
|
238
|
+
@tar_writer.add_file_simple "x", 0, 0
|
239
239
|
end
|
240
|
-
assert_equal
|
240
|
+
assert_equal "closed Gem::Package::TarWriter", e.message
|
241
241
|
|
242
242
|
e = assert_raise IOError do
|
243
|
-
@tar_writer.mkdir
|
243
|
+
@tar_writer.mkdir "x", 0
|
244
244
|
end
|
245
|
-
assert_equal
|
245
|
+
assert_equal "closed Gem::Package::TarWriter", e.message
|
246
246
|
end
|
247
247
|
|
248
248
|
def test_mkdir
|
249
249
|
Time.stub :now, Time.at(1458518157) do
|
250
|
-
@tar_writer.mkdir
|
250
|
+
@tar_writer.mkdir "foo", 0644
|
251
251
|
|
252
|
-
assert_headers_equal tar_dir_header(
|
252
|
+
assert_headers_equal tar_dir_header("foo", "", 0644, Time.now),
|
253
253
|
@io.string[0, 512]
|
254
254
|
|
255
255
|
assert_equal 512, @io.pos
|
@@ -259,42 +259,42 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
259
259
|
def test_mkdir_source_date_epoch
|
260
260
|
ENV["SOURCE_DATE_EPOCH"] = "123456789"
|
261
261
|
Time.stub :now, Time.at(1458518157) do
|
262
|
-
@tar_writer.mkdir
|
262
|
+
@tar_writer.mkdir "foo", 0644
|
263
263
|
|
264
|
-
assert_headers_equal tar_dir_header(
|
264
|
+
assert_headers_equal tar_dir_header("foo", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc),
|
265
265
|
@io.string[0, 512]
|
266
266
|
end
|
267
267
|
end
|
268
268
|
|
269
269
|
def test_split_name
|
270
|
-
assert_equal [
|
270
|
+
assert_equal ["b" * 100, "a" * 155],
|
271
271
|
@tar_writer.split_name("#{'a' * 155}/#{'b' * 100}")
|
272
272
|
|
273
|
-
assert_equal ["#{'qwer/' * 19}bla",
|
273
|
+
assert_equal ["#{'qwer/' * 19}bla", "a" * 151],
|
274
274
|
@tar_writer.split_name("#{'a' * 151}/#{'qwer/' * 19}bla")
|
275
275
|
names = [
|
276
|
-
([
|
277
|
-
([
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
276
|
+
([""] + ["123456789"] * 9 + ["1234567890"]).join("/"), # 101 bytes (several pieces)
|
277
|
+
(["123456789"] * 9 + ["1234567890"] + [""]).join("/"), # 101 bytes (several pieces)
|
278
|
+
"/" * 99,
|
279
|
+
"/" * 100,
|
280
|
+
"/" * 101,
|
281
|
+
"/" * 102,
|
282
282
|
]
|
283
283
|
names.each do |name|
|
284
284
|
newname, prefix = @tar_writer.split_name(name)
|
285
285
|
assert(!(newname.empty?), "split_name() returned empty name")
|
286
286
|
assert(newname.bytesize <= 100, "split_name() returned name longer than 100 bytes: '#{newname}' for '#{name}'")
|
287
287
|
assert(prefix.bytesize <= 155, "split_name() returned prefix longer than 155 bytes: '#{prefix}' for '#{name}'")
|
288
|
-
newname = [prefix, newname].join(
|
288
|
+
newname = [prefix, newname].join("/") unless prefix.empty?
|
289
289
|
assert_equal name, newname
|
290
290
|
end
|
291
291
|
end
|
292
292
|
|
293
293
|
def test_split_name_too_long_name
|
294
|
-
name = File.join
|
295
|
-
assert_equal [
|
294
|
+
name = File.join "a", "b" * 100
|
295
|
+
assert_equal ["b" * 100, "a"], @tar_writer.split_name(name)
|
296
296
|
|
297
|
-
name = File.join
|
297
|
+
name = File.join "a", "b" * 101
|
298
298
|
exception = assert_raise Gem::Package::TooLongFileName do
|
299
299
|
@tar_writer.split_name name
|
300
300
|
end
|
@@ -302,7 +302,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
302
302
|
|
303
303
|
# note, GNU tar 1.28 is unable to handle this case too,
|
304
304
|
# tested with "tar --format=ustar -cPf /tmp/foo.tartar -- /aaaaaa....a"
|
305
|
-
name =
|
305
|
+
name = "/" + "a" * 100
|
306
306
|
exception = assert_raise Gem::Package::TooLongFileName do
|
307
307
|
@tar_writer.split_name name
|
308
308
|
end
|
@@ -310,10 +310,10 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
310
310
|
end
|
311
311
|
|
312
312
|
def test_split_name_too_long_prefix
|
313
|
-
name = File.join
|
314
|
-
assert_equal [
|
313
|
+
name = File.join "a" * 155, "b"
|
314
|
+
assert_equal ["b", "a" * 155], @tar_writer.split_name(name)
|
315
315
|
|
316
|
-
name = File.join
|
316
|
+
name = File.join "a" * 156, "b"
|
317
317
|
exception = assert_raise Gem::Package::TooLongFileName do
|
318
318
|
@tar_writer.split_name name
|
319
319
|
end
|
@@ -321,7 +321,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase
|
|
321
321
|
end
|
322
322
|
|
323
323
|
def test_split_name_too_long_total
|
324
|
-
name =
|
324
|
+
name = "a" * 257
|
325
325
|
exception = assert_raise Gem::Package::TooLongFileName do
|
326
326
|
@tar_writer.split_name name
|
327
327
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems"
|
4
4
|
|
5
5
|
begin
|
6
|
-
require
|
6
|
+
require "rubygems/package_task"
|
7
7
|
rescue LoadError => e
|
8
|
-
raise unless e.path ==
|
8
|
+
raise unless e.path == "rake/packagetask"
|
9
9
|
end
|
10
10
|
|
11
11
|
unless defined?(Rake::PackageTask)
|
12
|
-
warn
|
12
|
+
warn "Skipping Gem::PackageTask tests. rake not found."
|
13
13
|
end
|
14
14
|
|
15
15
|
class TestGemPackageTask < Gem::TestCase
|
@@ -23,7 +23,7 @@ class TestGemPackageTask < Gem::TestCase
|
|
23
23
|
|
24
24
|
g.authors = %w[author]
|
25
25
|
g.files = %w[x]
|
26
|
-
g.summary =
|
26
|
+
g.summary = "summary"
|
27
27
|
end
|
28
28
|
|
29
29
|
Rake.application = Rake::Application.new
|
@@ -35,12 +35,12 @@ class TestGemPackageTask < Gem::TestCase
|
|
35
35
|
assert_equal %w[x y], pkg.package_files
|
36
36
|
|
37
37
|
Dir.chdir @tempdir do
|
38
|
-
FileUtils.touch
|
39
|
-
FileUtils.touch
|
38
|
+
FileUtils.touch "x"
|
39
|
+
FileUtils.touch "y"
|
40
40
|
|
41
|
-
Rake.application[
|
41
|
+
Rake.application["package"].invoke
|
42
42
|
|
43
|
-
assert_path_exist
|
43
|
+
assert_path_exist "pkg/pkgr-1.2.3.gem"
|
44
44
|
end
|
45
45
|
ensure
|
46
46
|
RakeFileUtils.verbose_flag = original_rake_fileutils_verbosity
|
@@ -53,7 +53,7 @@ class TestGemPackageTask < Gem::TestCase
|
|
53
53
|
|
54
54
|
g.authors = %w[author]
|
55
55
|
g.files = %w[x]
|
56
|
-
g.summary =
|
56
|
+
g.summary = "summary"
|
57
57
|
end
|
58
58
|
|
59
59
|
_, err = capture_output do
|
@@ -66,10 +66,10 @@ class TestGemPackageTask < Gem::TestCase
|
|
66
66
|
assert_equal %w[x y], pkg.package_files
|
67
67
|
|
68
68
|
Dir.chdir @tempdir do
|
69
|
-
FileUtils.touch
|
70
|
-
FileUtils.touch
|
69
|
+
FileUtils.touch "x"
|
70
|
+
FileUtils.touch "y"
|
71
71
|
|
72
|
-
Rake.application[
|
72
|
+
Rake.application["package"].invoke
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
@@ -104,14 +104,14 @@ class TestGemPackageTask < Gem::TestCase
|
|
104
104
|
|
105
105
|
def test_package_dir_path
|
106
106
|
gem = Gem::Specification.new do |g|
|
107
|
-
g.name =
|
108
|
-
g.version =
|
109
|
-
g.platform =
|
107
|
+
g.name = "nokogiri"
|
108
|
+
g.version = "1.5.0"
|
109
|
+
g.platform = "java"
|
110
110
|
end
|
111
111
|
|
112
112
|
pkg = Gem::PackageTask.new gem
|
113
113
|
pkg.define
|
114
114
|
|
115
|
-
assert_equal
|
115
|
+
assert_equal "pkg/nokogiri-1.5.0-java", pkg.package_dir_path
|
116
116
|
end
|
117
117
|
end if defined?(Rake::PackageTask)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems"
|
4
|
+
require "fileutils"
|
5
5
|
|
6
6
|
class TestGemPathSupport < Gem::TestCase
|
7
7
|
def setup
|
@@ -25,7 +25,7 @@ class TestGemPathSupport < Gem::TestCase
|
|
25
25
|
|
26
26
|
assert_equal File.join(@tempdir, "foo"), ps.home
|
27
27
|
|
28
|
-
expected = ENV["GEM_PATH"].split(File::PATH_SEPARATOR) + [File.join(@tempdir,
|
28
|
+
expected = ENV["GEM_PATH"].split(File::PATH_SEPARATOR) + [File.join(@tempdir, "foo")]
|
29
29
|
assert_equal expected, ps.path
|
30
30
|
end
|
31
31
|
|
@@ -45,8 +45,8 @@ class TestGemPathSupport < Gem::TestCase
|
|
45
45
|
assert_equal ENV["GEM_HOME"], ps.home
|
46
46
|
|
47
47
|
expected = [
|
48
|
-
File.join(@tempdir,
|
49
|
-
File.join(@tempdir,
|
48
|
+
File.join(@tempdir, "foo"),
|
49
|
+
File.join(@tempdir, "bar"),
|
50
50
|
ENV["GEM_HOME"],
|
51
51
|
]
|
52
52
|
|
@@ -65,8 +65,8 @@ class TestGemPathSupport < Gem::TestCase
|
|
65
65
|
assert_equal ENV["GEM_HOME"], ps.home
|
66
66
|
|
67
67
|
expected = [
|
68
|
-
File.join(@tempdir,
|
69
|
-
File.join(@tempdir,
|
68
|
+
File.join(@tempdir, "foo"),
|
69
|
+
File.join(@tempdir, "bar"),
|
70
70
|
] + Gem.default_path << ENV["GEM_HOME"]
|
71
71
|
|
72
72
|
assert_equal expected, ps.path
|
@@ -83,8 +83,8 @@ class TestGemPathSupport < Gem::TestCase
|
|
83
83
|
assert_equal ENV["GEM_HOME"], ps.home
|
84
84
|
|
85
85
|
expected = [
|
86
|
-
File.join(@tempdir,
|
87
|
-
File.join(@tempdir,
|
86
|
+
File.join(@tempdir, "foo"),
|
87
|
+
File.join(@tempdir, "bar"),
|
88
88
|
] + Gem.default_path << ENV["GEM_HOME"]
|
89
89
|
|
90
90
|
assert_equal expected, ps.path
|
@@ -97,7 +97,7 @@ class TestGemPathSupport < Gem::TestCase
|
|
97
97
|
|
98
98
|
assert_equal File.join(@tempdir, "foo"), ps.home
|
99
99
|
|
100
|
-
expected = [File.join(@tempdir,
|
100
|
+
expected = [File.join(@tempdir, "foo"), File.join(@tempdir, "bar")]
|
101
101
|
assert_equal expected, ps.path
|
102
102
|
end
|
103
103
|
end
|
@@ -108,12 +108,12 @@ class TestGemPathSupport < Gem::TestCase
|
|
108
108
|
ps = Gem::PathSupport.new ENV
|
109
109
|
assert_equal Gem.default_spec_cache_dir, ps.spec_cache_dir
|
110
110
|
|
111
|
-
ENV["GEM_SPEC_CACHE"] =
|
111
|
+
ENV["GEM_SPEC_CACHE"] = "bar"
|
112
112
|
|
113
113
|
ps = Gem::PathSupport.new ENV
|
114
114
|
assert_equal ENV["GEM_SPEC_CACHE"], ps.spec_cache_dir
|
115
115
|
|
116
|
-
ENV["GEM_SPEC_CACHE"] = File.join @tempdir,
|
116
|
+
ENV["GEM_SPEC_CACHE"] = File.join @tempdir, "spec_cache"
|
117
117
|
|
118
118
|
ps = Gem::PathSupport.new "GEM_SPEC_CACHE" => "foo"
|
119
119
|
assert_equal "foo", ps.spec_cache_dir
|
@@ -126,7 +126,7 @@ class TestGemPathSupport < Gem::TestCase
|
|
126
126
|
begin
|
127
127
|
File.symlink(dir, symlink)
|
128
128
|
rescue NotImplementedError, SystemCallError
|
129
|
-
pend
|
129
|
+
pend "symlinks not supported"
|
130
130
|
end
|
131
131
|
not_existing = "#{@tempdir}/does_not_exist"
|
132
132
|
path = "#{symlink}#{File::PATH_SEPARATOR}#{not_existing}"
|