rubygems-update 3.3.18 → 3.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +65 -0
- data/Manifest.txt +11 -0
- data/bin/gem +2 -2
- data/bin/update_rubygems +4 -4
- data/bundler/CHANGELOG.md +100 -0
- data/bundler/UPGRADING.md +11 -4
- data/bundler/bundler.gemspec +6 -8
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/common.rb +1 -0
- data/bundler/lib/bundler/cli/install.rb +5 -2
- data/bundler/lib/bundler/cli/outdated.rb +12 -3
- data/bundler/lib/bundler/cli/platform.rb +1 -1
- data/bundler/lib/bundler/cli.rb +7 -4
- data/bundler/lib/bundler/current_ruby.rb +14 -5
- data/bundler/lib/bundler/definition.rb +102 -31
- data/bundler/lib/bundler/dependency.rb +18 -85
- data/bundler/lib/bundler/dsl.rb +2 -2
- data/bundler/lib/bundler/endpoint_specification.rb +2 -13
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher.rb +6 -6
- data/bundler/lib/bundler/gem_helpers.rb +7 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
- data/bundler/lib/bundler/index.rb +10 -12
- data/bundler/lib/bundler/injector.rb +2 -1
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer/standalone.rb +1 -1
- data/bundler/lib/bundler/installer.rb +14 -12
- data/bundler/lib/bundler/lazy_specification.rb +30 -23
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/man/bundle-add.1 +6 -2
- data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
- data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +25 -6
- data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
- data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
- data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
- data/bundler/lib/bundler/man/bundle-install.1 +5 -1
- data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
- data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
- data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
- data/bundler/lib/bundler/man/bundle.1 +15 -10
- data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
- data/bundler/lib/bundler/man/gemfile.5 +23 -47
- data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
- data/bundler/lib/bundler/man/index.txt +4 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/plugin.rb +2 -0
- data/bundler/lib/bundler/remote_specification.rb +6 -11
- data/bundler/lib/bundler/resolver/base.rb +50 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
- data/bundler/lib/bundler/resolver.rb +95 -90
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +5 -5
- data/bundler/lib/bundler/rubygems_ext.rb +52 -1
- data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
- data/bundler/lib/bundler/settings.rb +1 -1
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +4 -0
- data/bundler/lib/bundler/spec_set.rb +48 -33
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +3 -3
- data/lib/rubygems/available_set.rb +3 -3
- data/lib/rubygems/basic_specification.rb +4 -4
- data/lib/rubygems/command.rb +25 -25
- data/lib/rubygems/command_manager.rb +9 -9
- data/lib/rubygems/commands/build_command.rb +8 -8
- data/lib/rubygems/commands/cert_command.rb +33 -33
- data/lib/rubygems/commands/check_command.rb +20 -20
- data/lib/rubygems/commands/cleanup_command.rb +17 -17
- data/lib/rubygems/commands/contents_command.rb +13 -13
- data/lib/rubygems/commands/dependency_command.rb +16 -16
- data/lib/rubygems/commands/environment_command.rb +5 -5
- data/lib/rubygems/commands/fetch_command.rb +8 -8
- data/lib/rubygems/commands/generate_index_command.rb +17 -17
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/commands/info_command.rb +3 -3
- data/lib/rubygems/commands/install_command.rb +20 -20
- data/lib/rubygems/commands/list_command.rb +3 -3
- data/lib/rubygems/commands/lock_command.rb +4 -4
- data/lib/rubygems/commands/mirror_command.rb +3 -3
- data/lib/rubygems/commands/open_command.rb +9 -9
- data/lib/rubygems/commands/outdated_command.rb +5 -5
- data/lib/rubygems/commands/owner_command.rb +11 -11
- data/lib/rubygems/commands/pristine_command.rb +36 -36
- data/lib/rubygems/commands/push_command.rb +8 -8
- data/lib/rubygems/commands/query_command.rb +8 -8
- data/lib/rubygems/commands/rdoc_command.rb +17 -17
- data/lib/rubygems/commands/search_command.rb +3 -3
- data/lib/rubygems/commands/server_command.rb +3 -3
- data/lib/rubygems/commands/setup_command.rb +96 -106
- data/lib/rubygems/commands/signin_command.rb +9 -9
- data/lib/rubygems/commands/signout_command.rb +7 -7
- data/lib/rubygems/commands/sources_command.rb +21 -21
- data/lib/rubygems/commands/specification_command.rb +13 -13
- data/lib/rubygems/commands/stale_command.rb +2 -2
- data/lib/rubygems/commands/uninstall_command.rb +40 -40
- data/lib/rubygems/commands/unpack_command.rb +12 -12
- data/lib/rubygems/commands/update_command.rb +40 -56
- data/lib/rubygems/commands/which_command.rb +7 -7
- data/lib/rubygems/commands/yank_command.rb +11 -11
- data/lib/rubygems/config_file.rb +21 -21
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +1 -1
- data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
- data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
- data/lib/rubygems/defaults.rb +16 -16
- data/lib/rubygems/dependency.rb +9 -9
- data/lib/rubygems/dependency_installer.rb +13 -13
- data/lib/rubygems/dependency_list.rb +6 -6
- data/lib/rubygems/doctor.rb +18 -18
- data/lib/rubygems/errors.rb +2 -2
- data/lib/rubygems/exceptions.rb +5 -5
- data/lib/rubygems/ext/build_error.rb +1 -1
- data/lib/rubygems/ext/builder.rb +16 -16
- data/lib/rubygems/ext/cargo_builder.rb +7 -7
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
- data/lib/rubygems/ext/rake_builder.rb +3 -3
- data/lib/rubygems/ext.rb +7 -7
- data/lib/rubygems/gem_runner.rb +5 -5
- data/lib/rubygems/gemcutter_utilities.rb +31 -28
- data/lib/rubygems/indexer.rb +27 -27
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +55 -55
- data/lib/rubygems/installer.rb +32 -40
- data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
- data/lib/rubygems/local_remote_options.rb +18 -20
- data/lib/rubygems/mock_gem_ui.rb +2 -2
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/optparse.rb +1 -1
- data/lib/rubygems/package/file_source.rb +2 -2
- data/lib/rubygems/package/old.rb +8 -8
- data/lib/rubygems/package/tar_header.rb +50 -50
- data/lib/rubygems/package/tar_reader/entry.rb +2 -2
- data/lib/rubygems/package/tar_reader.rb +1 -1
- data/lib/rubygems/package/tar_writer.rb +7 -7
- data/lib/rubygems/package.rb +54 -43
- data/lib/rubygems/package_task.rb +4 -4
- data/lib/rubygems/platform.rb +66 -55
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/query_utils.rb +35 -35
- data/lib/rubygems/rdoc.rb +2 -2
- data/lib/rubygems/remote_fetcher.rb +22 -22
- data/lib/rubygems/request/connection_pools.rb +4 -4
- data/lib/rubygems/request/http_pool.rb +1 -1
- data/lib/rubygems/request.rb +22 -22
- data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
- data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
- data/lib/rubygems/request_set/lockfile.rb +5 -5
- data/lib/rubygems/request_set.rb +17 -17
- data/lib/rubygems/requirement.rb +6 -6
- data/lib/rubygems/resolver/activation_request.rb +3 -3
- data/lib/rubygems/resolver/api_set.rb +4 -4
- data/lib/rubygems/resolver/api_specification.rb +6 -6
- data/lib/rubygems/resolver/best_set.rb +5 -5
- data/lib/rubygems/resolver/conflict.rb +10 -10
- data/lib/rubygems/resolver/dependency_request.rb +2 -2
- data/lib/rubygems/resolver/git_set.rb +2 -2
- data/lib/rubygems/resolver/git_specification.rb +6 -6
- data/lib/rubygems/resolver/index_set.rb +3 -3
- data/lib/rubygems/resolver/index_specification.rb +6 -5
- data/lib/rubygems/resolver/installed_specification.rb +4 -4
- data/lib/rubygems/resolver/installer_set.rb +11 -16
- data/lib/rubygems/resolver/local_specification.rb +2 -2
- data/lib/rubygems/resolver/lock_set.rb +4 -4
- data/lib/rubygems/resolver/lock_specification.rb +4 -4
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/specification.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +1 -1
- data/lib/rubygems/resolver/vendor_specification.rb +3 -3
- data/lib/rubygems/resolver.rb +39 -39
- data/lib/rubygems/s3_uri_signer.rb +6 -6
- data/lib/rubygems/safe_yaml.rb +2 -2
- data/lib/rubygems/security/policies.rb +11 -11
- data/lib/rubygems/security/policy.rb +18 -18
- data/lib/rubygems/security/signer.rb +5 -5
- data/lib/rubygems/security/trust_dir.rb +3 -3
- data/lib/rubygems/security.rb +28 -28
- data/lib/rubygems/security_option.rb +5 -5
- data/lib/rubygems/source/git.rb +21 -21
- data/lib/rubygems/source/installed.rb +1 -1
- data/lib/rubygems/source/local.rb +2 -2
- data/lib/rubygems/source/specific_file.rb +1 -1
- data/lib/rubygems/source.rb +16 -16
- data/lib/rubygems/spec_fetcher.rb +9 -9
- data/lib/rubygems/specification.rb +63 -62
- data/lib/rubygems/specification_policy.rb +15 -15
- data/lib/rubygems/stub_specification.rb +5 -5
- data/lib/rubygems/tsort.rb +1 -1
- data/lib/rubygems/uninstaller.rb +18 -18
- data/lib/rubygems/uri.rb +4 -4
- data/lib/rubygems/uri_formatter.rb +1 -1
- data/lib/rubygems/user_interaction.rb +33 -19
- data/lib/rubygems/util/licenses.rb +3 -3
- data/lib/rubygems/util.rb +10 -10
- data/lib/rubygems/validator.rb +5 -5
- data/lib/rubygems/version.rb +15 -9
- data/lib/rubygems/version_option.rb +3 -3
- data/lib/rubygems.rb +62 -61
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +9 -9
- data/test/rubygems/helper.rb +132 -134
- data/test/rubygems/installer_test_case.rb +13 -13
- data/test/rubygems/package/tar_test_case.rb +2 -2
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/rubygems_plugin.rb +2 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
- data/test/rubygems/test_bundled_ca.rb +10 -10
- data/test/rubygems/test_config.rb +3 -3
- data/test/rubygems/test_deprecate.rb +3 -3
- data/test/rubygems/test_exit.rb +2 -2
- data/test/rubygems/test_gem.rb +342 -342
- data/test/rubygems/test_gem_available_set.rb +21 -21
- data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
- data/test/rubygems/test_gem_command.rb +44 -44
- data/test/rubygems/test_gem_command_manager.rb +29 -29
- data/test/rubygems/test_gem_commands_build_command.rb +63 -63
- data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
- data/test/rubygems/test_gem_commands_check_command.rb +4 -4
- data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
- data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
- data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
- data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
- data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
- data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
- data/test/rubygems/test_gem_commands_help_command.rb +13 -13
- data/test/rubygems/test_gem_commands_info_command.rb +28 -2
- data/test/rubygems/test_gem_commands_install_command.rb +131 -131
- data/test/rubygems/test_gem_commands_list_command.rb +4 -4
- data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
- data/test/rubygems/test_gem_commands_mirror.rb +2 -2
- data/test/rubygems/test_gem_commands_open_command.rb +4 -4
- data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
- data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
- data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
- data/test/rubygems/test_gem_commands_push_command.rb +54 -54
- data/test/rubygems/test_gem_commands_query_command.rb +73 -73
- data/test/rubygems/test_gem_commands_search_command.rb +2 -2
- data/test/rubygems/test_gem_commands_server_command.rb +2 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
- data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
- data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
- data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
- data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
- data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
- data/test/rubygems/test_gem_commands_update_command.rb +89 -89
- data/test/rubygems/test_gem_commands_which_command.rb +6 -6
- data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
- data/test/rubygems/test_gem_config_file.rb +93 -81
- data/test/rubygems/test_gem_dependency.rb +73 -73
- data/test/rubygems/test_gem_dependency_installer.rb +165 -165
- data/test/rubygems/test_gem_dependency_list.rb +47 -47
- data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
- data/test/rubygems/test_gem_doctor.rb +26 -26
- data/test/rubygems/test_gem_ext_builder.rb +59 -59
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
- data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
- data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
- data/test/rubygems/test_gem_gem_runner.rb +7 -7
- data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
- data/test/rubygems/test_gem_indexer.rb +48 -48
- data/test/rubygems/test_gem_install_update_options.rb +16 -16
- data/test/rubygems/test_gem_installer.rb +303 -300
- data/test/rubygems/test_gem_local_remote_options.rb +10 -10
- data/test/rubygems/test_gem_name_tuple.rb +4 -4
- data/test/rubygems/test_gem_package.rb +228 -206
- data/test/rubygems/test_gem_package_old.rb +13 -13
- data/test/rubygems/test_gem_package_tar_header.rb +42 -42
- data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
- data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
- data/test/rubygems/test_gem_package_task.rb +18 -18
- data/test/rubygems/test_gem_path_support.rb +14 -14
- data/test/rubygems/test_gem_platform.rb +298 -227
- data/test/rubygems/test_gem_rdoc.rb +14 -14
- data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
- data/test/rubygems/test_gem_request.rb +55 -55
- data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
- data/test/rubygems/test_gem_request_set.rb +99 -99
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
- data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
- data/test/rubygems/test_gem_requirement.rb +47 -41
- data/test/rubygems/test_gem_resolver.rb +133 -99
- data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
- data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
- data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
- data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
- data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
- data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
- data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
- data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
- data/test/rubygems/test_gem_resolver_specification.rb +8 -8
- data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
- data/test/rubygems/test_gem_security.rb +67 -67
- data/test/rubygems/test_gem_security_policy.rb +62 -62
- data/test/rubygems/test_gem_security_signer.rb +28 -28
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
- data/test/rubygems/test_gem_silent_ui.rb +38 -32
- data/test/rubygems/test_gem_source.rb +44 -44
- data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
- data/test/rubygems/test_gem_source_git.rb +59 -59
- data/test/rubygems/test_gem_source_installed.rb +16 -16
- data/test/rubygems/test_gem_source_list.rb +5 -5
- data/test/rubygems/test_gem_source_local.rb +14 -14
- data/test/rubygems/test_gem_source_lock.rb +31 -31
- data/test/rubygems/test_gem_source_specific_file.rb +17 -17
- data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
- data/test/rubygems/test_gem_source_vendor.rb +13 -13
- data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
- data/test/rubygems/test_gem_specification.rb +444 -436
- data/test/rubygems/test_gem_stream_ui.rb +19 -19
- data/test/rubygems/test_gem_stub_specification.rb +32 -32
- data/test/rubygems/test_gem_text.rb +1 -1
- data/test/rubygems/test_gem_uninstaller.rb +112 -112
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
- data/test/rubygems/test_gem_uri.rb +4 -4
- data/test/rubygems/test_gem_uri_formatter.rb +14 -14
- data/test/rubygems/test_gem_util.rb +23 -23
- data/test/rubygems/test_gem_validator.rb +8 -8
- data/test/rubygems/test_gem_version.rb +22 -15
- data/test/rubygems/test_gem_version_option.rb +15 -15
- data/test/rubygems/test_kernel.rb +31 -31
- data/test/rubygems/test_project_sanity.rb +1 -1
- data/test/rubygems/test_remote_fetch_error.rb +6 -6
- data/test/rubygems/test_require.rb +43 -43
- data/test/rubygems/test_rubygems.rb +8 -8
- data/test/rubygems/utilities.rb +19 -19
- metadata +14 -3
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/dependency_list"
|
4
4
|
|
5
5
|
class TestGemDependencyList < Gem::TestCase
|
6
6
|
def setup
|
@@ -9,26 +9,26 @@ class TestGemDependencyList < Gem::TestCase
|
|
9
9
|
@deplist = Gem::DependencyList.new
|
10
10
|
|
11
11
|
# TODO: switch to util_spec
|
12
|
-
@a1 = util_spec
|
13
|
-
@a2 = util_spec
|
14
|
-
@a3 = util_spec
|
12
|
+
@a1 = util_spec "a", "1"
|
13
|
+
@a2 = util_spec "a", "2"
|
14
|
+
@a3 = util_spec "a", "3"
|
15
15
|
|
16
|
-
@b1 = util_spec
|
17
|
-
s.add_dependency
|
16
|
+
@b1 = util_spec "b", "1" do |s|
|
17
|
+
s.add_dependency "a", ">= 1"
|
18
18
|
end
|
19
19
|
|
20
|
-
@b2 = util_spec
|
21
|
-
s.add_dependency
|
20
|
+
@b2 = util_spec "b", "2" do |s|
|
21
|
+
s.add_dependency "a", ">= 1"
|
22
22
|
end
|
23
23
|
|
24
|
-
@c1 = util_spec
|
25
|
-
s.add_dependency
|
24
|
+
@c1 = util_spec "c", "1" do |s|
|
25
|
+
s.add_dependency "b", ">= 1"
|
26
26
|
end
|
27
27
|
|
28
|
-
@c2 = util_spec
|
28
|
+
@c2 = util_spec "c", "2"
|
29
29
|
|
30
|
-
@d1 = util_spec
|
31
|
-
s.add_dependency
|
30
|
+
@d1 = util_spec "d", "1" do |s|
|
31
|
+
s.add_dependency "c", ">= 1"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -56,7 +56,7 @@ class TestGemDependencyList < Gem::TestCase
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_dependency_order_circle
|
59
|
-
@a1.add_dependency
|
59
|
+
@a1.add_dependency "c", ">= 1"
|
60
60
|
@deplist.add @a1, @b1, @c1
|
61
61
|
|
62
62
|
order = @deplist.dependency_order
|
@@ -65,14 +65,14 @@ class TestGemDependencyList < Gem::TestCase
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def test_dependency_order_development
|
68
|
-
e1 = util_spec
|
69
|
-
f1 = util_spec
|
70
|
-
g1 = util_spec
|
68
|
+
e1 = util_spec "e", "1"
|
69
|
+
f1 = util_spec "f", "1"
|
70
|
+
g1 = util_spec "g", "1"
|
71
71
|
|
72
|
-
@a1.add_dependency
|
73
|
-
@a1.add_dependency
|
74
|
-
@a1.add_dependency
|
75
|
-
g1.add_development_dependency
|
72
|
+
@a1.add_dependency "e"
|
73
|
+
@a1.add_dependency "f"
|
74
|
+
@a1.add_dependency "g"
|
75
|
+
g1.add_development_dependency "a"
|
76
76
|
|
77
77
|
deplist = Gem::DependencyList.new true
|
78
78
|
deplist.add @a1, e1, f1, g1
|
@@ -80,7 +80,7 @@ class TestGemDependencyList < Gem::TestCase
|
|
80
80
|
order = deplist.dependency_order
|
81
81
|
|
82
82
|
assert_equal %w[g-1 a-1 f-1 e-1], order.map {|s| s.full_name },
|
83
|
-
|
83
|
+
"development on"
|
84
84
|
|
85
85
|
deplist2 = Gem::DependencyList.new
|
86
86
|
deplist2.add @a1, e1, f1, g1
|
@@ -88,19 +88,19 @@ class TestGemDependencyList < Gem::TestCase
|
|
88
88
|
order = deplist2.dependency_order
|
89
89
|
|
90
90
|
assert_equal %w[a-1 g-1 f-1 e-1], order.map {|s| s.full_name },
|
91
|
-
|
91
|
+
"development off"
|
92
92
|
end
|
93
93
|
|
94
94
|
def test_dependency_order_diamond
|
95
95
|
util_diamond
|
96
|
-
e1 = util_spec
|
96
|
+
e1 = util_spec "e", "1"
|
97
97
|
@deplist.add e1
|
98
|
-
@a1.add_dependency
|
98
|
+
@a1.add_dependency "e", ">= 1"
|
99
99
|
|
100
100
|
order = @deplist.dependency_order
|
101
101
|
|
102
102
|
assert_equal %w[d-1 c-2 b-1 a-2 e-1], order.map {|s| s.full_name },
|
103
|
-
|
103
|
+
"deps of trimmed specs not included"
|
104
104
|
end
|
105
105
|
|
106
106
|
def test_dependency_order_no_dependencies
|
@@ -121,15 +121,15 @@ class TestGemDependencyList < Gem::TestCase
|
|
121
121
|
end
|
122
122
|
|
123
123
|
def test_ok_eh
|
124
|
-
assert @deplist.ok?,
|
124
|
+
assert @deplist.ok?, "no dependencies"
|
125
125
|
|
126
126
|
@deplist.add @b2
|
127
127
|
|
128
|
-
refute @deplist.ok?,
|
128
|
+
refute @deplist.ok?, "unsatisfied dependency"
|
129
129
|
|
130
130
|
@deplist.add @a1
|
131
131
|
|
132
|
-
assert @deplist.ok?,
|
132
|
+
assert @deplist.ok?, "satisfied dependency"
|
133
133
|
end
|
134
134
|
|
135
135
|
def test_why_not_ok_eh
|
@@ -147,13 +147,13 @@ class TestGemDependencyList < Gem::TestCase
|
|
147
147
|
end
|
148
148
|
|
149
149
|
def test_why_not_ok_eh_old_dependency
|
150
|
-
a = util_spec
|
151
|
-
|
150
|
+
a = util_spec "a", "1",
|
151
|
+
"b" => "~> 1.0"
|
152
152
|
|
153
|
-
b0 = util_spec
|
154
|
-
|
153
|
+
b0 = util_spec "b", "1.0",
|
154
|
+
"d" => ">= 0"
|
155
155
|
|
156
|
-
b1 = util_spec
|
156
|
+
b1 = util_spec "b", "1.1"
|
157
157
|
|
158
158
|
util_clear_gems
|
159
159
|
|
@@ -165,25 +165,25 @@ class TestGemDependencyList < Gem::TestCase
|
|
165
165
|
end
|
166
166
|
|
167
167
|
def test_ok_eh_mismatch
|
168
|
-
a1 = util_spec
|
169
|
-
a2 = util_spec
|
168
|
+
a1 = util_spec "a", "1"
|
169
|
+
a2 = util_spec "a", "2"
|
170
170
|
|
171
|
-
b = util_spec
|
172
|
-
s.add_dependency
|
171
|
+
b = util_spec "b", "1" do |s|
|
172
|
+
s.add_dependency "a", "= 1"
|
173
173
|
end
|
174
174
|
|
175
|
-
c = util_spec
|
176
|
-
s.add_dependency
|
175
|
+
c = util_spec "c", "1" do |s|
|
176
|
+
s.add_dependency "a", "= 2"
|
177
177
|
end
|
178
178
|
|
179
|
-
d = util_spec
|
180
|
-
s.add_dependency
|
181
|
-
s.add_dependency
|
179
|
+
d = util_spec "d", "1" do |s|
|
180
|
+
s.add_dependency "b"
|
181
|
+
s.add_dependency "c"
|
182
182
|
end
|
183
183
|
|
184
184
|
@deplist.add a1, a2, b, c, d
|
185
185
|
|
186
|
-
assert @deplist.ok?,
|
186
|
+
assert @deplist.ok?, "this will break on require"
|
187
187
|
end
|
188
188
|
|
189
189
|
def test_ok_eh_redundant
|
@@ -256,8 +256,8 @@ class TestGemDependencyList < Gem::TestCase
|
|
256
256
|
# d1 -> b1 -> a1
|
257
257
|
# d1 -> c2 -> a2
|
258
258
|
def util_diamond
|
259
|
-
@c2.add_dependency
|
260
|
-
@d1.add_dependency
|
259
|
+
@c2.add_dependency "a", ">= 2"
|
260
|
+
@d1.add_dependency "b"
|
261
261
|
|
262
262
|
@deplist.add @a1, @a2, @b1, @c2, @d1
|
263
263
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
2
|
+
require_relative "helper"
|
3
3
|
|
4
4
|
class TestGemDependencyResolutionError < Gem::TestCase
|
5
5
|
def setup
|
@@ -7,10 +7,10 @@ class TestGemDependencyResolutionError < Gem::TestCase
|
|
7
7
|
|
8
8
|
@DR = Gem::Resolver
|
9
9
|
|
10
|
-
@spec = util_spec
|
10
|
+
@spec = util_spec "a", 2
|
11
11
|
|
12
|
-
@a1_req = @DR::DependencyRequest.new dep(
|
13
|
-
@a2_req = @DR::DependencyRequest.new dep(
|
12
|
+
@a1_req = @DR::DependencyRequest.new dep("a", "= 1"), nil
|
13
|
+
@a2_req = @DR::DependencyRequest.new dep("a", "= 2"), nil
|
14
14
|
|
15
15
|
@activated = @DR::ActivationRequest.new @spec, @a2_req
|
16
16
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/doctor"
|
4
4
|
|
5
5
|
class TestGemDoctor < Gem::TestCase
|
6
6
|
def gem(name)
|
@@ -15,20 +15,20 @@ class TestGemDoctor < Gem::TestCase
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_doctor
|
18
|
-
a = gem
|
19
|
-
b = gem
|
20
|
-
c = gem
|
18
|
+
a = gem "a"
|
19
|
+
b = gem "b"
|
20
|
+
c = gem "c"
|
21
21
|
|
22
22
|
Gem.use_paths @userhome, @gemhome
|
23
23
|
|
24
24
|
FileUtils.rm b.spec_file
|
25
25
|
|
26
|
-
File.open c.spec_file,
|
27
|
-
io.write
|
26
|
+
File.open c.spec_file, "w" do |io|
|
27
|
+
io.write "this will raise an exception when evaluated."
|
28
28
|
end
|
29
29
|
|
30
|
-
assert_path_exist File.join(a.gem_dir,
|
31
|
-
assert_path_exist File.join(a.gem_dir,
|
30
|
+
assert_path_exist File.join(a.gem_dir, "Rakefile")
|
31
|
+
assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
|
32
32
|
|
33
33
|
assert_path_exist b.gem_dir
|
34
34
|
assert_path_not_exist b.spec_file
|
@@ -44,8 +44,8 @@ class TestGemDoctor < Gem::TestCase
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
assert_path_exist File.join(a.gem_dir,
|
48
|
-
assert_path_exist File.join(a.gem_dir,
|
47
|
+
assert_path_exist File.join(a.gem_dir, "Rakefile")
|
48
|
+
assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
|
49
49
|
|
50
50
|
assert_path_not_exist b.gem_dir
|
51
51
|
assert_path_not_exist b.spec_file
|
@@ -68,20 +68,20 @@ Removed directory gems/c-2
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def test_doctor_dry_run
|
71
|
-
a = gem
|
72
|
-
b = gem
|
73
|
-
c = gem
|
71
|
+
a = gem "a"
|
72
|
+
b = gem "b"
|
73
|
+
c = gem "c"
|
74
74
|
|
75
75
|
Gem.use_paths @userhome, @gemhome
|
76
76
|
|
77
77
|
FileUtils.rm b.spec_file
|
78
78
|
|
79
|
-
File.open c.spec_file,
|
80
|
-
io.write
|
79
|
+
File.open c.spec_file, "w" do |io|
|
80
|
+
io.write "this will raise an exception when evaluated."
|
81
81
|
end
|
82
82
|
|
83
|
-
assert_path_exist File.join(a.gem_dir,
|
84
|
-
assert_path_exist File.join(a.gem_dir,
|
83
|
+
assert_path_exist File.join(a.gem_dir, "Rakefile")
|
84
|
+
assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
|
85
85
|
|
86
86
|
assert_path_exist b.gem_dir
|
87
87
|
assert_path_not_exist b.spec_file
|
@@ -97,8 +97,8 @@ Removed directory gems/c-2
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
|
-
assert_path_exist File.join(a.gem_dir,
|
101
|
-
assert_path_exist File.join(a.gem_dir,
|
100
|
+
assert_path_exist File.join(a.gem_dir, "Rakefile")
|
101
|
+
assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
|
102
102
|
|
103
103
|
assert_path_exist b.gem_dir
|
104
104
|
assert_path_not_exist b.spec_file
|
@@ -121,7 +121,7 @@ Extra directory gems/c-2
|
|
121
121
|
end
|
122
122
|
|
123
123
|
def test_doctor_non_gem_home
|
124
|
-
other_dir = File.join @tempdir,
|
124
|
+
other_dir = File.join @tempdir, "other", "dir"
|
125
125
|
|
126
126
|
FileUtils.mkdir_p other_dir
|
127
127
|
|
@@ -147,13 +147,13 @@ This directory does not appear to be a RubyGems repository, skipping
|
|
147
147
|
def test_doctor_child_missing
|
148
148
|
doctor = Gem::Doctor.new @gemhome
|
149
149
|
|
150
|
-
doctor.doctor_child
|
150
|
+
doctor.doctor_child "missing", ""
|
151
151
|
|
152
152
|
assert true # count
|
153
153
|
end
|
154
154
|
|
155
155
|
def test_doctor_badly_named_plugins
|
156
|
-
gem
|
156
|
+
gem "a"
|
157
157
|
|
158
158
|
Gem.use_paths @gemhome.to_s
|
159
159
|
|
@@ -183,12 +183,12 @@ Removed file plugins/a_badly_named_file.rb
|
|
183
183
|
def test_gem_repository_eh
|
184
184
|
doctor = Gem::Doctor.new @gemhome
|
185
185
|
|
186
|
-
refute doctor.gem_repository?,
|
186
|
+
refute doctor.gem_repository?, "no gems installed"
|
187
187
|
|
188
|
-
install_specs util_spec
|
188
|
+
install_specs util_spec "a"
|
189
189
|
|
190
190
|
doctor = Gem::Doctor.new @gemhome
|
191
191
|
|
192
|
-
assert doctor.gem_repository?,
|
192
|
+
assert doctor.gem_repository?, "gems installed"
|
193
193
|
end
|
194
194
|
end
|
@@ -1,38 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/ext"
|
4
|
+
require "rubygems/installer"
|
5
5
|
|
6
6
|
class TestGemExtBuilder < Gem::TestCase
|
7
7
|
def setup
|
8
8
|
super
|
9
9
|
|
10
|
-
@ext = File.join @tempdir,
|
11
|
-
@dest_path = File.join @tempdir,
|
10
|
+
@ext = File.join @tempdir, "ext"
|
11
|
+
@dest_path = File.join @tempdir, "prefix"
|
12
12
|
|
13
13
|
FileUtils.mkdir_p @ext
|
14
14
|
FileUtils.mkdir_p @dest_path
|
15
15
|
|
16
|
-
@orig_DESTDIR = ENV[
|
17
|
-
@orig_make = ENV[
|
16
|
+
@orig_DESTDIR = ENV["DESTDIR"]
|
17
|
+
@orig_make = ENV["make"]
|
18
18
|
|
19
|
-
@spec = util_spec
|
19
|
+
@spec = util_spec "a"
|
20
20
|
|
21
|
-
@builder = Gem::Ext::Builder.new @spec,
|
21
|
+
@builder = Gem::Ext::Builder.new @spec, ""
|
22
22
|
end
|
23
23
|
|
24
24
|
def teardown
|
25
|
-
ENV[
|
26
|
-
ENV[
|
25
|
+
ENV["DESTDIR"] = @orig_DESTDIR
|
26
|
+
ENV["make"] = @orig_make
|
27
27
|
|
28
28
|
super
|
29
29
|
end
|
30
30
|
|
31
31
|
def test_class_make
|
32
|
-
ENV[
|
32
|
+
ENV["DESTDIR"] = "destination"
|
33
33
|
results = []
|
34
34
|
|
35
|
-
File.open File.join(@ext,
|
35
|
+
File.open File.join(@ext, "Makefile"), "w" do |io|
|
36
36
|
io.puts <<-MAKEFILE
|
37
37
|
all:
|
38
38
|
\t@#{Gem.ruby} -e "puts %Q{all: \#{ENV['DESTDIR']}}"
|
@@ -61,10 +61,10 @@ install:
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def test_class_make_no_clean
|
64
|
-
ENV[
|
64
|
+
ENV["DESTDIR"] = "destination"
|
65
65
|
results = []
|
66
66
|
|
67
|
-
File.open File.join(@ext,
|
67
|
+
File.open File.join(@ext, "Makefile"), "w" do |io|
|
68
68
|
io.puts <<-MAKEFILE
|
69
69
|
all:
|
70
70
|
\t@#{Gem.ruby} -e "puts %Q{all: \#{ENV['DESTDIR']}}"
|
@@ -84,9 +84,9 @@ install:
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def test_custom_make_with_options
|
87
|
-
ENV[
|
87
|
+
ENV["make"] = "make V=1"
|
88
88
|
results = []
|
89
|
-
File.open File.join(@ext,
|
89
|
+
File.open File.join(@ext, "Makefile"), "w" do |io|
|
90
90
|
io.puts <<-MAKEFILE
|
91
91
|
all:
|
92
92
|
\t@#{Gem.ruby} -e "puts 'all: OK'"
|
@@ -106,16 +106,16 @@ install:
|
|
106
106
|
end
|
107
107
|
|
108
108
|
def test_build_extensions
|
109
|
-
pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?(
|
110
|
-
@spec.extensions <<
|
109
|
+
pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?("GITHUB_ACTIONS") # not working from the beginning
|
110
|
+
@spec.extensions << "ext/extconf.rb"
|
111
111
|
|
112
|
-
ext_dir = File.join @spec.gem_dir,
|
112
|
+
ext_dir = File.join @spec.gem_dir, "ext"
|
113
113
|
|
114
114
|
FileUtils.mkdir_p ext_dir
|
115
115
|
|
116
|
-
extconf_rb = File.join ext_dir,
|
116
|
+
extconf_rb = File.join ext_dir, "extconf.rb"
|
117
117
|
|
118
|
-
File.open extconf_rb,
|
118
|
+
File.open extconf_rb, "w" do |f|
|
119
119
|
f.write <<-'RUBY'
|
120
120
|
require 'mkmf'
|
121
121
|
|
@@ -123,11 +123,11 @@ install:
|
|
123
123
|
RUBY
|
124
124
|
end
|
125
125
|
|
126
|
-
ext_lib_dir = File.join ext_dir,
|
126
|
+
ext_lib_dir = File.join ext_dir, "lib"
|
127
127
|
FileUtils.mkdir ext_lib_dir
|
128
|
-
FileUtils.touch File.join ext_lib_dir,
|
129
|
-
FileUtils.mkdir File.join ext_lib_dir,
|
130
|
-
FileUtils.touch File.join ext_lib_dir,
|
128
|
+
FileUtils.touch File.join ext_lib_dir, "a.rb"
|
129
|
+
FileUtils.mkdir File.join ext_lib_dir, "a"
|
130
|
+
FileUtils.touch File.join ext_lib_dir, "a", "b.rb"
|
131
131
|
|
132
132
|
use_ui @ui do
|
133
133
|
@builder.build_extensions
|
@@ -135,20 +135,20 @@ install:
|
|
135
135
|
|
136
136
|
assert_path_exist @spec.extension_dir
|
137
137
|
assert_path_exist @spec.gem_build_complete_path
|
138
|
-
assert_path_exist File.join @spec.extension_dir,
|
139
|
-
assert_path_exist File.join @spec.extension_dir,
|
140
|
-
assert_path_exist File.join @spec.gem_dir,
|
141
|
-
assert_path_exist File.join @spec.gem_dir,
|
138
|
+
assert_path_exist File.join @spec.extension_dir, "gem_make.out"
|
139
|
+
assert_path_exist File.join @spec.extension_dir, "a.rb"
|
140
|
+
assert_path_exist File.join @spec.gem_dir, "lib", "a.rb"
|
141
|
+
assert_path_exist File.join @spec.gem_dir, "lib", "a", "b.rb"
|
142
142
|
end
|
143
143
|
|
144
144
|
def test_build_extensions_with_gemhome_with_space
|
145
|
-
pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?(
|
146
|
-
new_gemhome = File.join @tempdir,
|
145
|
+
pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?("GITHUB_ACTIONS") # not working from the beginning
|
146
|
+
new_gemhome = File.join @tempdir, "gem home"
|
147
147
|
File.rename(@gemhome, new_gemhome)
|
148
148
|
@gemhome = new_gemhome
|
149
149
|
Gem.use_paths(@gemhome)
|
150
|
-
@spec = util_spec
|
151
|
-
@builder = Gem::Ext::Builder.new @spec,
|
150
|
+
@spec = util_spec "a"
|
151
|
+
@builder = Gem::Ext::Builder.new @spec, ""
|
152
152
|
|
153
153
|
test_build_extensions
|
154
154
|
end
|
@@ -163,17 +163,17 @@ install:
|
|
163
163
|
false
|
164
164
|
end
|
165
165
|
end
|
166
|
-
pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?(
|
166
|
+
pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?("GITHUB_ACTIONS") # not working from the beginning
|
167
167
|
|
168
|
-
@spec.extensions <<
|
168
|
+
@spec.extensions << "ext/extconf.rb"
|
169
169
|
|
170
|
-
ext_dir = File.join @spec.gem_dir,
|
170
|
+
ext_dir = File.join @spec.gem_dir, "ext"
|
171
171
|
|
172
172
|
FileUtils.mkdir_p ext_dir
|
173
173
|
|
174
|
-
extconf_rb = File.join ext_dir,
|
174
|
+
extconf_rb = File.join ext_dir, "extconf.rb"
|
175
175
|
|
176
|
-
File.open extconf_rb,
|
176
|
+
File.open extconf_rb, "w" do |f|
|
177
177
|
f.write <<-'RUBY'
|
178
178
|
require 'mkmf'
|
179
179
|
|
@@ -181,11 +181,11 @@ install:
|
|
181
181
|
RUBY
|
182
182
|
end
|
183
183
|
|
184
|
-
ext_lib_dir = File.join ext_dir,
|
184
|
+
ext_lib_dir = File.join ext_dir, "lib"
|
185
185
|
FileUtils.mkdir ext_lib_dir
|
186
|
-
FileUtils.touch File.join ext_lib_dir,
|
187
|
-
FileUtils.mkdir File.join ext_lib_dir,
|
188
|
-
FileUtils.touch File.join ext_lib_dir,
|
186
|
+
FileUtils.touch File.join ext_lib_dir, "a.rb"
|
187
|
+
FileUtils.mkdir File.join ext_lib_dir, "a"
|
188
|
+
FileUtils.touch File.join ext_lib_dir, "a", "b.rb"
|
189
189
|
|
190
190
|
use_ui @ui do
|
191
191
|
@builder.build_extensions
|
@@ -193,10 +193,10 @@ install:
|
|
193
193
|
|
194
194
|
assert_path_exist @spec.extension_dir
|
195
195
|
assert_path_exist @spec.gem_build_complete_path
|
196
|
-
assert_path_exist File.join @spec.extension_dir,
|
197
|
-
assert_path_exist File.join @spec.extension_dir,
|
198
|
-
assert_path_not_exist File.join @spec.gem_dir,
|
199
|
-
assert_path_not_exist File.join @spec.gem_dir,
|
196
|
+
assert_path_exist File.join @spec.extension_dir, "gem_make.out"
|
197
|
+
assert_path_exist File.join @spec.extension_dir, "a.rb"
|
198
|
+
assert_path_not_exist File.join @spec.gem_dir, "lib", "a.rb"
|
199
|
+
assert_path_not_exist File.join @spec.gem_dir, "lib", "a", "b.rb"
|
200
200
|
ensure
|
201
201
|
class << Gem
|
202
202
|
remove_method :install_extension_in_lib
|
@@ -210,10 +210,10 @@ install:
|
|
210
210
|
@builder.build_extensions
|
211
211
|
end
|
212
212
|
|
213
|
-
assert_equal
|
214
|
-
assert_equal
|
213
|
+
assert_equal "", @ui.output
|
214
|
+
assert_equal "", @ui.error
|
215
215
|
|
216
|
-
assert_path_not_exist File.join @spec.extension_dir,
|
216
|
+
assert_path_not_exist File.join @spec.extension_dir, "gem_make.out"
|
217
217
|
end
|
218
218
|
|
219
219
|
def test_build_extensions_rebuild_failure
|
@@ -234,7 +234,7 @@ install:
|
|
234
234
|
def test_build_extensions_extconf_bad
|
235
235
|
cwd = Dir.pwd
|
236
236
|
|
237
|
-
@spec.extensions <<
|
237
|
+
@spec.extensions << "extconf.rb"
|
238
238
|
|
239
239
|
FileUtils.mkdir_p @spec.gem_dir
|
240
240
|
|
@@ -246,9 +246,9 @@ install:
|
|
246
246
|
|
247
247
|
assert_match(/\AERROR: Failed to build gem native extension.$/, e.message)
|
248
248
|
assert_equal "Building native extensions. This could take a while...\n", @ui.output
|
249
|
-
assert_equal
|
249
|
+
assert_equal "", @ui.error
|
250
250
|
|
251
|
-
gem_make_out = File.join @spec.extension_dir,
|
251
|
+
gem_make_out = File.join @spec.extension_dir, "gem_make.out"
|
252
252
|
cmd_make_out = File.read(gem_make_out)
|
253
253
|
|
254
254
|
assert_match %r{#{Regexp.escape Gem.ruby} .* extconf\.rb}, cmd_make_out
|
@@ -261,7 +261,7 @@ install:
|
|
261
261
|
|
262
262
|
def test_build_extensions_unsupported
|
263
263
|
FileUtils.mkdir_p @spec.gem_dir
|
264
|
-
gem_make_out = File.join @spec.extension_dir,
|
264
|
+
gem_make_out = File.join @spec.extension_dir, "gem_make.out"
|
265
265
|
@spec.extensions << nil
|
266
266
|
|
267
267
|
e = assert_raise Gem::Ext::BuildError do
|
@@ -272,7 +272,7 @@ install:
|
|
272
272
|
|
273
273
|
assert_match(/^\s*No builder for extension ''$/, e.message)
|
274
274
|
assert_equal "Building native extensions. This could take a while...\n", @ui.output
|
275
|
-
assert_equal
|
275
|
+
assert_equal "", @ui.error
|
276
276
|
|
277
277
|
assert_equal "No builder for extension ''\n", File.read(gem_make_out)
|
278
278
|
|
@@ -284,7 +284,7 @@ install:
|
|
284
284
|
def test_build_extensions_with_build_args
|
285
285
|
args = ["--aa", "--bb"]
|
286
286
|
@builder.build_args = args
|
287
|
-
@spec.extensions <<
|
287
|
+
@spec.extensions << "extconf.rb"
|
288
288
|
|
289
289
|
FileUtils.mkdir_p @spec.gem_dir
|
290
290
|
|
@@ -315,14 +315,14 @@ install:
|
|
315
315
|
end
|
316
316
|
|
317
317
|
def test_initialize
|
318
|
-
build_info_dir = File.join @gemhome,
|
318
|
+
build_info_dir = File.join @gemhome, "build_info"
|
319
319
|
|
320
320
|
FileUtils.mkdir_p build_info_dir
|
321
321
|
|
322
322
|
build_info_file = File.join build_info_dir, "#{@spec.full_name}.info"
|
323
323
|
|
324
|
-
File.open build_info_file,
|
325
|
-
io.puts
|
324
|
+
File.open build_info_file, "w" do |io|
|
325
|
+
io.puts "--with-foo-dir=/nonexistent"
|
326
326
|
end
|
327
327
|
|
328
328
|
builder = Gem::Ext::Builder.new @spec
|
@@ -105,9 +105,9 @@ dependencies = [
|
|
105
105
|
|
106
106
|
[[package]]
|
107
107
|
name = "linkify"
|
108
|
-
version = "0.
|
108
|
+
version = "0.9.0"
|
109
109
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
110
|
-
checksum = "
|
110
|
+
checksum = "96dd5884008358112bc66093362197c7248ece00d46624e2cf71e50029f8cff5"
|
111
111
|
dependencies = [
|
112
112
|
"memchr",
|
113
113
|
]
|
@@ -160,9 +160,9 @@ dependencies = [
|
|
160
160
|
|
161
161
|
[[package]]
|
162
162
|
name = "rb-sys"
|
163
|
-
version = "0.9.
|
163
|
+
version = "0.9.30"
|
164
164
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
165
|
-
checksum = "
|
165
|
+
checksum = "24b22a374fc2e92eb6f49d7efe4eb7663655c6e9455d9259ed3342cc1599da85"
|
166
166
|
dependencies = [
|
167
167
|
"bindgen",
|
168
168
|
"linkify",
|
@@ -171,9 +171,9 @@ dependencies = [
|
|
171
171
|
|
172
172
|
[[package]]
|
173
173
|
name = "rb-sys-build"
|
174
|
-
version = "0.9.
|
174
|
+
version = "0.9.30"
|
175
175
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
176
|
-
checksum = "
|
176
|
+
checksum = "3cd23b6dd929b7d50ccb35a6d3aa77dec364328ab9cb304dd32c629332491671"
|
177
177
|
dependencies = [
|
178
178
|
"regex",
|
179
179
|
"shell-words",
|