rubygems-update 3.1.1 → 3.2.0.rc.2
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/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +25 -11
- data/History.txt +389 -144
- data/Manifest.txt +37 -73
- data/POLICIES.md +2 -9
- data/README.md +5 -5
- data/Rakefile +47 -82
- data/bin/update_rubygems +2 -2
- data/bundler/CHANGELOG.md +1546 -1414
- data/bundler/README.md +6 -8
- data/bundler/UPGRADING.md +18 -32
- data/bundler/bundler.gemspec +3 -3
- data/bundler/exe/bundle +3 -0
- data/bundler/lib/bundler.rb +21 -7
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli.rb +54 -20
- data/bundler/lib/bundler/cli/add.rb +1 -1
- data/bundler/lib/bundler/cli/cache.rb +1 -7
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +14 -0
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +4 -13
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +84 -11
- data/bundler/lib/bundler/cli/info.rb +15 -4
- data/bundler/lib/bundler/cli/init.rb +2 -2
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +12 -18
- data/bundler/lib/bundler/cli/issue.rb +2 -2
- data/bundler/lib/bundler/cli/list.rb +12 -10
- data/bundler/lib/bundler/cli/outdated.rb +89 -66
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +2 -0
- data/bundler/lib/bundler/compact_index_client.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
- data/bundler/lib/bundler/definition.rb +51 -60
- data/bundler/lib/bundler/dep_proxy.rb +1 -1
- data/bundler/lib/bundler/dependency.rb +0 -9
- data/bundler/lib/bundler/dsl.rb +5 -9
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/environment_preserver.rb +26 -2
- data/bundler/lib/bundler/errors.rb +1 -0
- data/bundler/lib/bundler/feature_flag.rb +0 -2
- data/bundler/lib/bundler/fetcher.rb +4 -3
- data/bundler/lib/bundler/fetcher/base.rb +1 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
- data/bundler/lib/bundler/fetcher/index.rb +1 -1
- data/bundler/lib/bundler/friendly_errors.rb +7 -13
- data/bundler/lib/bundler/gem_helper.rb +33 -19
- data/bundler/lib/bundler/gem_helpers.rb +6 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
- data/bundler/lib/bundler/graph.rb +1 -1
- data/bundler/lib/bundler/index.rb +1 -1
- data/bundler/lib/bundler/injector.rb +15 -4
- data/bundler/lib/bundler/inline.rb +2 -2
- data/bundler/lib/bundler/installer.rb +30 -29
- data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
- data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
- data/bundler/lib/bundler/installer/standalone.rb +2 -2
- data/bundler/lib/bundler/lazy_specification.rb +19 -6
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/lockfile_parser.rb +1 -1
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +30 -5
- data/bundler/lib/bundler/plugin/index.rb +10 -1
- data/bundler/lib/bundler/plugin/installer.rb +1 -1
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
- data/bundler/lib/bundler/plugin/source_list.rb +1 -1
- data/bundler/lib/bundler/psyched_yaml.rb +0 -15
- data/bundler/lib/bundler/remote_specification.rb +5 -2
- data/bundler/lib/bundler/resolver.rb +32 -9
- data/bundler/lib/bundler/resolver/spec_group.rb +27 -6
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +53 -9
- data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
- data/bundler/lib/bundler/rubygems_integration.rb +31 -54
- data/bundler/lib/bundler/runtime.rb +4 -14
- data/bundler/lib/bundler/settings.rb +49 -45
- data/bundler/lib/bundler/setup.rb +5 -0
- data/bundler/lib/bundler/shared_helpers.rb +2 -2
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +5 -5
- data/bundler/lib/bundler/source/git/git_proxy.rb +56 -59
- data/bundler/lib/bundler/source/path.rb +7 -3
- data/bundler/lib/bundler/source/path/installer.rb +8 -10
- data/bundler/lib/bundler/source/rubygems.rb +13 -16
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +2 -2
- data/bundler/lib/bundler/spec_set.rb +1 -1
- data/bundler/lib/bundler/stub_specification.rb +17 -5
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -6
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
- data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
- data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/ui/shell.rb +5 -5
- data/bundler/lib/bundler/uri_credentials_filter.rb +1 -1
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -212
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendored_persistent.rb +0 -7
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/bundler/man/bundle-add.1 +1 -1
- data/bundler/man/{bundle-add.ronn → bundle-add.1.ronn} +0 -0
- data/bundler/man/bundle-binstubs.1 +5 -3
- data/bundler/man/{bundle-binstubs.ronn → bundle-binstubs.1.ronn} +2 -4
- data/bundler/man/bundle-cache.1 +1 -1
- data/bundler/man/{bundle-cache.ronn → bundle-cache.1.ronn} +0 -0
- data/bundler/man/bundle-check.1 +1 -1
- data/bundler/man/{bundle-check.ronn → bundle-check.1.ronn} +0 -0
- data/bundler/man/bundle-clean.1 +1 -1
- data/bundler/man/{bundle-clean.ronn → bundle-clean.1.ronn} +0 -0
- data/bundler/man/bundle-config.1 +16 -22
- data/bundler/man/{bundle-config.ronn → bundle-config.1.ronn} +19 -22
- data/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/man/{bundle-doctor.ronn → bundle-doctor.1.ronn} +0 -0
- data/bundler/man/bundle-exec.1 +1 -1
- data/bundler/man/{bundle-exec.ronn → bundle-exec.1.ronn} +0 -0
- data/bundler/man/bundle-gem.1 +25 -3
- data/bundler/man/{bundle-gem.ronn → bundle-gem.1.ronn} +30 -7
- data/bundler/man/bundle-info.1 +1 -1
- data/bundler/man/{bundle-info.ronn → bundle-info.1.ronn} +0 -0
- data/bundler/man/bundle-init.1 +1 -1
- data/bundler/man/{bundle-init.ronn → bundle-init.1.ronn} +0 -0
- data/bundler/man/bundle-inject.1 +1 -1
- data/bundler/man/{bundle-inject.ronn → bundle-inject.1.ronn} +0 -0
- data/bundler/man/bundle-install.1 +29 -2
- data/bundler/man/{bundle-install.ronn → bundle-install.1.ronn} +24 -2
- data/bundler/man/bundle-list.1 +7 -7
- data/bundler/man/{bundle-list.ronn → bundle-list.1.ronn} +6 -6
- data/bundler/man/bundle-lock.1 +1 -1
- data/bundler/man/{bundle-lock.ronn → bundle-lock.1.ronn} +0 -0
- data/bundler/man/bundle-open.1 +1 -1
- data/bundler/man/{bundle-open.ronn → bundle-open.1.ronn} +0 -0
- data/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/man/{bundle-outdated.ronn → bundle-outdated.1.ronn} +0 -0
- data/bundler/man/bundle-platform.1 +1 -1
- data/bundler/man/{bundle-platform.ronn → bundle-platform.1.ronn} +0 -0
- data/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/man/{bundle-pristine.ronn → bundle-pristine.1.ronn} +0 -0
- data/bundler/man/bundle-remove.1 +1 -1
- data/bundler/man/{bundle-remove.ronn → bundle-remove.1.ronn} +0 -0
- data/bundler/man/bundle-show.1 +1 -1
- data/bundler/man/{bundle-show.ronn → bundle-show.1.ronn} +0 -0
- data/bundler/man/bundle-update.1 +1 -1
- data/bundler/man/{bundle-update.ronn → bundle-update.1.ronn} +0 -0
- data/bundler/man/bundle-viz.1 +1 -1
- data/bundler/man/{bundle-viz.ronn → bundle-viz.1.ronn} +0 -0
- data/bundler/man/bundle.1 +1 -1
- data/bundler/man/{bundle.ronn → bundle.1.ronn} +0 -0
- data/bundler/man/gemfile.5 +4 -4
- data/bundler/man/gemfile.5.ronn +4 -4
- data/lib/rubygems.rb +133 -186
- data/lib/rubygems/available_set.rb +4 -6
- data/lib/rubygems/basic_specification.rb +12 -10
- data/lib/rubygems/bundler_version_finder.rb +14 -9
- data/lib/rubygems/command.rb +17 -17
- data/lib/rubygems/command_manager.rb +4 -5
- data/lib/rubygems/commands/build_command.rb +4 -1
- data/lib/rubygems/commands/cert_command.rb +1 -9
- data/lib/rubygems/commands/check_command.rb +0 -2
- data/lib/rubygems/commands/cleanup_command.rb +11 -7
- data/lib/rubygems/commands/contents_command.rb +4 -6
- data/lib/rubygems/commands/dependency_command.rb +6 -8
- data/lib/rubygems/commands/environment_command.rb +1 -3
- data/lib/rubygems/commands/fetch_command.rb +2 -4
- data/lib/rubygems/commands/generate_index_command.rb +0 -2
- data/lib/rubygems/commands/help_command.rb +2 -4
- data/lib/rubygems/commands/info_command.rb +8 -5
- data/lib/rubygems/commands/install_command.rb +3 -5
- data/lib/rubygems/commands/list_command.rb +8 -7
- data/lib/rubygems/commands/lock_command.rb +1 -3
- data/lib/rubygems/commands/mirror_command.rb +0 -2
- data/lib/rubygems/commands/open_command.rb +0 -4
- data/lib/rubygems/commands/outdated_command.rb +0 -2
- data/lib/rubygems/commands/owner_command.rb +0 -2
- data/lib/rubygems/commands/pristine_command.rb +10 -4
- data/lib/rubygems/commands/push_command.rb +4 -44
- data/lib/rubygems/commands/query_command.rb +6 -353
- data/lib/rubygems/commands/rdoc_command.rb +0 -2
- data/lib/rubygems/commands/search_command.rb +7 -7
- data/lib/rubygems/commands/server_command.rb +0 -2
- data/lib/rubygems/commands/setup_command.rb +156 -48
- data/lib/rubygems/commands/signin_command.rb +0 -2
- data/lib/rubygems/commands/signout_command.rb +0 -2
- data/lib/rubygems/commands/sources_command.rb +3 -5
- data/lib/rubygems/commands/specification_command.rb +2 -4
- data/lib/rubygems/commands/stale_command.rb +1 -3
- data/lib/rubygems/commands/uninstall_command.rb +2 -4
- data/lib/rubygems/commands/unpack_command.rb +1 -3
- data/lib/rubygems/commands/update_command.rb +59 -14
- data/lib/rubygems/commands/which_command.rb +0 -2
- data/lib/rubygems/commands/yank_command.rb +0 -2
- data/lib/rubygems/config_file.rb +11 -4
- data/lib/rubygems/core_ext/kernel_require.rb +26 -36
- data/lib/rubygems/core_ext/kernel_warn.rb +6 -6
- data/lib/rubygems/defaults.rb +99 -5
- data/lib/rubygems/dependency.rb +2 -7
- data/lib/rubygems/dependency_installer.rb +1 -75
- data/lib/rubygems/dependency_list.rb +7 -9
- data/lib/rubygems/deprecate.rb +46 -1
- data/lib/rubygems/doctor.rb +4 -4
- data/lib/rubygems/errors.rb +3 -14
- data/lib/rubygems/exceptions.rb +2 -33
- data/lib/rubygems/ext.rb +6 -6
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +4 -4
- data/lib/rubygems/ext/cmake_builder.rb +1 -3
- data/lib/rubygems/ext/configure_builder.rb +0 -2
- data/lib/rubygems/ext/ext_conf_builder.rb +6 -9
- data/lib/rubygems/ext/rake_builder.rb +0 -2
- data/lib/rubygems/gem_runner.rb +3 -10
- data/lib/rubygems/gemcutter_utilities.rb +1 -1
- data/lib/rubygems/indexer.rb +1 -21
- data/lib/rubygems/install_update_options.rb +5 -5
- data/lib/rubygems/installer.rb +47 -48
- data/lib/rubygems/installer_test_case.rb +18 -5
- data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +0 -6
- data/lib/rubygems/name_tuple.rb +2 -6
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/package.rb +11 -23
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +0 -2
- data/lib/rubygems/package/io_source.rb +0 -2
- data/lib/rubygems/package/old.rb +1 -3
- data/lib/rubygems/package/tar_header.rb +3 -5
- data/lib/rubygems/package/tar_reader.rb +0 -3
- data/lib/rubygems/package/tar_reader/entry.rb +0 -3
- data/lib/rubygems/package/tar_test_case.rb +1 -3
- data/lib/rubygems/package/tar_writer.rb +2 -12
- data/lib/rubygems/package_task.rb +1 -7
- data/lib/rubygems/path_support.rb +1 -3
- data/lib/rubygems/platform.rb +3 -5
- data/lib/rubygems/psych_tree.rb +0 -2
- data/lib/rubygems/query_utils.rb +362 -0
- data/lib/rubygems/rdoc.rb +0 -12
- data/lib/rubygems/remote_fetcher.rb +9 -25
- data/lib/rubygems/request.rb +1 -9
- data/lib/rubygems/request/connection_pools.rb +1 -5
- data/lib/rubygems/request/http_pool.rb +0 -2
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request_set.rb +5 -7
- data/lib/rubygems/request_set/gem_dependency_api.rb +2 -4
- data/lib/rubygems/request_set/lockfile.rb +8 -12
- data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
- data/lib/rubygems/requirement.rb +20 -21
- data/lib/rubygems/resolver.rb +7 -10
- data/lib/rubygems/resolver/activation_request.rb +0 -2
- data/lib/rubygems/resolver/api_set.rb +4 -6
- data/lib/rubygems/resolver/api_specification.rb +16 -7
- data/lib/rubygems/resolver/best_set.rb +0 -2
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +1 -3
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +0 -2
- data/lib/rubygems/resolver/git_set.rb +0 -2
- data/lib/rubygems/resolver/git_specification.rb +0 -2
- data/lib/rubygems/resolver/index_set.rb +1 -3
- data/lib/rubygems/resolver/index_specification.rb +0 -2
- data/lib/rubygems/resolver/installed_specification.rb +0 -2
- data/lib/rubygems/resolver/installer_set.rb +3 -5
- data/lib/rubygems/resolver/local_specification.rb +0 -2
- data/lib/rubygems/resolver/lock_set.rb +1 -3
- data/lib/rubygems/resolver/lock_specification.rb +0 -2
- data/lib/rubygems/resolver/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -2
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +0 -2
- data/lib/rubygems/resolver/specification.rb +0 -2
- data/lib/rubygems/resolver/stats.rb +0 -2
- data/lib/rubygems/resolver/vendor_set.rb +0 -2
- data/lib/rubygems/resolver/vendor_specification.rb +0 -2
- data/lib/rubygems/s3_uri_signer.rb +1 -7
- data/lib/rubygems/safe_yaml.rb +4 -4
- data/lib/rubygems/security.rb +26 -32
- data/lib/rubygems/security/policy.rb +3 -7
- data/lib/rubygems/security/signer.rb +4 -6
- data/lib/rubygems/security/trust_dir.rb +1 -3
- data/lib/rubygems/server.rb +9 -11
- data/lib/rubygems/source.rb +4 -4
- data/lib/rubygems/source/git.rb +7 -8
- data/lib/rubygems/source/installed.rb +0 -2
- data/lib/rubygems/source/local.rb +2 -4
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +0 -2
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source_list.rb +6 -7
- data/lib/rubygems/spec_fetcher.rb +18 -17
- data/lib/rubygems/specification.rb +107 -120
- data/lib/rubygems/specification_policy.rb +88 -30
- data/lib/rubygems/stub_specification.rb +0 -4
- data/lib/rubygems/syck_hack.rb +0 -2
- data/lib/rubygems/test_case.rb +122 -92
- data/lib/rubygems/test_utilities.rb +6 -14
- data/lib/rubygems/uninstaller.rb +35 -16
- data/lib/rubygems/uri_formatter.rb +0 -2
- data/lib/rubygems/uri_parser.rb +0 -2
- data/lib/rubygems/user_interaction.rb +1 -26
- data/lib/rubygems/util.rb +15 -3
- data/lib/rubygems/util/licenses.rb +4 -6
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/validator.rb +1 -3
- data/lib/rubygems/version.rb +5 -7
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +2 -7
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +0 -2
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
- data/test/rubygems/test_bundled_ca.rb +38 -45
- data/test/rubygems/test_config.rb +0 -2
- data/test/rubygems/test_deprecate.rb +40 -7
- data/test/rubygems/test_gem.rb +150 -103
- data/test/rubygems/test_gem_available_set.rb +3 -5
- data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
- data/test/rubygems/test_gem_command.rb +24 -7
- data/test/rubygems/test_gem_command_manager.rb +36 -5
- data/test/rubygems/test_gem_commands_build_command.rb +53 -10
- data/test/rubygems/test_gem_commands_cert_command.rb +2 -4
- data/test/rubygems/test_gem_commands_check_command.rb +0 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +13 -4
- data/test/rubygems/test_gem_commands_contents_command.rb +48 -17
- data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
- data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
- data/test/rubygems/test_gem_commands_help_command.rb +0 -2
- data/test/rubygems/test_gem_commands_info_command.rb +6 -8
- data/test/rubygems/test_gem_commands_install_command.rb +31 -33
- data/test/rubygems/test_gem_commands_list_command.rb +0 -2
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
- data/test/rubygems/test_gem_commands_mirror.rb +1 -3
- data/test/rubygems/test_gem_commands_open_command.rb +4 -6
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
- data/test/rubygems/test_gem_commands_owner_command.rb +11 -5
- data/test/rubygems/test_gem_commands_pristine_command.rb +41 -10
- data/test/rubygems/test_gem_commands_push_command.rb +7 -4
- data/test/rubygems/test_gem_commands_query_command.rb +9 -9
- data/test/rubygems/test_gem_commands_search_command.rb +0 -2
- data/test/rubygems/test_gem_commands_server_command.rb +0 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +210 -118
- data/test/rubygems/test_gem_commands_signin_command.rb +6 -6
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
- data/test/rubygems/test_gem_commands_sources_command.rb +39 -3
- data/test/rubygems/test_gem_commands_specification_command.rb +18 -20
- data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
- data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
- data/test/rubygems/test_gem_commands_update_command.rb +116 -7
- data/test/rubygems/test_gem_commands_which_command.rb +3 -5
- data/test/rubygems/test_gem_commands_yank_command.rb +14 -8
- data/test/rubygems/test_gem_config_file.rb +7 -12
- data/test/rubygems/test_gem_dependency.rb +0 -2
- data/test/rubygems/test_gem_dependency_installer.rb +54 -191
- data/test/rubygems/test_gem_dependency_list.rb +8 -10
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
- data/test/rubygems/test_gem_doctor.rb +28 -2
- data/test/rubygems/test_gem_ext_builder.rb +16 -33
- data/test/rubygems/test_gem_ext_cmake_builder.rb +13 -14
- data/test/rubygems/test_gem_ext_configure_builder.rb +1 -11
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -3
- data/test/rubygems/test_gem_ext_rake_builder.rb +9 -11
- data/test/rubygems/test_gem_gem_runner.rb +43 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +5 -2
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
- data/test/rubygems/test_gem_indexer.rb +9 -15
- data/test/rubygems/test_gem_install_update_options.rb +0 -2
- data/test/rubygems/test_gem_installer.rb +192 -71
- data/test/rubygems/test_gem_local_remote_options.rb +0 -2
- data/test/rubygems/test_gem_name_tuple.rb +0 -2
- data/test/rubygems/test_gem_package.rb +33 -31
- data/test/rubygems/test_gem_package_old.rb +0 -2
- data/test/rubygems/test_gem_package_tar_header.rb +18 -1
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
- data/test/rubygems/test_gem_package_tar_writer.rb +8 -5
- data/test/rubygems/test_gem_package_task.rb +46 -13
- data/test/rubygems/test_gem_path_support.rb +0 -2
- data/test/rubygems/test_gem_platform.rb +0 -2
- data/test/rubygems/test_gem_rdoc.rb +0 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +156 -195
- data/test/rubygems/test_gem_request.rb +11 -15
- data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
- data/test/rubygems/test_gem_request_set.rb +72 -22
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
- data/test/rubygems/test_gem_request_set_lockfile.rb +0 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
- data/test/rubygems/test_gem_requirement.rb +10 -4
- data/test/rubygems/test_gem_resolver.rb +6 -8
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_api_set.rb +3 -5
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_best_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -2
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
- data/test/rubygems/test_gem_resolver_specification.rb +0 -4
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
- data/test/rubygems/test_gem_security.rb +20 -22
- data/test/rubygems/test_gem_security_policy.rb +5 -10
- data/test/rubygems/test_gem_security_signer.rb +8 -10
- data/test/rubygems/test_gem_security_trust_dir.rb +2 -4
- data/test/rubygems/test_gem_server.rb +10 -14
- data/test/rubygems/test_gem_silent_ui.rb +0 -2
- data/test/rubygems/test_gem_source.rb +12 -16
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
- data/test/rubygems/test_gem_source_git.rb +12 -13
- data/test/rubygems/test_gem_source_installed.rb +7 -9
- data/test/rubygems/test_gem_source_list.rb +1 -2
- data/test/rubygems/test_gem_source_local.rb +8 -10
- data/test/rubygems/test_gem_source_lock.rb +10 -12
- data/test/rubygems/test_gem_source_specific_file.rb +7 -9
- data/test/rubygems/test_gem_source_vendor.rb +7 -9
- data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
- data/test/rubygems/test_gem_specification.rb +179 -129
- data/test/rubygems/test_gem_stream_ui.rb +3 -3
- data/test/rubygems/test_gem_stub_specification.rb +4 -7
- data/test/rubygems/test_gem_text.rb +1 -3
- data/test/rubygems/test_gem_uninstaller.rb +133 -11
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
- data/test/rubygems/test_gem_uri_formatter.rb +0 -2
- data/test/rubygems/test_gem_util.rb +7 -7
- data/test/rubygems/test_gem_validator.rb +0 -2
- data/test/rubygems/test_gem_version.rb +1 -3
- data/test/rubygems/test_gem_version_option.rb +0 -2
- data/test/rubygems/test_kernel.rb +25 -10
- data/test/rubygems/test_project_sanity.rb +7 -2
- data/test/rubygems/test_remote_fetch_error.rb +0 -2
- data/test/rubygems/test_require.rb +241 -47
- metadata +59 -96
- data/.bundle/config +0 -2
- data/.rubocop.yml +0 -91
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -43
- data/bundler/CODE_OF_CONDUCT.md +0 -136
- data/bundler/man/bundle-add.1.txt +0 -58
- data/bundler/man/bundle-binstubs.1.txt +0 -48
- data/bundler/man/bundle-cache.1.txt +0 -78
- data/bundler/man/bundle-check.1.txt +0 -33
- data/bundler/man/bundle-clean.1.txt +0 -26
- data/bundler/man/bundle-config.1.txt +0 -528
- data/bundler/man/bundle-doctor.1.txt +0 -44
- data/bundler/man/bundle-exec.1.txt +0 -178
- data/bundler/man/bundle-gem.1.txt +0 -91
- data/bundler/man/bundle-info.1.txt +0 -21
- data/bundler/man/bundle-init.1.txt +0 -34
- data/bundler/man/bundle-inject.1.txt +0 -32
- data/bundler/man/bundle-install.1.txt +0 -401
- data/bundler/man/bundle-list.1.txt +0 -43
- data/bundler/man/bundle-lock.1.txt +0 -93
- data/bundler/man/bundle-open.1.txt +0 -29
- data/bundler/man/bundle-outdated.1.txt +0 -131
- data/bundler/man/bundle-platform.1.txt +0 -57
- data/bundler/man/bundle-pristine.1.txt +0 -44
- data/bundler/man/bundle-remove.1.txt +0 -34
- data/bundler/man/bundle-show.1.txt +0 -27
- data/bundler/man/bundle-update.1.txt +0 -390
- data/bundler/man/bundle-viz.1.txt +0 -39
- data/bundler/man/bundle.1.txt +0 -116
- data/bundler/man/gemfile.5.txt +0 -649
- data/bundler/man/index.txt +0 -25
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/ubygems.rb +0 -14
- data/tmp/.keep +0 -0
- data/util/CL2notes +0 -55
- data/util/bisect +0 -10
- data/util/ci.sh +0 -62
- data/util/cops/deprecations.rb +0 -52
- data/util/create_certs.rb +0 -171
- data/util/create_certs.sh +0 -27
- data/util/create_encrypted_key.rb +0 -16
- data/util/generate_spdx_license_list.rb +0 -63
- data/util/patch_with_prs.rb +0 -77
- data/util/rubocop +0 -8
- data/util/update_bundled_ca_certificates.rb +0 -139
- data/util/update_changelog.rb +0 -67
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/list_command'
|
4
4
|
|
5
5
|
class TestGemCommandsListCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -30,5 +29,4 @@ class TestGemCommandsListCommand < Gem::TestCase
|
|
30
29
|
assert_equal "true\n", @ui.output
|
31
30
|
assert_equal '', @ui.error
|
32
31
|
end
|
33
|
-
|
34
32
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/lock_command'
|
4
4
|
|
5
5
|
class TestGemCommandsLockCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -64,5 +63,4 @@ gem 'd', '= 1'
|
|
64
63
|
|
65
64
|
assert_equal 'Could not find gem c-1, try using the full name', e.message
|
66
65
|
end
|
67
|
-
|
68
66
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/mirror_command'
|
4
4
|
|
5
5
|
class TestGemCommandsMirrorCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -15,7 +14,6 @@ class TestGemCommandsMirrorCommand < Gem::TestCase
|
|
15
14
|
@cmd.execute
|
16
15
|
end
|
17
16
|
|
18
|
-
assert_match %r
|
17
|
+
assert_match %r{Install the rubygems-mirror}i, @ui.error
|
19
18
|
end
|
20
|
-
|
21
19
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/open_command'
|
4
4
|
|
5
5
|
class TestGemCommandsOpenCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -26,7 +25,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
|
|
26
25
|
|
27
26
|
gem 'foo', '1.0.0'
|
28
27
|
spec = gem 'foo', '1.0.1'
|
29
|
-
mock =
|
28
|
+
mock = Minitest::Mock.new
|
30
29
|
mock.expect(:call, true, [spec.full_gem_path])
|
31
30
|
|
32
31
|
Dir.stub(:chdir, mock) do
|
@@ -51,7 +50,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
|
|
51
50
|
end
|
52
51
|
end
|
53
52
|
|
54
|
-
assert_match %r
|
53
|
+
assert_match %r{Unable to find gem 'foo'}, @ui.output
|
55
54
|
assert_equal "", @ui.error
|
56
55
|
end
|
57
56
|
|
@@ -64,7 +63,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
|
|
64
63
|
end
|
65
64
|
end
|
66
65
|
|
67
|
-
assert_match %r
|
66
|
+
assert_match %r{Unable to find gem 'foo'}, @ui.output
|
68
67
|
assert_equal "", @ui.error
|
69
68
|
end
|
70
69
|
|
@@ -93,8 +92,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
|
|
93
92
|
end
|
94
93
|
end
|
95
94
|
|
96
|
-
assert_match %r
|
95
|
+
assert_match %r{'foo' is a default gem and can't be opened\.} , @ui.output
|
97
96
|
assert_equal "", @ui.error
|
98
97
|
end
|
99
|
-
|
100
98
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/outdated_command'
|
4
4
|
|
5
5
|
class TestGemCommandsOutdatedCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -29,5 +28,4 @@ class TestGemCommandsOutdatedCommand < Gem::TestCase
|
|
29
28
|
assert_equal "foo (0.2 < 2.0)\n", @ui.output
|
30
29
|
assert_equal "", @ui.error
|
31
30
|
end
|
32
|
-
|
33
31
|
end
|
@@ -3,10 +3,11 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/owner_command'
|
4
4
|
|
5
5
|
class TestGemCommandsOwnerCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
9
|
+
credential_setup
|
10
|
+
|
10
11
|
ENV["RUBYGEMS_HOST"] = nil
|
11
12
|
@stub_ui = Gem::MockGemUi.new
|
12
13
|
@stub_fetcher = Gem::FakeFetcher.new
|
@@ -17,6 +18,12 @@ class TestGemCommandsOwnerCommand < Gem::TestCase
|
|
17
18
|
@cmd = Gem::Commands::OwnerCommand.new
|
18
19
|
end
|
19
20
|
|
21
|
+
def teardown
|
22
|
+
credential_teardown
|
23
|
+
|
24
|
+
super
|
25
|
+
end
|
26
|
+
|
20
27
|
def test_show_owners
|
21
28
|
response = <<EOF
|
22
29
|
---
|
@@ -119,7 +126,7 @@ EOF
|
|
119
126
|
end
|
120
127
|
Gem.configuration.load_api_keys
|
121
128
|
|
122
|
-
@cmd.handle_options %w
|
129
|
+
@cmd.handle_options %w[-k other]
|
123
130
|
@cmd.show_owners('freewill')
|
124
131
|
|
125
132
|
assert_equal '701229f217cdf23b1344c7b4b54ca97', @stub_fetcher.last_request['Authorization']
|
@@ -177,7 +184,7 @@ EOF
|
|
177
184
|
end
|
178
185
|
Gem.configuration.load_api_keys
|
179
186
|
|
180
|
-
@cmd.handle_options %w
|
187
|
+
@cmd.handle_options %w[-k other]
|
181
188
|
@cmd.add_owners('freewill', ['user-new1@example.com'])
|
182
189
|
|
183
190
|
assert_equal '701229f217cdf23b1344c7b4b54ca97', @stub_fetcher.last_request['Authorization']
|
@@ -217,7 +224,7 @@ EOF
|
|
217
224
|
end
|
218
225
|
Gem.configuration.load_api_keys
|
219
226
|
|
220
|
-
@cmd.handle_options %w
|
227
|
+
@cmd.handle_options %w[-k other]
|
221
228
|
@cmd.remove_owners('freewill', ['user-remove1@example.com'])
|
222
229
|
|
223
230
|
assert_equal '701229f217cdf23b1344c7b4b54ca97', @stub_fetcher.last_request['Authorization']
|
@@ -268,5 +275,4 @@ EOF
|
|
268
275
|
assert_match 'Code: ', @otp_ui.output
|
269
276
|
assert_equal '111111', @stub_fetcher.last_request['OTP']
|
270
277
|
end
|
271
|
-
|
272
278
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/pristine_command'
|
4
4
|
|
5
5
|
class TestGemCommandsPristineCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
common_installer_setup
|
@@ -160,11 +159,9 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
160
159
|
|
161
160
|
ruby_exec = sprintf Gem.default_exec_format, 'ruby'
|
162
161
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
assert_match %r%\A#!\s*/usr/bin/env #{ruby_exec}%, File.read(gem_exec)
|
167
|
-
end
|
162
|
+
bin_env = win_platform? ? "" : %w[/usr/bin/env /bin/env].find {|f| File.executable?(f) } + " "
|
163
|
+
|
164
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(gem_exec)
|
168
165
|
end
|
169
166
|
|
170
167
|
def test_execute_extensions_explicit
|
@@ -215,7 +212,6 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
215
212
|
io.write "# extconf.rb\nrequire 'mkmf'; create_makefile 'a'"
|
216
213
|
end
|
217
214
|
|
218
|
-
util_build_gem a
|
219
215
|
install_gem a
|
220
216
|
|
221
217
|
@cmd.options[:args] = %w[a]
|
@@ -249,7 +245,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
249
245
|
RUBY
|
250
246
|
end
|
251
247
|
|
252
|
-
build_args = %w
|
248
|
+
build_args = %w[--with-awesome=true --sweet]
|
253
249
|
|
254
250
|
install_gem a, :build_args => build_args
|
255
251
|
|
@@ -458,7 +454,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
458
454
|
end
|
459
455
|
end
|
460
456
|
|
461
|
-
assert_match %r
|
457
|
+
assert_match %r{at least one gem name}, e.message
|
462
458
|
end
|
463
459
|
|
464
460
|
def test_execute_only_executables
|
@@ -491,6 +487,42 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
491
487
|
refute File.exist? gem_lib
|
492
488
|
end
|
493
489
|
|
490
|
+
def test_execute_only_plugins
|
491
|
+
a = util_spec 'a' do |s|
|
492
|
+
s.executables = %w[foo]
|
493
|
+
s.files = %w[bin/foo lib/a.rb lib/rubygems_plugin.rb]
|
494
|
+
end
|
495
|
+
write_file File.join(@tempdir, 'lib', 'a.rb') do |fp|
|
496
|
+
fp.puts "puts __FILE__"
|
497
|
+
end
|
498
|
+
write_file File.join(@tempdir, 'lib', 'rubygems_plugin.rb') do |fp|
|
499
|
+
fp.puts "puts __FILE__"
|
500
|
+
end
|
501
|
+
write_file File.join(@tempdir, 'bin', 'foo') do |fp|
|
502
|
+
fp.puts "#!/usr/bin/ruby"
|
503
|
+
end
|
504
|
+
|
505
|
+
install_gem a
|
506
|
+
|
507
|
+
gem_lib = File.join @gemhome, 'gems', a.full_name, 'lib', 'a.rb'
|
508
|
+
gem_plugin = File.join @gemhome, 'plugins', 'a_plugin.rb'
|
509
|
+
gem_exec = File.join @gemhome, 'bin', 'foo'
|
510
|
+
|
511
|
+
FileUtils.rm gem_exec
|
512
|
+
FileUtils.rm gem_plugin
|
513
|
+
FileUtils.rm gem_lib
|
514
|
+
|
515
|
+
@cmd.handle_options %w[--all --only-plugins]
|
516
|
+
|
517
|
+
use_ui @ui do
|
518
|
+
@cmd.execute
|
519
|
+
end
|
520
|
+
|
521
|
+
refute File.exist? gem_exec
|
522
|
+
assert File.exist? gem_plugin
|
523
|
+
refute File.exist? gem_lib
|
524
|
+
end
|
525
|
+
|
494
526
|
def test_execute_bindir
|
495
527
|
a = util_spec 'a' do |s|
|
496
528
|
s.name = "test_gem"
|
@@ -623,5 +655,4 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
623
655
|
assert @cmd.options[:extensions]
|
624
656
|
assert @cmd.options[:extensions_set]
|
625
657
|
end
|
626
|
-
|
627
658
|
end
|
@@ -3,9 +3,11 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/push_command'
|
4
4
|
|
5
5
|
class TestGemCommandsPushCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
8
|
+
|
9
|
+
credential_setup
|
10
|
+
|
9
11
|
ENV["RUBYGEMS_HOST"] = nil
|
10
12
|
Gem.host = Gem::DEFAULT_HOST
|
11
13
|
Gem.configuration.disable_default_gem_server = false
|
@@ -37,6 +39,8 @@ class TestGemCommandsPushCommand < Gem::TestCase
|
|
37
39
|
end
|
38
40
|
|
39
41
|
def teardown
|
42
|
+
credential_teardown
|
43
|
+
|
40
44
|
super
|
41
45
|
|
42
46
|
singleton_gem_class.class_eval do
|
@@ -246,7 +250,7 @@ class TestGemCommandsPushCommand < Gem::TestCase
|
|
246
250
|
spec.metadata['allowed_push_host'] = "https://privategemserver.example"
|
247
251
|
end
|
248
252
|
|
249
|
-
response = %
|
253
|
+
response = %(ERROR: "#{@host}" is not allowed by the gemspec, which only allows "https://privategemserver.example")
|
250
254
|
|
251
255
|
assert_raises Gem::MockGemUi::TermError do
|
252
256
|
send_battery
|
@@ -355,7 +359,7 @@ class TestGemCommandsPushCommand < Gem::TestCase
|
|
355
359
|
end
|
356
360
|
Gem.configuration.load_api_keys
|
357
361
|
|
358
|
-
@cmd.handle_options %w
|
362
|
+
@cmd.handle_options %w[-k other]
|
359
363
|
@cmd.instance_variable_set :@host, @host
|
360
364
|
@cmd.send_gem(@path)
|
361
365
|
|
@@ -405,5 +409,4 @@ class TestGemCommandsPushCommand < Gem::TestCase
|
|
405
409
|
def singleton_gem_class
|
406
410
|
class << Gem; self; end
|
407
411
|
end
|
408
|
-
|
409
412
|
end
|
@@ -19,7 +19,6 @@ module TestGemCommandsQueryCommandSetup
|
|
19
19
|
end
|
20
20
|
|
21
21
|
class TestGemCommandsQueryCommandWithInstalledGems < Gem::TestCase
|
22
|
-
|
23
22
|
include TestGemCommandsQueryCommandSetup
|
24
23
|
|
25
24
|
def test_execute
|
@@ -580,8 +579,8 @@ pl (1 i386-linux)
|
|
580
579
|
@cmd.execute
|
581
580
|
end
|
582
581
|
|
583
|
-
assert_match %r
|
584
|
-
assert_match %r
|
582
|
+
assert_match %r{^a }, @stub_ui.output
|
583
|
+
assert_match %r{^pl }, @stub_ui.output
|
585
584
|
assert_equal '', @stub_ui.error
|
586
585
|
end
|
587
586
|
|
@@ -593,8 +592,8 @@ pl (1 i386-linux)
|
|
593
592
|
@cmd.send :show_gems, /a/i
|
594
593
|
end
|
595
594
|
|
596
|
-
assert_match %r
|
597
|
-
refute_match %r
|
595
|
+
assert_match %r{^a }, @stub_ui.output
|
596
|
+
refute_match %r{^pl }, @stub_ui.output
|
598
597
|
assert_empty @stub_ui.error
|
599
598
|
end
|
600
599
|
|
@@ -607,11 +606,9 @@ pl (1 i386-linux)
|
|
607
606
|
fetcher.spec 'a', '3.a'
|
608
607
|
end
|
609
608
|
end
|
610
|
-
|
611
609
|
end
|
612
610
|
|
613
611
|
class TestGemCommandsQueryCommandWithoutInstalledGems < Gem::TestCase
|
614
|
-
|
615
612
|
include TestGemCommandsQueryCommandSetup
|
616
613
|
|
617
614
|
def test_execute_platform
|
@@ -644,7 +641,7 @@ a (2 universal-darwin, 1 ruby x86-linux)
|
|
644
641
|
end
|
645
642
|
|
646
643
|
def test_execute_show_default_gems
|
647
|
-
spec_fetcher {
|
644
|
+
spec_fetcher {|fetcher| fetcher.spec 'a', 2 }
|
648
645
|
|
649
646
|
a1 = new_default_spec 'a', 1
|
650
647
|
install_default_specs a1
|
@@ -844,6 +841,10 @@ othergem (1.2.3)
|
|
844
841
|
assert_equal expected, @stub_ui.output
|
845
842
|
end
|
846
843
|
|
844
|
+
def test_depprecated
|
845
|
+
assert @cmd.deprecated?
|
846
|
+
end
|
847
|
+
|
847
848
|
private
|
848
849
|
|
849
850
|
def add_gems_to_fetcher
|
@@ -853,5 +854,4 @@ othergem (1.2.3)
|
|
853
854
|
fetcher.download 'a', '3.a'
|
854
855
|
end
|
855
856
|
end
|
856
|
-
|
857
857
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/search_command'
|
4
4
|
|
5
5
|
class TestGemCommandsSearchCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -13,5 +12,4 @@ class TestGemCommandsSearchCommand < Gem::TestCase
|
|
13
12
|
def test_initialize
|
14
13
|
assert_equal :remote, @cmd.defaults[:domain]
|
15
14
|
end
|
16
|
-
|
17
15
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/server_command'
|
4
4
|
|
5
5
|
class TestGemCommandsServerCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -59,5 +58,4 @@ class TestGemCommandsServerCommand < Gem::TestCase
|
|
59
58
|
assert_equal 'invalid argument: -p 65536: not a port number',
|
60
59
|
e.message
|
61
60
|
end
|
62
|
-
|
63
61
|
end
|
@@ -1,11 +1,9 @@
|
|
1
|
-
# coding: UTF-8
|
2
1
|
# frozen_string_literal: true
|
3
2
|
|
4
3
|
require 'rubygems/test_case'
|
5
4
|
require 'rubygems/commands/setup_command'
|
6
5
|
|
7
6
|
class TestGemCommandsSetupCommand < Gem::TestCase
|
8
|
-
|
9
7
|
bundler_gemspec = File.expand_path("../../../bundler/lib/bundler/version.rb", __FILE__)
|
10
8
|
if File.exist?(bundler_gemspec)
|
11
9
|
BUNDLER_VERS = File.read(bundler_gemspec).match(/VERSION = "(#{Gem::Version::VERSION_PATTERN})"/)[1]
|
@@ -20,41 +18,23 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
20
18
|
@cmd = Gem::Commands::SetupCommand.new
|
21
19
|
@cmd.options[:prefix] = @install_dir
|
22
20
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
FileUtils.mkdir_p 'bundler/exe'
|
43
|
-
FileUtils.mkdir_p 'bundler/lib/bundler'
|
44
|
-
|
45
|
-
File.open 'bundler/exe/bundle', 'w' do |io|
|
46
|
-
io.puts '# bundle'
|
47
|
-
end
|
48
|
-
|
49
|
-
File.open 'bundler/lib/bundler.rb', 'w' do |io|
|
50
|
-
io.puts '# bundler.rb'
|
51
|
-
end
|
52
|
-
|
53
|
-
File.open 'bundler/lib/bundler/b.rb', 'w' do |io|
|
54
|
-
io.puts '# b.rb'
|
55
|
-
end
|
56
|
-
|
57
|
-
FileUtils.mkdir_p 'default/gems'
|
21
|
+
filelist = %w[
|
22
|
+
bin/gem
|
23
|
+
lib/rubygems.rb
|
24
|
+
lib/rubygems/test_case.rb
|
25
|
+
lib/rubygems/ssl_certs/rubygems.org/foo.pem
|
26
|
+
bundler/exe/bundle
|
27
|
+
bundler/lib/bundler.rb
|
28
|
+
bundler/lib/bundler/b.rb
|
29
|
+
bundler/lib/bundler/templates/.circleci/config.yml
|
30
|
+
bundler/lib/bundler/templates/.travis.yml
|
31
|
+
bundler/man/bundle-b.1
|
32
|
+
bundler/man/bundle-b.1.ronn
|
33
|
+
bundler/man/gemfile.5
|
34
|
+
bundler/man/gemfile.5.ronn
|
35
|
+
]
|
36
|
+
|
37
|
+
create_dummy_files(filelist)
|
58
38
|
|
59
39
|
gemspec = Gem::Specification.new
|
60
40
|
gemspec.author = "Us"
|
@@ -63,7 +43,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
63
43
|
gemspec.bindir = "exe"
|
64
44
|
gemspec.executables = ["bundle"]
|
65
45
|
|
66
|
-
File.open 'bundler/bundler.gemspec',
|
46
|
+
File.open 'bundler/bundler.gemspec', 'w' do |io|
|
67
47
|
io.puts gemspec.to_ruby
|
68
48
|
end
|
69
49
|
|
@@ -72,30 +52,13 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
72
52
|
io.puts gemspec.to_ruby
|
73
53
|
end
|
74
54
|
|
75
|
-
|
55
|
+
spec_fetcher do |fetcher|
|
56
|
+
fetcher.download "bundler", "1.15.4"
|
76
57
|
|
77
|
-
|
78
|
-
io.puts "# bundler-#{BUNDLER_VERS}"
|
79
|
-
end
|
80
|
-
|
81
|
-
open(File.join(Gem.default_dir, "specifications", "bundler-audit-1.0.0.gemspec"), 'w') do |io|
|
82
|
-
io.puts '# bundler-audit'
|
83
|
-
end
|
84
|
-
|
85
|
-
FileUtils.mkdir_p 'default/gems/bundler-1.15.4'
|
86
|
-
FileUtils.mkdir_p 'default/gems/bundler-audit-1.0.0'
|
87
|
-
end
|
58
|
+
fetcher.gem "bundler", BUNDLER_VERS
|
88
59
|
|
89
|
-
|
90
|
-
gem = util_spec name do |s|
|
91
|
-
s.executables = [name]
|
92
|
-
s.files = %W[bin/#{name}]
|
93
|
-
end
|
94
|
-
write_file File.join @tempdir, 'bin', name do |f|
|
95
|
-
f.puts '#!/usr/bin/ruby'
|
60
|
+
fetcher.gem "bundler-audit", "1.0.0"
|
96
61
|
end
|
97
|
-
install_gem gem
|
98
|
-
File.join @gemhome, 'bin', name
|
99
62
|
end
|
100
63
|
|
101
64
|
def test_execute_regenerate_binstubs
|
@@ -123,6 +86,57 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
123
86
|
assert_equal "I changed it!\n", File.read(gem_bin_path)
|
124
87
|
end
|
125
88
|
|
89
|
+
def test_execute_regenerate_plugins
|
90
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
91
|
+
write_file gem_plugin_path do |io|
|
92
|
+
io.puts 'I changed it!'
|
93
|
+
end
|
94
|
+
|
95
|
+
@cmd.options[:document] = []
|
96
|
+
@cmd.execute
|
97
|
+
|
98
|
+
assert_match %r{\Arequire}, File.read(gem_plugin_path)
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_execute_no_regenerate_plugins
|
102
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
103
|
+
write_file gem_plugin_path do |io|
|
104
|
+
io.puts 'I changed it!'
|
105
|
+
end
|
106
|
+
|
107
|
+
@cmd.options[:document] = []
|
108
|
+
@cmd.options[:regenerate_plugins] = false
|
109
|
+
@cmd.execute
|
110
|
+
|
111
|
+
assert_equal "I changed it!\n", File.read(gem_plugin_path)
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_execute_regenerate_plugins_creates_plugins_dir_if_not_there
|
115
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
116
|
+
|
117
|
+
# Simulate gem installed with an older rubygems without a plugins layout
|
118
|
+
FileUtils.rm_rf Gem.plugindir
|
119
|
+
|
120
|
+
@cmd.options[:document] = []
|
121
|
+
@cmd.execute
|
122
|
+
|
123
|
+
assert_match %r{\Arequire}, File.read(gem_plugin_path)
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_execute_informs_about_installed_executables
|
127
|
+
@cmd.options[:document] = []
|
128
|
+
|
129
|
+
use_ui @ui do
|
130
|
+
@cmd.execute
|
131
|
+
end
|
132
|
+
|
133
|
+
out = @ui.output.split "\n"
|
134
|
+
|
135
|
+
exec_line = out.shift until exec_line == "RubyGems installed the following executables:"
|
136
|
+
assert_equal "\t#{default_gem_bin_path}", out.shift
|
137
|
+
assert_equal "\t#{default_bundle_bin_path}", out.shift
|
138
|
+
end
|
139
|
+
|
126
140
|
def test_env_shebang_flag
|
127
141
|
gem_bin_path = gem_install 'a'
|
128
142
|
write_file gem_bin_path do |io|
|
@@ -133,21 +147,12 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
133
147
|
@cmd.options[:env_shebang] = true
|
134
148
|
@cmd.execute
|
135
149
|
|
136
|
-
gem_exec = sprintf Gem.default_exec_format, 'gem'
|
137
|
-
default_gem_bin_path = File.join @install_dir, 'bin', gem_exec
|
138
|
-
bundle_exec = sprintf Gem.default_exec_format, 'bundle'
|
139
|
-
default_bundle_bin_path = File.join @install_dir, 'bin', bundle_exec
|
140
150
|
ruby_exec = sprintf Gem.default_exec_format, 'ruby'
|
141
151
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
else
|
147
|
-
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_gem_bin_path)
|
148
|
-
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_bundle_bin_path)
|
149
|
-
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(gem_bin_path)
|
150
|
-
end
|
152
|
+
bin_env = win_platform? ? "" : %w[/usr/bin/env /bin/env].find {|f| File.executable?(f) } + " "
|
153
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(default_gem_bin_path)
|
154
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(default_bundle_bin_path)
|
155
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(gem_bin_path)
|
151
156
|
end
|
152
157
|
|
153
158
|
def test_pem_files_in
|
@@ -160,6 +165,16 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
160
165
|
@cmd.rb_files_in('lib').sort
|
161
166
|
end
|
162
167
|
|
168
|
+
def test_bundler_man1_files_in
|
169
|
+
assert_equal %w[bundle-b.1 bundle-b.1.ronn],
|
170
|
+
@cmd.bundler_man1_files_in('bundler/man').sort
|
171
|
+
end
|
172
|
+
|
173
|
+
def test_bundler_man5_files_in
|
174
|
+
assert_equal %w[gemfile.5 gemfile.5.ronn],
|
175
|
+
@cmd.bundler_man5_files_in('bundler/man').sort
|
176
|
+
end
|
177
|
+
|
163
178
|
def test_install_lib
|
164
179
|
@cmd.extend FileUtils
|
165
180
|
|
@@ -171,6 +186,22 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
171
186
|
|
172
187
|
assert_path_exists File.join(dir, 'bundler.rb')
|
173
188
|
assert_path_exists File.join(dir, 'bundler/b.rb')
|
189
|
+
|
190
|
+
assert_path_exists File.join(dir, 'bundler/templates/.circleci/config.yml')
|
191
|
+
assert_path_exists File.join(dir, 'bundler/templates/.travis.yml')
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_install_man
|
196
|
+
@cmd.extend FileUtils
|
197
|
+
|
198
|
+
Dir.mktmpdir 'man' do |dir|
|
199
|
+
@cmd.install_man dir
|
200
|
+
|
201
|
+
assert_path_exists File.join("#{dir}/man1", 'bundle-b.1')
|
202
|
+
assert_path_exists File.join("#{dir}/man1", 'bundle-b.1.ronn')
|
203
|
+
assert_path_exists File.join("#{dir}/man5", 'gemfile.5')
|
204
|
+
assert_path_exists File.join("#{dir}/man5", 'gemfile.5.ronn')
|
174
205
|
end
|
175
206
|
end
|
176
207
|
|
@@ -189,7 +220,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
189
220
|
assert_path_exists File.join(bin_dir, "#{e}.bat")
|
190
221
|
end
|
191
222
|
|
192
|
-
assert_path_exists File.join bin_dir,
|
223
|
+
assert_path_exists File.join bin_dir, e
|
193
224
|
end
|
194
225
|
|
195
226
|
default_dir = Gem.default_specifications_dir
|
@@ -199,21 +230,45 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
199
230
|
assert_path_exists File.join(default_dir, "bundler-#{BUNDLER_VERS}.gemspec")
|
200
231
|
|
201
232
|
# expect to not remove bundler-* gemspecs.
|
202
|
-
assert_path_exists File.join(Gem.
|
233
|
+
assert_path_exists File.join(Gem.dir, "specifications", "bundler-audit-1.0.0.gemspec")
|
203
234
|
|
204
235
|
# expect to remove normal gem that was same version. because it's promoted default gems.
|
205
|
-
refute_path_exists File.join(Gem.
|
236
|
+
refute_path_exists File.join(Gem.dir, "specifications", "bundler-#{BUNDLER_VERS}.gemspec")
|
237
|
+
|
238
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-#{BUNDLER_VERS}"
|
239
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-1.15.4"
|
240
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-audit-1.0.0"
|
241
|
+
end
|
242
|
+
|
243
|
+
def test_install_default_bundler_gem_with_force_flag
|
244
|
+
@cmd.extend FileUtils
|
245
|
+
|
246
|
+
bin_dir = File.join(@gemhome, 'bin')
|
247
|
+
bundle_bin = File.join(bin_dir, 'bundle')
|
248
|
+
|
249
|
+
write_file bundle_bin do |f|
|
250
|
+
f.puts '#!/usr/bin/ruby'
|
251
|
+
f.puts ''
|
252
|
+
f.puts 'echo "hello"'
|
253
|
+
end
|
206
254
|
|
207
|
-
|
208
|
-
|
255
|
+
bindir(bin_dir) do
|
256
|
+
@cmd.options[:force] = true
|
209
257
|
|
210
|
-
|
211
|
-
assert_path_exists 'default/gems/bundler-1.15.4'
|
258
|
+
@cmd.install_default_bundler_gem bin_dir
|
212
259
|
|
213
|
-
|
260
|
+
bundler_spec = Gem::Specification.load("bundler/bundler.gemspec")
|
261
|
+
default_spec_path = File.join(Gem.default_specifications_dir, "#{bundler_spec.full_name}.gemspec")
|
262
|
+
spec = Gem::Specification.load(default_spec_path)
|
214
263
|
|
215
|
-
|
216
|
-
|
264
|
+
spec.executables.each do |e|
|
265
|
+
if Gem.win_platform?
|
266
|
+
assert_path_exists File.join(bin_dir, "#{e}.bat")
|
267
|
+
end
|
268
|
+
|
269
|
+
assert_path_exists File.join bin_dir, e
|
270
|
+
end
|
271
|
+
end
|
217
272
|
end
|
218
273
|
|
219
274
|
def test_remove_old_lib_files
|
@@ -221,52 +276,53 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
221
276
|
lib_rubygems = File.join lib, 'rubygems'
|
222
277
|
lib_bundler = File.join lib, 'bundler'
|
223
278
|
lib_rubygems_defaults = File.join lib_rubygems, 'defaults'
|
279
|
+
lib_bundler_templates = File.join lib_bundler, 'templates'
|
224
280
|
|
225
281
|
securerandom_rb = File.join lib, 'securerandom.rb'
|
226
282
|
|
227
283
|
engine_defaults_rb = File.join lib_rubygems_defaults, 'jruby.rb'
|
228
284
|
os_defaults_rb = File.join lib_rubygems_defaults, 'operating_system.rb'
|
229
285
|
|
286
|
+
old_gauntlet_rubygems_rb = File.join lib, 'gauntlet_rubygems.rb'
|
287
|
+
|
230
288
|
old_builder_rb = File.join lib_rubygems, 'builder.rb'
|
231
289
|
old_format_rb = File.join lib_rubygems, 'format.rb'
|
232
290
|
old_bundler_c_rb = File.join lib_bundler, 'c.rb'
|
291
|
+
old_bundler_ci = File.join lib_bundler_templates, '.lecacy_ci', 'config.yml'
|
233
292
|
|
234
|
-
|
235
|
-
|
293
|
+
files_that_go = [old_gauntlet_rubygems_rb, old_builder_rb, old_format_rb, old_bundler_c_rb, old_bundler_ci]
|
294
|
+
files_that_stay = [securerandom_rb, engine_defaults_rb, os_defaults_rb]
|
236
295
|
|
237
|
-
|
238
|
-
io.puts '# securerandom.rb'
|
239
|
-
end
|
296
|
+
create_dummy_files(files_that_go + files_that_stay)
|
240
297
|
|
241
|
-
|
242
|
-
io.puts '# builder.rb'
|
243
|
-
end
|
298
|
+
@cmd.remove_old_lib_files lib
|
244
299
|
|
245
|
-
|
246
|
-
io.puts '# format.rb'
|
247
|
-
end
|
300
|
+
files_that_go.each {|file| refute_path_exists file }
|
248
301
|
|
249
|
-
|
250
|
-
|
251
|
-
end
|
302
|
+
files_that_stay.each {|file| assert_path_exists file }
|
303
|
+
end
|
252
304
|
|
253
|
-
|
254
|
-
|
255
|
-
end
|
305
|
+
def test_remove_old_man_files
|
306
|
+
man = File.join @install_dir, 'man'
|
256
307
|
|
257
|
-
File.
|
258
|
-
|
259
|
-
|
308
|
+
ruby_1 = File.join man, 'man1', 'ruby.1'
|
309
|
+
bundle_b_1 = File.join man, 'man1', 'bundle-b.1'
|
310
|
+
bundle_b_1_ronn = File.join man, 'man1', 'bundle-b.1.ronn'
|
311
|
+
bundle_b_1_txt = File.join man, 'man1', 'bundle-b.1.txt'
|
312
|
+
gemfile_5 = File.join man, 'man5', 'gemfile.5'
|
313
|
+
gemfile_5_ronn = File.join man, 'man5', 'gemfile.5.ronn'
|
314
|
+
gemfile_5_txt = File.join man, 'man5', 'gemfile.5.txt'
|
260
315
|
|
261
|
-
|
316
|
+
files_that_go = [bundle_b_1_txt, gemfile_5_txt]
|
317
|
+
files_that_stay = [ruby_1, bundle_b_1, bundle_b_1_ronn, gemfile_5, gemfile_5_ronn]
|
318
|
+
|
319
|
+
create_dummy_files(files_that_go + files_that_stay)
|
262
320
|
|
263
|
-
|
264
|
-
refute_path_exists old_format_rb
|
265
|
-
refute_path_exists old_bundler_c_rb
|
321
|
+
@cmd.remove_old_man_files man
|
266
322
|
|
267
|
-
|
268
|
-
|
269
|
-
assert_path_exists
|
323
|
+
files_that_go.each {|file| refute_path_exists file }
|
324
|
+
|
325
|
+
files_that_stay.each {|file| assert_path_exists file }
|
270
326
|
end
|
271
327
|
|
272
328
|
def test_show_release_notes
|
@@ -276,9 +332,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
276
332
|
@cmd.options[:previous_version] = Gem::Version.new '2.0.2'
|
277
333
|
|
278
334
|
File.open 'History.txt', 'w' do |io|
|
279
|
-
io.puts <<-
|
280
|
-
# coding: UTF-8
|
281
|
-
|
335
|
+
io.puts <<-HISTORY_TXT
|
282
336
|
=== #{Gem::VERSION} / 2013-03-26
|
283
337
|
|
284
338
|
* Bug fixes:
|
@@ -294,7 +348,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
294
348
|
|
295
349
|
* Bug fixes:
|
296
350
|
* Yet more bugs fixed
|
297
|
-
|
351
|
+
HISTORY_TXT
|
298
352
|
end
|
299
353
|
|
300
354
|
use_ui @ui do
|
@@ -308,11 +362,6 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
308
362
|
* Fixed release note display for LANG=C when installing rubygems
|
309
363
|
* π is tasty
|
310
364
|
|
311
|
-
=== 2.0.2 / 2013-03-06
|
312
|
-
|
313
|
-
* Bug fixes:
|
314
|
-
* Other bugs fixed
|
315
|
-
|
316
365
|
EXPECTED
|
317
366
|
|
318
367
|
output = @ui.output
|
@@ -323,4 +372,47 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
323
372
|
@ui.outs.set_encoding @default_external if @default_external
|
324
373
|
end
|
325
374
|
|
375
|
+
private
|
376
|
+
|
377
|
+
def create_dummy_files(list)
|
378
|
+
list.each do |file|
|
379
|
+
FileUtils.mkdir_p File.dirname(file)
|
380
|
+
|
381
|
+
File.open file, 'w' do |io|
|
382
|
+
io.puts "# #{File.basename(file)}"
|
383
|
+
end
|
384
|
+
end
|
385
|
+
end
|
386
|
+
|
387
|
+
def gem_install(name)
|
388
|
+
gem = util_spec name do |s|
|
389
|
+
s.executables = [name]
|
390
|
+
s.files = %W[bin/#{name}]
|
391
|
+
end
|
392
|
+
write_file File.join @tempdir, 'bin', name do |f|
|
393
|
+
f.puts '#!/usr/bin/ruby'
|
394
|
+
end
|
395
|
+
install_gem gem
|
396
|
+
File.join @gemhome, 'bin', name
|
397
|
+
end
|
398
|
+
|
399
|
+
def gem_install_with_plugin(name)
|
400
|
+
gem = util_spec name do |s|
|
401
|
+
s.files = %W[lib/rubygems_plugin.rb]
|
402
|
+
end
|
403
|
+
write_file File.join @tempdir, 'lib', 'rubygems_plugin.rb' do |f|
|
404
|
+
f.puts "require '#{gem.plugins.first}'"
|
405
|
+
end
|
406
|
+
install_gem gem
|
407
|
+
|
408
|
+
File.join Gem.plugindir, "#{name}_plugin.rb"
|
409
|
+
end
|
410
|
+
|
411
|
+
def default_gem_bin_path
|
412
|
+
File.join @install_dir, 'bin', 'gem'
|
413
|
+
end
|
414
|
+
|
415
|
+
def default_bundle_bin_path
|
416
|
+
File.join @install_dir, 'bin', 'bundle'
|
417
|
+
end
|
326
418
|
end unless Gem.java_platform?
|