rubygems-update 2.7.11 → 3.0.9
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/.rubocop.yml +67 -0
- data/.travis.yml +24 -18
- data/CODE_OF_CONDUCT.md +10 -8
- data/CONTRIBUTING.md +148 -0
- data/History.txt +458 -8
- data/MAINTAINERS.txt +1 -0
- data/Manifest.txt +16 -9
- data/POLICIES.md +92 -0
- data/README.md +53 -26
- data/Rakefile +77 -211
- data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
- data/appveyor.yml +20 -45
- data/bin/gem +1 -2
- data/bin/update_rubygems +2 -3
- data/bundler/CHANGELOG.md +65 -0
- data/bundler/bundler.gemspec +7 -1
- data/bundler/lib/bundler/build_metadata.rb +1 -1
- data/bundler/lib/bundler/cli/add.rb +15 -5
- data/bundler/lib/bundler/cli/binstubs.rb +8 -2
- data/bundler/lib/bundler/cli/doctor.rb +47 -1
- data/bundler/lib/bundler/cli/install.rb +8 -5
- data/bundler/lib/bundler/cli/list.rb +41 -5
- data/bundler/lib/bundler/cli/outdated.rb +7 -1
- data/bundler/lib/bundler/cli/pristine.rb +4 -0
- data/bundler/lib/bundler/cli/remove.rb +18 -0
- data/bundler/lib/bundler/cli.rb +63 -21
- data/bundler/lib/bundler/definition.rb +15 -16
- data/bundler/lib/bundler/dependency.rb +2 -2
- data/bundler/lib/bundler/dsl.rb +19 -3
- data/bundler/lib/bundler/feature_flag.rb +7 -0
- data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
- data/bundler/lib/bundler/injector.rb +168 -9
- data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
- data/bundler/lib/bundler/installer.rb +29 -6
- data/bundler/lib/bundler/plugin/events.rb +61 -0
- data/bundler/lib/bundler/plugin.rb +10 -3
- data/bundler/lib/bundler/resolver.rb +2 -2
- data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
- data/bundler/lib/bundler/runtime.rb +8 -2
- data/bundler/lib/bundler/settings/validator.rb +23 -0
- data/bundler/lib/bundler/settings.rb +24 -3
- data/bundler/lib/bundler/shared_helpers.rb +19 -3
- data/bundler/lib/bundler/source/metadata.rb +2 -3
- data/bundler/lib/bundler/source.rb +9 -9
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +26 -8
- data/bundler/man/bundle-add.ronn +13 -2
- data/bundler/man/bundle-config.ronn +21 -0
- data/bundler/man/bundle-install.ronn +1 -1
- data/bundler/man/bundle-list.ronn +19 -1
- data/bundler/man/bundle-outdated.ronn +4 -0
- data/bundler/man/bundle-remove.ronn +23 -0
- data/bundler/man/bundle-update.ronn +1 -1
- data/bundler/man/bundle.ronn +3 -0
- data/lib/rubygems/available_set.rb +1 -1
- data/lib/rubygems/basic_specification.rb +12 -12
- data/lib/rubygems/bundler_version_finder.rb +3 -3
- data/lib/rubygems/command.rb +22 -15
- data/lib/rubygems/command_manager.rb +22 -5
- data/lib/rubygems/commands/build_command.rb +41 -7
- data/lib/rubygems/commands/cert_command.rb +45 -24
- data/lib/rubygems/commands/check_command.rb +1 -1
- data/lib/rubygems/commands/cleanup_command.rb +14 -7
- data/lib/rubygems/commands/contents_command.rb +14 -15
- data/lib/rubygems/commands/dependency_command.rb +17 -17
- data/lib/rubygems/commands/environment_command.rb +20 -1
- data/lib/rubygems/commands/fetch_command.rb +2 -3
- data/lib/rubygems/commands/generate_index_command.rb +2 -3
- data/lib/rubygems/commands/help_command.rb +12 -13
- data/lib/rubygems/commands/info_command.rb +33 -0
- data/lib/rubygems/commands/install_command.rb +21 -17
- data/lib/rubygems/commands/list_command.rb +0 -1
- data/lib/rubygems/commands/lock_command.rb +3 -4
- data/lib/rubygems/commands/open_command.rb +16 -10
- data/lib/rubygems/commands/owner_command.rb +21 -7
- data/lib/rubygems/commands/pristine_command.rb +23 -16
- data/lib/rubygems/commands/push_command.rb +19 -8
- data/lib/rubygems/commands/query_command.rb +24 -24
- data/lib/rubygems/commands/rdoc_command.rb +3 -4
- data/lib/rubygems/commands/search_command.rb +0 -1
- data/lib/rubygems/commands/server_command.rb +1 -2
- data/lib/rubygems/commands/setup_command.rb +86 -48
- data/lib/rubygems/commands/signin_command.rb +2 -1
- data/lib/rubygems/commands/signout_command.rb +2 -2
- data/lib/rubygems/commands/sources_command.rb +11 -12
- data/lib/rubygems/commands/specification_command.rb +7 -7
- data/lib/rubygems/commands/uninstall_command.rb +50 -18
- data/lib/rubygems/commands/unpack_command.rb +16 -7
- data/lib/rubygems/commands/update_command.rb +28 -23
- data/lib/rubygems/commands/which_command.rb +5 -8
- data/lib/rubygems/commands/yank_command.rb +1 -2
- data/lib/rubygems/compatibility.rb +1 -21
- data/lib/rubygems/config_file.rb +36 -36
- data/lib/rubygems/core_ext/kernel_require.rb +6 -6
- data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
- data/lib/rubygems/defaults.rb +31 -19
- data/lib/rubygems/dependency.rb +15 -15
- data/lib/rubygems/dependency_installer.rb +30 -33
- data/lib/rubygems/dependency_list.rb +9 -10
- data/lib/rubygems/deprecate.rb +2 -3
- data/lib/rubygems/doctor.rb +5 -6
- data/lib/rubygems/errors.rb +3 -3
- data/lib/rubygems/exceptions.rb +11 -8
- data/lib/rubygems/ext/build_error.rb +0 -1
- data/lib/rubygems/ext/builder.rb +50 -23
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +2 -3
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
- data/lib/rubygems/ext/rake_builder.rb +16 -18
- data/lib/rubygems/ext.rb +0 -1
- data/lib/rubygems/gem_runner.rb +2 -2
- data/lib/rubygems/gemcutter_utilities.rb +46 -12
- data/lib/rubygems/indexer.rb +19 -12
- data/lib/rubygems/install_default_message.rb +0 -1
- data/lib/rubygems/install_message.rb +0 -1
- data/lib/rubygems/install_update_options.rb +3 -29
- data/lib/rubygems/installer.rb +97 -55
- data/lib/rubygems/installer_test_case.rb +2 -16
- data/lib/rubygems/local_remote_options.rb +5 -4
- data/lib/rubygems/mock_gem_ui.rb +3 -4
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/package/digest_io.rb +3 -4
- data/lib/rubygems/package/file_source.rb +3 -4
- data/lib/rubygems/package/io_source.rb +1 -2
- data/lib/rubygems/package/old.rb +8 -16
- data/lib/rubygems/package/source.rb +0 -1
- data/lib/rubygems/package/tar_header.rb +13 -4
- data/lib/rubygems/package/tar_reader/entry.rb +20 -4
- data/lib/rubygems/package/tar_reader.rb +2 -4
- data/lib/rubygems/package/tar_test_case.rb +2 -8
- data/lib/rubygems/package/tar_writer.rb +13 -15
- data/lib/rubygems/package.rb +90 -63
- data/lib/rubygems/package_task.rb +0 -1
- data/lib/rubygems/path_support.rb +16 -6
- data/lib/rubygems/platform.rb +4 -5
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/rdoc.rb +2 -313
- data/lib/rubygems/remote_fetcher.rb +29 -82
- data/lib/rubygems/request/connection_pools.rb +24 -13
- data/lib/rubygems/request/http_pool.rb +3 -4
- data/lib/rubygems/request/https_pool.rb +1 -3
- data/lib/rubygems/request.rb +17 -16
- data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
- data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
- data/lib/rubygems/request_set/lockfile.rb +12 -12
- data/lib/rubygems/request_set.rb +52 -25
- data/lib/rubygems/requirement.rb +32 -21
- data/lib/rubygems/resolver/activation_request.rb +6 -6
- data/lib/rubygems/resolver/api_set.rb +5 -6
- data/lib/rubygems/resolver/api_specification.rb +2 -3
- data/lib/rubygems/resolver/best_set.rb +5 -6
- data/lib/rubygems/resolver/composed_set.rb +5 -6
- data/lib/rubygems/resolver/conflict.rb +5 -5
- data/lib/rubygems/resolver/current_set.rb +1 -2
- data/lib/rubygems/resolver/dependency_request.rb +4 -4
- data/lib/rubygems/resolver/git_set.rb +5 -6
- data/lib/rubygems/resolver/git_specification.rb +4 -5
- data/lib/rubygems/resolver/index_set.rb +5 -6
- data/lib/rubygems/resolver/index_specification.rb +3 -4
- data/lib/rubygems/resolver/installed_specification.rb +3 -4
- data/lib/rubygems/resolver/installer_set.rb +12 -12
- data/lib/rubygems/resolver/local_specification.rb +1 -2
- data/lib/rubygems/resolver/lock_set.rb +5 -6
- data/lib/rubygems/resolver/lock_specification.rb +7 -8
- data/lib/rubygems/resolver/requirement_list.rb +1 -1
- data/lib/rubygems/resolver/set.rb +2 -2
- data/lib/rubygems/resolver/source_set.rb +4 -5
- data/lib/rubygems/resolver/spec_specification.rb +1 -2
- data/lib/rubygems/resolver/specification.rb +10 -7
- data/lib/rubygems/resolver/stats.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +4 -5
- data/lib/rubygems/resolver/vendor_specification.rb +2 -3
- data/lib/rubygems/resolver.rb +14 -16
- data/lib/rubygems/s3_uri_signer.rb +183 -0
- data/lib/rubygems/safe_yaml.rb +18 -10
- data/lib/rubygems/security/policies.rb +1 -2
- data/lib/rubygems/security/policy.rb +25 -25
- data/lib/rubygems/security/signer.rb +72 -24
- data/lib/rubygems/security/trust_dir.rb +10 -10
- data/lib/rubygems/security.rb +21 -22
- data/lib/rubygems/security_option.rb +0 -1
- data/lib/rubygems/server.rb +21 -21
- data/lib/rubygems/source/git.rb +9 -10
- data/lib/rubygems/source/installed.rb +3 -4
- data/lib/rubygems/source/local.rb +7 -7
- data/lib/rubygems/source/lock.rb +4 -4
- data/lib/rubygems/source/specific_file.rb +5 -5
- data/lib/rubygems/source/vendor.rb +2 -3
- data/lib/rubygems/source.rb +16 -25
- data/lib/rubygems/source_list.rb +2 -2
- data/lib/rubygems/source_local.rb +0 -1
- data/lib/rubygems/spec_fetcher.rb +5 -6
- data/lib/rubygems/specification.rb +219 -558
- data/lib/rubygems/specification_policy.rb +407 -0
- data/lib/rubygems/stub_specification.rb +12 -17
- data/lib/rubygems/test_case.rb +161 -75
- data/lib/rubygems/test_utilities.rb +20 -35
- data/lib/rubygems/text.rb +6 -6
- data/lib/rubygems/uninstaller.rb +38 -27
- data/lib/rubygems/uri_formatter.rb +1 -2
- data/lib/rubygems/user_interaction.rb +37 -89
- data/lib/rubygems/util/licenses.rb +27 -1
- data/lib/rubygems/util/list.rb +1 -1
- data/lib/rubygems/util.rb +32 -14
- data/lib/rubygems/validator.rb +4 -5
- data/lib/rubygems/version.rb +15 -15
- data/lib/rubygems/version_option.rb +2 -3
- data/lib/rubygems.rb +71 -102
- data/rubygems-update.gemspec +43 -0
- data/setup.rb +2 -8
- data/test/rubygems/ca_cert.pem +74 -65
- data/test/rubygems/client.pem +103 -45
- data/test/rubygems/rubygems_plugin.rb +0 -1
- data/test/rubygems/simple_gem.rb +1 -1
- data/test/rubygems/ssl_cert.pem +78 -17
- data/test/rubygems/ssl_key.pem +25 -13
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_config.rb +7 -2
- data/test/rubygems/test_gem.rb +205 -132
- data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
- data/test/rubygems/test_gem_command.rb +0 -1
- data/test/rubygems/test_gem_command_manager.rb +18 -3
- data/test/rubygems/test_gem_commands_build_command.rb +220 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
- data/test/rubygems/test_gem_commands_check_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
- data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
- data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
- data/test/rubygems/test_gem_commands_help_command.rb +7 -4
- data/test/rubygems/test_gem_commands_info_command.rb +44 -0
- data/test/rubygems/test_gem_commands_install_command.rb +79 -12
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
- data/test/rubygems/test_gem_commands_open_command.rb +29 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
- data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
- data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
- data/test/rubygems/test_gem_commands_push_command.rb +54 -0
- data/test/rubygems/test_gem_commands_query_command.rb +102 -100
- data/test/rubygems/test_gem_commands_search_command.rb +0 -1
- data/test/rubygems/test_gem_commands_server_command.rb +0 -1
- data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
- data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
- data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
- data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
- data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
- data/test/rubygems/test_gem_commands_update_command.rb +19 -2
- data/test/rubygems/test_gem_commands_which_command.rb +0 -1
- data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
- data/test/rubygems/test_gem_config_file.rb +4 -2
- data/test/rubygems/test_gem_dependency.rb +0 -1
- data/test/rubygems/test_gem_dependency_installer.rb +8 -5
- data/test/rubygems/test_gem_dependency_list.rb +6 -7
- data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
- data/test/rubygems/test_gem_doctor.rb +1 -2
- data/test/rubygems/test_gem_ext_builder.rb +10 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
- data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
- data/test/rubygems/test_gem_gem_runner.rb +0 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
- data/test/rubygems/test_gem_indexer.rb +16 -10
- data/test/rubygems/test_gem_install_update_options.rb +1 -20
- data/test/rubygems/test_gem_installer.rb +154 -119
- data/test/rubygems/test_gem_local_remote_options.rb +3 -3
- data/test/rubygems/test_gem_name_tuple.rb +0 -1
- data/test/rubygems/test_gem_package.rb +77 -31
- data/test/rubygems/test_gem_package_old.rb +0 -1
- data/test/rubygems/test_gem_package_tar_header.rb +42 -2
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
- data/test/rubygems/test_gem_package_task.rb +2 -2
- data/test/rubygems/test_gem_path_support.rb +28 -11
- data/test/rubygems/test_gem_platform.rb +4 -5
- data/test/rubygems/test_gem_rdoc.rb +1 -136
- data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
- data/test/rubygems/test_gem_request.rb +9 -9
- data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
- data/test/rubygems/test_gem_request_set.rb +5 -5
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
- data/test/rubygems/test_gem_requirement.rb +24 -4
- data/test/rubygems/test_gem_resolver.rb +13 -17
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
- data/test/rubygems/test_gem_resolver_specification.rb +1 -2
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
- data/test/rubygems/test_gem_security.rb +1 -3
- data/test/rubygems/test_gem_security_policy.rb +5 -6
- data/test/rubygems/test_gem_security_signer.rb +4 -3
- data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
- data/test/rubygems/test_gem_server.rb +4 -4
- data/test/rubygems/test_gem_source.rb +0 -13
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
- data/test/rubygems/test_gem_source_git.rb +0 -1
- data/test/rubygems/test_gem_source_installed.rb +0 -1
- data/test/rubygems/test_gem_source_lock.rb +0 -1
- data/test/rubygems/test_gem_source_vendor.rb +0 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
- data/test/rubygems/test_gem_specification.rb +366 -198
- data/test/rubygems/test_gem_stream_ui.rb +15 -32
- data/test/rubygems/test_gem_stub_specification.rb +0 -2
- data/test/rubygems/test_gem_text.rb +4 -0
- data/test/rubygems/test_gem_uninstaller.rb +42 -3
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
- data/test/rubygems/test_gem_uri_formatter.rb +0 -1
- data/test/rubygems/test_gem_util.rb +31 -11
- data/test/rubygems/test_gem_validator.rb +0 -1
- data/test/rubygems/test_gem_version.rb +11 -11
- data/test/rubygems/test_gem_version_option.rb +0 -1
- data/test/rubygems/test_remote_fetch_error.rb +0 -1
- data/test/rubygems/test_require.rb +67 -52
- data/util/CL2notes +1 -2
- data/util/ci +20 -12
- data/util/cops/deprecations.rb +52 -0
- data/util/create_certs.rb +6 -7
- data/util/create_certs.sh +27 -0
- data/util/create_encrypted_key.rb +4 -5
- data/util/patch_with_prs.rb +1 -1
- data/util/rubocop +8 -0
- data/util/update_bundled_ca_certificates.rb +12 -13
- data/util/update_changelog.rb +1 -1
- metadata +61 -51
- data/.autotest +0 -71
- data/.document +0 -5
- data/CONTRIBUTING.rdoc +0 -130
- data/CVE-2013-4287.txt +0 -35
- data/CVE-2013-4363.txt +0 -45
- data/CVE-2015-3900.txt +0 -40
- data/POLICIES.rdoc +0 -74
- data/test/rubygems/fix_openssl_warnings.rb +0 -13
@@ -10,7 +10,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
10
10
|
if File.exist?(bundler_gemspec)
|
11
11
|
BUNDLER_VERS = File.read(bundler_gemspec).match(/VERSION = "(#{Gem::Version::VERSION_PATTERN})"/)[1]
|
12
12
|
else
|
13
|
-
BUNDLER_VERS = "1.16.2"
|
13
|
+
BUNDLER_VERS = "1.16.2".freeze
|
14
14
|
end
|
15
15
|
|
16
16
|
def setup
|
@@ -38,6 +38,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
38
38
|
FileUtils.mkdir_p 'default/gems'
|
39
39
|
|
40
40
|
gemspec = Gem::Specification.new
|
41
|
+
gemspec.author = "Us"
|
41
42
|
gemspec.name = "bundler"
|
42
43
|
gemspec.version = BUNDLER_VERS
|
43
44
|
gemspec.bindir = "exe"
|
@@ -66,7 +67,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
66
67
|
FileUtils.mkdir_p 'default/gems/bundler-audit-1.0.0'
|
67
68
|
end
|
68
69
|
|
69
|
-
def gem_install
|
70
|
+
def gem_install(name)
|
70
71
|
gem = util_spec name do |s|
|
71
72
|
s.executables = [name]
|
72
73
|
s.files = %W[bin/#{name}]
|
@@ -103,6 +104,40 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
103
104
|
assert_equal "I changed it!\n", File.read(gem_bin_path)
|
104
105
|
end
|
105
106
|
|
107
|
+
def test_env_shebang_flag
|
108
|
+
gem_bin_path = gem_install 'a'
|
109
|
+
write_file gem_bin_path do |io|
|
110
|
+
io.puts 'I changed it!'
|
111
|
+
end
|
112
|
+
|
113
|
+
@cmd.options[:document] = []
|
114
|
+
@cmd.options[:env_shebang] = true
|
115
|
+
@cmd.execute
|
116
|
+
|
117
|
+
gem_exec = sprintf Gem.default_exec_format, 'gem'
|
118
|
+
default_gem_bin_path = File.join @install_dir, 'bin', gem_exec
|
119
|
+
if Gem::USE_BUNDLER_FOR_GEMDEPS
|
120
|
+
bundle_exec = sprintf Gem.default_exec_format, 'bundle'
|
121
|
+
default_bundle_bin_path = File.join @install_dir, 'bin', bundle_exec
|
122
|
+
end
|
123
|
+
|
124
|
+
ruby_exec = sprintf Gem.default_exec_format, 'ruby'
|
125
|
+
|
126
|
+
if Gem.win_platform?
|
127
|
+
assert_match %r%\A#!\s*#{ruby_exec}%, File.read(default_gem_bin_path)
|
128
|
+
if Gem::USE_BUNDLER_FOR_GEMDEPS
|
129
|
+
assert_match %r%\A#!\s*#{ruby_exec}%, File.read(default_bundle_bin_path)
|
130
|
+
end
|
131
|
+
assert_match %r%\A#!\s*#{ruby_exec}%, File.read(gem_bin_path)
|
132
|
+
else
|
133
|
+
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_gem_bin_path)
|
134
|
+
if Gem::USE_BUNDLER_FOR_GEMDEPS
|
135
|
+
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_bundle_bin_path)
|
136
|
+
end
|
137
|
+
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(gem_bin_path)
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
106
141
|
def test_pem_files_in
|
107
142
|
assert_equal %w[rubygems/ssl_certs/rubygems.org/foo.pem],
|
108
143
|
@cmd.pem_files_in('lib').sort
|
@@ -132,16 +167,19 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
132
167
|
def test_install_default_bundler_gem
|
133
168
|
@cmd.extend FileUtils
|
134
169
|
|
135
|
-
@
|
170
|
+
bin_dir = File.join(@gemhome, 'bin')
|
171
|
+
@cmd.install_default_bundler_gem bin_dir
|
136
172
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
spec = Gem::Specification.load(default_spec_path)
|
173
|
+
bundler_spec = Gem::Specification.load("bundler/bundler.gemspec")
|
174
|
+
default_spec_path = File.join(Gem::Specification.default_specifications_dir, "#{bundler_spec.full_name}.gemspec")
|
175
|
+
spec = Gem::Specification.load(default_spec_path)
|
141
176
|
|
142
|
-
|
143
|
-
|
177
|
+
spec.executables.each do |e|
|
178
|
+
if Gem.win_platform?
|
179
|
+
assert_path_exists File.join(bin_dir, "#{e}.bat")
|
144
180
|
end
|
181
|
+
|
182
|
+
assert_path_exists File.join bin_dir, e
|
145
183
|
end
|
146
184
|
|
147
185
|
default_dir = Gem::Specification.default_specifications_dir
|
@@ -207,11 +245,8 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
207
245
|
end
|
208
246
|
|
209
247
|
def test_show_release_notes
|
210
|
-
@default_external =
|
211
|
-
|
212
|
-
@default_external = @ui.outs.external_encoding
|
213
|
-
@ui.outs.set_encoding Encoding::US_ASCII
|
214
|
-
end
|
248
|
+
@default_external = @ui.outs.external_encoding
|
249
|
+
@ui.outs.set_encoding Encoding::US_ASCII
|
215
250
|
|
216
251
|
@cmd.options[:previous_version] = Gem::Version.new '2.0.2'
|
217
252
|
|
@@ -256,7 +291,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
256
291
|
EXPECTED
|
257
292
|
|
258
293
|
output = @ui.output
|
259
|
-
output.force_encoding Encoding::UTF_8
|
294
|
+
output.force_encoding Encoding::UTF_8
|
260
295
|
|
261
296
|
assert_equal expected, output
|
262
297
|
ensure
|
@@ -74,7 +74,7 @@ class TestGemCommandsSigninCommand < Gem::TestCase
|
|
74
74
|
|
75
75
|
# Utility method to capture IO/UI within the block passed
|
76
76
|
|
77
|
-
def util_capture
|
77
|
+
def util_capture(ui_stub = nil, host = nil, api_key = nil)
|
78
78
|
api_key ||= 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903'
|
79
79
|
response = [api_key, 200, 'OK']
|
80
80
|
email = 'you@example.com'
|
@@ -105,7 +105,7 @@ class TestGemCommandsSpecificationCommand < Gem::TestCase
|
|
105
105
|
end
|
106
106
|
|
107
107
|
def test_execute_field
|
108
|
-
foo =
|
108
|
+
foo = util_spec 'foo', '2'
|
109
109
|
|
110
110
|
install_specs foo
|
111
111
|
|
@@ -137,7 +137,7 @@ class TestGemCommandsSpecificationCommand < Gem::TestCase
|
|
137
137
|
end
|
138
138
|
|
139
139
|
def test_execute_marshal
|
140
|
-
foo =
|
140
|
+
foo = util_spec 'foo', '2'
|
141
141
|
|
142
142
|
install_specs foo
|
143
143
|
|
@@ -248,4 +248,3 @@ class TestGemCommandsSpecificationCommand < Gem::TestCase
|
|
248
248
|
end
|
249
249
|
|
250
250
|
end
|
251
|
-
|
@@ -6,6 +6,7 @@ class TestGemCommandsStaleCommand < Gem::TestCase
|
|
6
6
|
|
7
7
|
def setup
|
8
8
|
super
|
9
|
+
@stub_ui = Gem::MockGemUi.new
|
9
10
|
@cmd = Gem::Commands::StaleCommand.new
|
10
11
|
end
|
11
12
|
|
@@ -31,11 +32,11 @@ class TestGemCommandsStaleCommand < Gem::TestCase
|
|
31
32
|
FileUtils.touch(filename, :mtime => Time.now - 86400)
|
32
33
|
end
|
33
34
|
|
34
|
-
use_ui @
|
35
|
+
use_ui @stub_ui do
|
35
36
|
@cmd.execute
|
36
37
|
end
|
37
38
|
|
38
|
-
lines = @
|
39
|
+
lines = @stub_ui.output.split("\n")
|
39
40
|
assert_equal("#{foo_bar.name}-#{foo_bar.version}", lines[0].split.first)
|
40
41
|
assert_equal("#{bar_baz.name}-#{bar_baz.version}", lines[1].split.first)
|
41
42
|
end
|
@@ -83,7 +83,7 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
-
if win_platform?
|
86
|
+
if win_platform?
|
87
87
|
assert File.exist?(@executable)
|
88
88
|
else
|
89
89
|
assert File.symlink?(@executable)
|
@@ -151,12 +151,14 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
151
151
|
assert_match(/Successfully uninstalled/, output)
|
152
152
|
end
|
153
153
|
|
154
|
-
def
|
154
|
+
def test_execute_with_version_leaves_non_matching_versions
|
155
155
|
ui = Gem::MockGemUi.new
|
156
156
|
|
157
157
|
util_make_gems
|
158
158
|
util_setup_gem ui
|
159
159
|
|
160
|
+
assert_equal 3, Gem::Specification.find_all_by_name('a').length
|
161
|
+
|
160
162
|
@cmd.options[:version] = '1'
|
161
163
|
@cmd.options[:force] = true
|
162
164
|
@cmd.options[:args] = ['a']
|
@@ -165,17 +167,99 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
165
167
|
@cmd.execute
|
166
168
|
end
|
167
169
|
|
168
|
-
|
170
|
+
assert_equal 2, Gem::Specification.find_all_by_name('a').length
|
171
|
+
|
169
172
|
assert File.exist? File.join(@gemhome, 'bin', 'executable')
|
170
173
|
end
|
171
174
|
|
172
|
-
def
|
175
|
+
def test_execute_with_version_specified_as_colon
|
173
176
|
ui = Gem::MockGemUi.new "y\n"
|
174
177
|
|
175
178
|
util_make_gems
|
176
179
|
util_setup_gem ui
|
177
180
|
|
178
|
-
|
181
|
+
assert_equal 3, Gem::Specification.find_all_by_name('a').length
|
182
|
+
|
183
|
+
@cmd.options[:force] = true
|
184
|
+
@cmd.options[:args] = ['a:1']
|
185
|
+
|
186
|
+
use_ui ui do
|
187
|
+
@cmd.execute
|
188
|
+
end
|
189
|
+
|
190
|
+
assert_equal 2, Gem::Specification.find_all_by_name('a').length
|
191
|
+
|
192
|
+
assert File.exist? File.join(@gemhome, 'bin', 'executable')
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_uninstall_selection
|
196
|
+
ui = Gem::MockGemUi.new "1\n"
|
197
|
+
|
198
|
+
util_make_gems
|
199
|
+
|
200
|
+
list = Gem::Specification.find_all_by_name 'a'
|
201
|
+
|
202
|
+
@cmd.options[:args] = ['a']
|
203
|
+
|
204
|
+
use_ui ui do
|
205
|
+
@cmd.execute
|
206
|
+
end
|
207
|
+
|
208
|
+
updated_list = Gem::Specification.find_all_by_name('a')
|
209
|
+
assert_equal list.length - 1, updated_list.length
|
210
|
+
|
211
|
+
assert_match ' 1. a-1', ui.output
|
212
|
+
assert_match ' 2. a-2', ui.output
|
213
|
+
assert_match ' 3. a-3.a', ui.output
|
214
|
+
assert_match ' 4. All versions', ui.output
|
215
|
+
assert_match 'uninstalled a-1', ui.output
|
216
|
+
end
|
217
|
+
|
218
|
+
def test_uninstall_selection_multiple_gems
|
219
|
+
ui = Gem::MockGemUi.new "1\n"
|
220
|
+
|
221
|
+
util_make_gems
|
222
|
+
|
223
|
+
a_list = Gem::Specification.find_all_by_name('a')
|
224
|
+
b_list = Gem::Specification.find_all_by_name('b')
|
225
|
+
list = a_list + b_list
|
226
|
+
|
227
|
+
@cmd.options[:args] = ['a', 'b']
|
228
|
+
|
229
|
+
use_ui ui do
|
230
|
+
@cmd.execute
|
231
|
+
end
|
232
|
+
|
233
|
+
updated_a_list = Gem::Specification.find_all_by_name('a')
|
234
|
+
updated_b_list = Gem::Specification.find_all_by_name('b')
|
235
|
+
updated_list = updated_a_list + updated_b_list
|
236
|
+
|
237
|
+
assert_equal list.length - 2, updated_list.length
|
238
|
+
|
239
|
+
out = ui.output.split("\n")
|
240
|
+
assert_match 'uninstalled b-2', out.shift
|
241
|
+
assert_match '', out.shift
|
242
|
+
assert_match 'Select gem to uninstall:', out.shift
|
243
|
+
assert_match ' 1. a-1', out.shift
|
244
|
+
assert_match ' 2. a-2', out.shift
|
245
|
+
assert_match ' 3. a-3.a', out.shift
|
246
|
+
assert_match ' 4. All versions', out.shift
|
247
|
+
assert_match 'uninstalled a-1', out.shift
|
248
|
+
assert_empty out
|
249
|
+
end
|
250
|
+
|
251
|
+
def test_execute_with_force_and_without_version_uninstalls_everything
|
252
|
+
ui = Gem::MockGemUi.new "y\n"
|
253
|
+
|
254
|
+
a_1, = util_gem 'a', 1
|
255
|
+
install_gem a_1
|
256
|
+
|
257
|
+
a_3a, = util_gem 'a', '3.a'
|
258
|
+
install_gem a_3a
|
259
|
+
|
260
|
+
util_setup_gem ui
|
261
|
+
|
262
|
+
assert_equal 3, Gem::Specification.find_all_by_name('a').length
|
179
263
|
|
180
264
|
@cmd.options[:force] = true
|
181
265
|
@cmd.options[:args] = ['a']
|
@@ -184,7 +268,9 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
184
268
|
@cmd.execute
|
185
269
|
end
|
186
270
|
|
187
|
-
|
271
|
+
assert_empty Gem::Specification.find_all_by_name('a')
|
272
|
+
assert_match "Removing executable", ui.output
|
273
|
+
refute File.exist? @executable
|
188
274
|
end
|
189
275
|
|
190
276
|
def test_execute_with_force_ignores_dependencies
|
@@ -216,7 +302,7 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
216
302
|
gemhome2 = "#{@gemhome}2"
|
217
303
|
|
218
304
|
a_4, = util_gem 'a', 4
|
219
|
-
install_gem a_4
|
305
|
+
install_gem a_4
|
220
306
|
|
221
307
|
Gem::Specification.dirs = [@gemhome, gemhome2]
|
222
308
|
|
@@ -234,6 +320,29 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
234
320
|
assert_equal %w[default-1], Gem::Specification.all_names.sort
|
235
321
|
end
|
236
322
|
|
323
|
+
def test_execute_outside_gem_home
|
324
|
+
ui = Gem::MockGemUi.new "y\n"
|
325
|
+
|
326
|
+
gemhome2 = "#{@gemhome}2"
|
327
|
+
|
328
|
+
a_4, = util_gem 'a', 4
|
329
|
+
install_gem a_4 , :install_dir => gemhome2
|
330
|
+
|
331
|
+
Gem::Specification.dirs = [@gemhome, gemhome2]
|
332
|
+
|
333
|
+
assert_includes Gem::Specification.all_names, 'a-4'
|
334
|
+
|
335
|
+
@cmd.options[:args] = ['a:4']
|
336
|
+
|
337
|
+
e = assert_raises Gem::InstallError do
|
338
|
+
use_ui ui do
|
339
|
+
@cmd.execute
|
340
|
+
end
|
341
|
+
end
|
342
|
+
|
343
|
+
assert_includes e.message, "a is not installed in GEM_HOME"
|
344
|
+
end
|
345
|
+
|
237
346
|
def test_handle_options
|
238
347
|
@cmd.handle_options %w[]
|
239
348
|
|
@@ -261,6 +370,25 @@ WARNING: Use your OS package manager to uninstall vendor gems
|
|
261
370
|
assert_match expected, @ui.error
|
262
371
|
end
|
263
372
|
|
373
|
+
def test_execute_two_version
|
374
|
+
@cmd.options[:args] = %w[a b]
|
375
|
+
@cmd.options[:version] = Gem::Requirement.new("> 1")
|
376
|
+
|
377
|
+
use_ui @ui do
|
378
|
+
e = assert_raises Gem::MockGemUi::TermError do
|
379
|
+
@cmd.execute
|
380
|
+
end
|
381
|
+
|
382
|
+
assert_equal 1, e.exit_code
|
383
|
+
end
|
384
|
+
|
385
|
+
msg = "ERROR: Can't use --version with multiple gems. You can specify multiple gems with" \
|
386
|
+
" version requirements using `gem uninstall 'my_gem:1.0.0' 'my_other_gem:~>2.0.0'`"
|
387
|
+
|
388
|
+
assert_empty @ui.output
|
389
|
+
assert_equal msg, @ui.error.lines.last.chomp
|
390
|
+
end
|
391
|
+
|
264
392
|
def test_handle_options_vendor_missing
|
265
393
|
orig_vendordir = RbConfig::CONFIG['vendordir']
|
266
394
|
RbConfig::CONFIG.delete 'vendordir'
|
@@ -291,5 +419,30 @@ WARNING: Use your OS package manager to uninstall vendor gems
|
|
291
419
|
assert_equal output.first, "Gem 'd' is not installed"
|
292
420
|
end
|
293
421
|
|
294
|
-
|
422
|
+
def test_execute_with_gem_uninstall_error
|
423
|
+
util_make_gems
|
424
|
+
|
425
|
+
@cmd.options[:args] = %w[a]
|
426
|
+
|
427
|
+
uninstall_exception = lambda do |_a|
|
428
|
+
ex = Gem::UninstallError.new
|
429
|
+
ex.spec = @spec
|
295
430
|
|
431
|
+
raise ex
|
432
|
+
end
|
433
|
+
|
434
|
+
e = nil
|
435
|
+
@cmd.stub :uninstall, uninstall_exception do
|
436
|
+
use_ui @ui do
|
437
|
+
e = assert_raises Gem::MockGemUi::TermError do
|
438
|
+
@cmd.execute
|
439
|
+
end
|
440
|
+
end
|
441
|
+
|
442
|
+
assert_equal 1, e.exit_code
|
443
|
+
end
|
444
|
+
|
445
|
+
assert_empty @ui.output
|
446
|
+
assert_match %r!Error: unable to successfully uninstall '#{@spec.name}'!, @ui.error
|
447
|
+
end
|
448
|
+
end
|
@@ -134,6 +134,23 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
|
|
134
134
|
assert File.exist?(File.join(@tempdir, 'b-2.gemspec'))
|
135
135
|
end
|
136
136
|
|
137
|
+
def test_execute_spec_target
|
138
|
+
util_make_gems
|
139
|
+
|
140
|
+
@cmd.options[:args] = %w[a b]
|
141
|
+
@cmd.options[:target] = 'specs'
|
142
|
+
@cmd.options[:spec] = true
|
143
|
+
|
144
|
+
use_ui @ui do
|
145
|
+
Dir.chdir @tempdir do
|
146
|
+
@cmd.execute
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
assert File.exist?(File.join(@tempdir, 'specs/a-3.a.gemspec'))
|
151
|
+
assert File.exist?(File.join(@tempdir, 'specs/b-2.gemspec'))
|
152
|
+
end
|
153
|
+
|
137
154
|
def test_execute_sudo
|
138
155
|
skip 'Cannot perform this test on windows (chmod)' if win_platform?
|
139
156
|
|
@@ -206,4 +223,3 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
|
|
206
223
|
end
|
207
224
|
|
208
225
|
end
|
209
|
-
|
@@ -217,7 +217,6 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
217
217
|
end
|
218
218
|
|
219
219
|
def test_execute_rdoc
|
220
|
-
skip if RUBY_VERSION <= "1.8.7"
|
221
220
|
spec_fetcher do |fetcher|
|
222
221
|
fetcher.download 'a', 2
|
223
222
|
fetcher.spec 'a', 1
|
@@ -504,5 +503,23 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
504
503
|
assert_empty arguments
|
505
504
|
end
|
506
505
|
|
507
|
-
|
506
|
+
def test_explain
|
507
|
+
spec_fetcher do |fetcher|
|
508
|
+
fetcher.download 'a', 2
|
509
|
+
fetcher.spec 'a', 1
|
510
|
+
end
|
511
|
+
|
512
|
+
@cmd.options[:explain] = true
|
513
|
+
@cmd.options[:args] = %w[a]
|
514
|
+
|
515
|
+
use_ui @ui do
|
516
|
+
@cmd.execute
|
517
|
+
end
|
518
|
+
|
519
|
+
out = @ui.output.split "\n"
|
508
520
|
|
521
|
+
assert_equal "Gems to update:", out.shift
|
522
|
+
assert_equal " a-2", out.shift
|
523
|
+
assert_empty out
|
524
|
+
end
|
525
|
+
end
|
@@ -44,6 +44,7 @@ class TestGemConfigFile < Gem::TestCase
|
|
44
44
|
assert_equal Gem::ConfigFile::DEFAULT_BULK_THRESHOLD, @cfg.bulk_threshold
|
45
45
|
assert_equal true, @cfg.verbose
|
46
46
|
assert_equal [@gem_repo], Gem.sources
|
47
|
+
assert_equal 365, @cfg.cert_expiration_length_days
|
47
48
|
|
48
49
|
File.open @temp_conf, 'w' do |fp|
|
49
50
|
fp.puts ":backtrace: true"
|
@@ -58,6 +59,7 @@ class TestGemConfigFile < Gem::TestCase
|
|
58
59
|
fp.puts "- /var/ruby/1.8/gem_home"
|
59
60
|
fp.puts ":ssl_verify_mode: 0"
|
60
61
|
fp.puts ":ssl_ca_cert: /etc/ssl/certs"
|
62
|
+
fp.puts ":cert_expiration_length_days: 28"
|
61
63
|
end
|
62
64
|
|
63
65
|
util_config_file
|
@@ -71,6 +73,7 @@ class TestGemConfigFile < Gem::TestCase
|
|
71
73
|
@cfg.path)
|
72
74
|
assert_equal 0, @cfg.ssl_verify_mode
|
73
75
|
assert_equal '/etc/ssl/certs', @cfg.ssl_ca_cert
|
76
|
+
assert_equal 28, @cfg.cert_expiration_length_days
|
74
77
|
end
|
75
78
|
|
76
79
|
def test_initialize_handle_arguments_config_file
|
@@ -341,7 +344,7 @@ if you believe they were disclosed to a third party.
|
|
341
344
|
|
342
345
|
assert_equal expected, YAML.load_file(@cfg.credentials_path)
|
343
346
|
|
344
|
-
unless win_platform?
|
347
|
+
unless win_platform?
|
345
348
|
stat = File.stat @cfg.credentials_path
|
346
349
|
|
347
350
|
assert_equal 0600, stat.mode & 0600
|
@@ -487,4 +490,3 @@ if you believe they were disclosed to a third party.
|
|
487
490
|
assert_equal(true, @cfg.disable_default_gem_server)
|
488
491
|
end
|
489
492
|
end
|
490
|
-
|
@@ -431,7 +431,7 @@ class TestGemDependencyInstaller < Gem::TestCase
|
|
431
431
|
EXTCONF_RB
|
432
432
|
end
|
433
433
|
|
434
|
-
e1 =
|
434
|
+
e1 = util_spec 'e', '1', nil, 'extconf.rb' do |s|
|
435
435
|
s.extensions << 'extconf.rb'
|
436
436
|
end
|
437
437
|
e1_gem = File.join @tempdir, 'gems', "#{e1.full_name}.gem"
|
@@ -445,9 +445,13 @@ class TestGemDependencyInstaller < Gem::TestCase
|
|
445
445
|
FileUtils.mv f1_gem, @tempdir
|
446
446
|
inst = nil
|
447
447
|
|
448
|
-
Dir.
|
448
|
+
pwd = Dir.getwd
|
449
|
+
Dir.chdir @tempdir
|
450
|
+
begin
|
449
451
|
inst = Gem::DependencyInstaller.new
|
450
452
|
inst.install 'f'
|
453
|
+
ensure
|
454
|
+
Dir.chdir pwd
|
451
455
|
end
|
452
456
|
|
453
457
|
assert_equal %w[f-1], inst.installed_gems.map { |s| s.full_name }
|
@@ -893,7 +897,7 @@ class TestGemDependencyInstaller < Gem::TestCase
|
|
893
897
|
assert_equal %w[a-1-cpu-other_platform-1], inst.installed_gems.map { |s| s.full_name }
|
894
898
|
end
|
895
899
|
|
896
|
-
if defined? OpenSSL
|
900
|
+
if defined? OpenSSL
|
897
901
|
def test_install_security_policy
|
898
902
|
util_setup_gems
|
899
903
|
|
@@ -918,7 +922,7 @@ class TestGemDependencyInstaller < Gem::TestCase
|
|
918
922
|
end
|
919
923
|
|
920
924
|
# Wrappers don't work on mswin
|
921
|
-
unless win_platform?
|
925
|
+
unless win_platform?
|
922
926
|
def test_install_no_wrappers
|
923
927
|
util_setup_gems
|
924
928
|
|
@@ -1069,7 +1073,6 @@ class TestGemDependencyInstaller < Gem::TestCase
|
|
1069
1073
|
|
1070
1074
|
assert_equal 'a-1', remote.spec.full_name, 'remote spec'
|
1071
1075
|
assert_equal Gem::Source.new(@gem_repo), remote.source, 'remote path'
|
1072
|
-
|
1073
1076
|
end
|
1074
1077
|
|
1075
1078
|
def test_find_gems_with_sources_prerelease
|
@@ -11,7 +11,7 @@ class TestGemDependencyList < Gem::TestCase
|
|
11
11
|
|
12
12
|
@deplist = Gem::DependencyList.new
|
13
13
|
|
14
|
-
# TODO: switch to
|
14
|
+
# TODO: switch to util_spec
|
15
15
|
@a1 = util_spec 'a', '1'
|
16
16
|
@a2 = util_spec 'a', '2'
|
17
17
|
@a3 = util_spec 'a', '3'
|
@@ -136,21 +136,21 @@ class TestGemDependencyList < Gem::TestCase
|
|
136
136
|
|
137
137
|
exp = {
|
138
138
|
"b" => [
|
139
|
-
|
140
|
-
|
139
|
+
Gem::Dependency.new("a", ">= 1")
|
140
|
+
]
|
141
141
|
}
|
142
142
|
|
143
143
|
assert_equal exp, @deplist.why_not_ok?
|
144
144
|
end
|
145
145
|
|
146
146
|
def test_why_not_ok_eh_old_dependency
|
147
|
-
a =
|
147
|
+
a = util_spec 'a', '1',
|
148
148
|
'b' => '~> 1.0'
|
149
149
|
|
150
|
-
b0 =
|
150
|
+
b0 = util_spec 'b', '1.0',
|
151
151
|
'd' => '>= 0'
|
152
152
|
|
153
|
-
b1 =
|
153
|
+
b1 = util_spec 'b', '1.1'
|
154
154
|
|
155
155
|
util_clear_gems
|
156
156
|
|
@@ -257,4 +257,3 @@ class TestGemDependencyList < Gem::TestCase
|
|
257
257
|
end
|
258
258
|
|
259
259
|
end
|
260
|
-
|
@@ -4,7 +4,7 @@ require 'rubygems/doctor'
|
|
4
4
|
|
5
5
|
class TestGemDoctor < Gem::TestCase
|
6
6
|
|
7
|
-
def gem
|
7
|
+
def gem(name)
|
8
8
|
spec = quick_gem name do |gem|
|
9
9
|
gem.files = %W[lib/#{name}.rb Rakefile]
|
10
10
|
end
|
@@ -166,4 +166,3 @@ This directory does not appear to be a RubyGems repository, skipping
|
|
166
166
|
end
|
167
167
|
|
168
168
|
end
|
169
|
-
|