aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [rubygems/rubygems] Use a real file to run the testBenoit Daloze2020-06-051-2/+5
| | | | | | * JRuby doesn't support multi-line -e. https://github.com/rubygems/rubygems/commit/1fb6657a7d
* [rubygems/rubygems] Add a more comprehensive and reliable test for upgraded ↵Benoit Daloze2020-06-051-0/+22
| | | | | | | | | default gems * Test that the correct version is loaded and that the default gem is not loaded at all. https://github.com/rubygems/rubygems/commit/ee08508b2a
* [rubygems/rubygems] Relax test to still check we're calling the expected RubyBenoit Daloze2020-06-051-5/+1
| | | | | | | | | | | | | | * But not enforce that error looks like /full/path/to/ruby/bin/ruby: No such file or directory but instead allow truffleruby: No such file or directory A typical output for gem_make.out looks like: current directory: /.../rubygems/tmp/test_rubygems_112388/gemhome/gems/a-2 /.../ruby-2.6.6/bin/ruby -I /.../rubygems/lib -r ./siteconf20200422-112388-nyrcy0.rb extconf.rb '' /.../ruby-2.6.6/bin/ruby: No such file or directory -- extconf.rb (LoadError) https://github.com/rubygems/rubygems/commit/e6e08882cc
* [rubygems/rubygems] Fix check for testing in the ruby repositoryBenoit Daloze2020-06-051-4/+11
| | | | | | | | * When testing in the rubygems/rubygems repository, the previous code would move the lib/ dir at the end of $LOAD_PATH, which would cause to load a mix of lib/ RubyGems and in-stdlib-dir RubyGems, which blows up. https://github.com/rubygems/rubygems/commit/f6f6f00ed1
* [rubygems/rubygems] Clarify what ↵Benoit Daloze2020-06-051-3/+16
| | | | | | | | test_activate_via_require_respects_loaded_files does and tests * Clearly require the benchmark stdlib instead of far away in test_case.rb https://github.com/rubygems/rubygems/commit/d74b9ca04c
* [rubygems/rubygems] Simplify #warn test to not rely on the effect of -C on -IBenoit Daloze2020-06-051-2/+2
| | | | https://github.com/rubygems/rubygems/commit/382642a0d4
* [rubygems/rubygems] Remove direct reference to PRDavid Rodríguez2020-06-051-1/+0
| | | | | | | The code is quite different now, so I think the link might be even confusing. If you want to know more, use git history. https://github.com/rubygems/rubygems/commit/db872c7a18
* [rubygems/rubygems] Fix `$LOADED_FEATURES` cache sometimes not respectedDavid Rodríguez2020-06-052-29/+53
| | | | | | | | | | | In the cases where the initial manually `-I` path resolution succeeded, we were passing a full path to the original require effectively skipping the `$LOADED_FEATURES` cache. With this change, we _only_ do the resolution when a matching requirable path is found in a default gem. In that case, we skip activation of the default gem if we detect that the required file will be picked up for a `-I` path. https://github.com/rubygems/rubygems/commit/22ad5717c3
* [rubygems/rubygems] Extract a local outside the loopDavid Rodríguez2020-06-051-1/+2
| | | | https://github.com/rubygems/rubygems/commit/da1492e9d7
* [rubygems/rubygems] Refactor `Gem.load_path_insert_index`David Rodríguez2020-06-052-14/+4
| | | | https://github.com/rubygems/rubygems/commit/ae95885dff
* [rubygems/rubygems] Fix performance regression in `require`David Rodríguez2020-06-054-1/+23
| | | | | | Our check for `-I` paths should not go through all activated gems. https://github.com/rubygems/rubygems/commit/00d98eb8a3
* Fix `ruby setup.rb` warningsDavid Rodríguez2020-06-056-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we get the following warnings on `ruby setup.rb`: ``` /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/exceptions.rb:281: warning: already initialized constant Gem::UnsatisfiableDepedencyError /home/deivid/Code/rubygems/lib/rubygems/exceptions.rb:281: warning: previous definition of UnsatisfiableDepedencyError was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/user_interaction.rb:557: warning: already initialized constant Gem::StreamUI::ThreadedDownloadReporter::MUTEX /home/deivid/Code/rubygems/lib/rubygems/user_interaction.rb:557: warning: previous definition of MUTEX was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/builder.rb:20: warning: already initialized constant Gem::Ext::Builder::CHDIR_MUTEX /home/deivid/Code/rubygems/lib/rubygems/ext/builder.rb:20: warning: previous definition of CHDIR_MUTEX was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:14: warning: already initialized constant Gem::Ext::ExtConfBuilder::FileEntry /home/deivid/Code/rubygems/lib/rubygems/ext/ext_conf_builder.rb:14: warning: previous definition of FileEntry was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:158: warning: already initialized constant Gem::Version::VERSION_PATTERN /home/deivid/Code/rubygems/lib/rubygems/version.rb:158: warning: previous definition of VERSION_PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:159: warning: already initialized constant Gem::Version::ANCHORED_VERSION_PATTERN /home/deivid/Code/rubygems/lib/rubygems/version.rb:159: warning: previous definition of ANCHORED_VERSION_PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:14: warning: already initialized constant Gem::Requirement::OPS /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:14: warning: previous definition of OPS was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:24: warning: already initialized constant Gem::Requirement::SOURCE_SET_REQUIREMENT /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:24: warning: previous definition of SOURCE_SET_REQUIREMENT was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:27: warning: already initialized constant Gem::Requirement::PATTERN_RAW /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:27: warning: previous definition of PATTERN_RAW was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:32: warning: already initialized constant Gem::Requirement::PATTERN /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:32: warning: previous definition of PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:37: warning: already initialized constant Gem::Requirement::DefaultRequirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:37: warning: previous definition of DefaultRequirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:42: warning: already initialized constant Gem::Requirement::DefaultPrereleaseRequirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:42: warning: previous definition of DefaultPrereleaseRequirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:311: warning: already initialized constant Gem::Version::Requirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:311: warning: previous definition of Requirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/command.rb:626: warning: already initialized constant Gem::Command::HELP /home/deivid/Code/rubygems/lib/rubygems/command.rb:626: warning: previous definition of HELP was here Successfully built RubyGem Name: bundler Version: 2.2.0.dev File: bundler-2.2.0.dev.gem Bundler 2.2.0.dev installed RubyGems 3.2.0.pre1 installed Regenerating binstubs Regenerating plugins ------------------------------------------------------------------------------ RubyGems installed the following executables: /home/deivid/.rbenv/versions/2.7.1/bin/gem /home/deivid/.rbenv/versions/2.7.1/bin/bundle ``` This is because the `$LOAD_PATH` entry added by `setup.rb` is relatively and when the offending require happens, we're installing `bundler` and have switched folders to `bundler/`. So the require fallsback to the system rubygems. To avoid that, add an absolute path to the `$LOAD_PATH`. On jruby, somehow the $LOAD_PATH is manipulated so that we end up requiring stuff inside the built package even if we have specified the `-I` flag, so we get redefinition warnings anyways. I'm not sure about the root cause, but relative requiring fixes it, and it's faster anyways.
* [rubygems/rubygems] Require ext only in validate_extension, mention gemspec ↵Josef Šimánek2020-06-051-2/+2
| | | | | | in warning. https://github.com/rubygems/rubygems/commit/5e31e1a421
* [rubygems/rubygems] Add build warning when rake based extension is present, ↵Josef Šimánek2020-06-053-0/+47
| | | | | | but rake is not specified as dependency. https://github.com/rubygems/rubygems/commit/75fe5475b6
* [rubygems/rubygems] Prefer start_with? and end_with? over regex.Olle Jonsson2020-06-054-5/+7
| | | | | | | | | | - In one of the cases, filenames were checked for ending with "gz" - this is changed to check for ending with ".gz" - The change was made to make it even easier to read the code, and to match only from the start of the input (as opposed to start of the line) https://github.com/rubygems/rubygems/commit/aac4290271
* [rubygems/rubygems] Fix template cleanup as wellDavid Rodríguez2020-06-052-2/+4
| | | | https://github.com/rubygems/rubygems/commit/10cc79ee21
* [rubygems/rubygems] Fix installing template files with dotsDavid Rodríguez2020-06-052-1/+6
| | | | https://github.com/rubygems/rubygems/commit/a82a77251d
* [rubygems/rubygems] Remove unnecessary parenthesisDavid Rodríguez2020-06-051-2/+2
| | | | https://github.com/rubygems/rubygems/commit/97772bb066
* [rubygems/rubygems] Move require to the topbronzdoc2020-06-051-2/+1
| | | | https://github.com/rubygems/rubygems/commit/e6cabc3f1e
* [rubygems/rubygems] Use ruby_with_rubygems_in_load_path helperbronzdoc2020-06-051-3/+5
| | | | https://github.com/rubygems/rubygems/commit/5e6d82b1f2
* [rubygems/rubygems] Make sure rubygems/package can be directly required reliablybronzdoc2020-06-052-0/+7
| | | | https://github.com/rubygems/rubygems/commit/73c199b087
* [rubygems/rubygems] Delay `fileutils` loading to fix some warningsDavid Rodríguez2020-06-051-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the following conditions are met: * You have a default version of fileutils and a higher version of fileutils installed as a regular gem. This case is common on ruby 2.6. * You use a bundler generated binstub on a gem setup with a `Gemfile` using the `gemspec` DSL. Then `fileutils` redefinition warnings happen because of the following: The gist of a bundler generated binstub is: ```ruby require "bundler/setup" load Gem.bin_path("rake", "rake") ``` First configure bundler, then load the requested gem. When `require "bundler/setup"` is called under the previously mentioned setup, `ext_conf_builder.rb` ends up being required because of the new validation that gemspecs with rake extensions depend on `rake`. And that loads the latest version of `fileutils` because of using "rubygems monkeypatched require" that auto-chooses the latest version of default gems. After that, when `Gem.bin_path` gets called, `ext_conf_builder.rb` gets required again, but this time already using "bundler's unmonkeypatched require" which means the default version is chosen and thus the redefinition warning happens. The solution as usual is to lazily load `fileutils`. https://github.com/rubygems/rubygems/commit/08d64e5f06
* [rubygems/rubygems] Make `rake package` log messages to stdout by defaultDavid Rodríguez2020-06-052-0/+29
| | | | | | | The logging to $stderr is only happening due to a bug in `FileUtils`. Logging messages are not errors. https://github.com/rubygems/rubygems/commit/4d1b6659e6
* [rubygems/rubygems] Move setting verbosity to each testDavid Rodríguez2020-06-051-1/+8
| | | | | | So that I can add a separate test that doesn't set it. https://github.com/rubygems/rubygems/commit/5726cb418c
* [rubygems/rubygems] Don't leave side effects on verbosityDavid Rodríguez2020-06-051-0/+8
| | | | https://github.com/rubygems/rubygems/commit/c58e711598
* [rubygems/rubygems] Remove unnecessary rescue and loading of bundlerDavid Rodríguez2020-06-051-6/+2
| | | | https://github.com/rubygems/rubygems/commit/7ecc216505
* [rubygems/rubygems] Remove explicit `psych` activationDavid Rodríguez2020-06-051-7/+0
| | | | | | | | | | | We don't need to explictly activate `psych` since `require` will take care of that automatically. We don't need to care about a minimum version either since the oldest ruby we support at the moment ships with a `psych` version higher than 2.0.0. https://github.com/rubygems/rubygems/commit/1ccf0912a1
* Manually pick from rubygems/rubygems changes atHiroshi SHIBATA2020-06-051-44/+56
| | | | https://github.com/rubygems/rubygems/pull/3666/commits/ca5bf584026c9fd3a288eb10c65493e9f01ccc44
* Re-record all cassettesDavid Rodríguez2020-06-051-0/+1
| | | | | | I had to pin `redis-namespace` in our spec to 1.6.0 because on ruby 2.3.0 the spec no longer resolved to that version, so the cached `.gem` file was missing there.
* Fix `bin/rake spec:realworld:record`David Rodríguez2020-06-051-1/+0
| | | | | | | | | | | Previously it was failing and not recording. Also, the `BUNDLER_SPEC_FORCE_RECORD` environment variable was forcing every request to be recorded, including duplicated requests to the same endpoint. That meant the recorded `versions` file would be incorrect because it would contain the result of the last request, which would be `304 NOT MODIFIED`. So, to rerecord, delete cassettes and let them be recorded when needed.
* [rubygems/rubygems] Remove multiline gem specifications correctlyCarsten Wirth2020-06-052-2/+37
| | | | https://github.com/rubygems/rubygems/commit/8dca0ad56e
* [rubygems/rubygems] Fix typoDavid Rodríguez2020-06-051-1/+1
| | | | | | Co-authored-by: Carsten Wirth <carsten.wirth@homeday.de> https://github.com/rubygems/rubygems/commit/c7c5ca68db
* Link to pre-filtered issue listJakob Krigovsky2020-06-051-1/+1
|
* Update links from rubygems/bundler to rubygems/rubygemsJakob Krigovsky2020-06-054-8/+8
|
* [rubygems/rubygems] Fix `bundle info` not indicating a gem which has been ↵DEVRAJ KUMAR2020-06-052-3/+15
| | | | | | | | deleted, unlike `bundle show` Co-Authored-By: David Rodríguez <deivid.rodriguez@riseup.net> https://github.com/rubygems/rubygems/commit/2851b40ffb
* [rubygems/rubygems] Display test_framework_hint before prompting for user ↵Frank Lam2020-06-051-2/+3
| | | | | | | | | | selection * On ubuntu-bundler/ubuntu_bundler3, longer lines of text get cut off after ~50 characters * Example: https://github.com/rubygems/rubygems/pull/3544/checks?check_run_id=703658810 https://github.com/rubygems/rubygems/commit/6a17847fd8
* [rubygems/rubygems] Tag test framework hint specs and use out helperFrank Lam2020-06-051-8/+11
| | | | https://github.com/rubygems/rubygems/commit/1db61b5b5e
* [rubygems/rubygems] Add user hint specs for bundle gem --testFrank Lam2020-06-052-7/+27
| | | | https://github.com/rubygems/rubygems/commit/1d2292a88f
* [rubygems/rubygems] Conditionally display test framework help textFrank Lam2020-06-051-3/+16
| | | | https://github.com/rubygems/rubygems/commit/8b51a86265
* [rubygems/rubygems] Rebuild bundler man pagesFrank Lam2020-06-057-263/+263
| | | | | | | | | | | | * Recently built man pages on my branch had odd whitespace/characters resulting from using the macOS installed version of groff (v1.19) and homebrew's (v1.24) * Followed the advice in this pull request: https://github.com/rubygems/rubygems/pull/3394 * Encountered invalid byte sequence sed error, found this link: https://lists.gnu.org/archive/html/groff/2014-10/msg00072.html https://github.com/rubygems/rubygems/commit/f379d1d70e
* [rubygems/rubygems] Fix bundle gem ignoring global gem.test configFrank Lam2020-06-0513-288/+361
| | | | | | | | | | | | | | | | | | | | | | | | | | * bundle gem previously ignored gem.test when passed empty -t flag, defaulting to RSpec * bundle gem will now ask user for test framework when passed empty -t flag and gem.test is set to false, but will not overwrite gem.test * thor option parsing for String types falls back to human name for nil, so setting lazy_default to nil won't work * https://github.com/erikhuda/thor/blob/c5161501e0cfac7a8c5b838a9c6084c275f03c0d/lib/thor/parser/options.rb#L224 Default to Bundler.settings["gem.test"] for empty --test Add shared examples for test framework to newgem spec Add examples for empty --test flag to newgem spec Simplify conditional for prompting test framework Follow naming conventions for bundler settings Add more descriptive test framework help text for bundle gem Update man pages for bundler https://github.com/rubygems/rubygems/commit/ab0785a09f
* [rubygems/rubygems] Fix parallel installer race conditionDavid Rodríguez2020-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main thread may detect that installation has finished and thus abort, while the thread responsible for installing the spec that failed has not yet set the error message. In this case, the install process will abort with a misterious "empty" exception. I can be force the issue to reproduce by applying the following patch: ```diff diff --git a/bundler/lib/bundler/installer/parallel_installer.rb b/bundler/lib/bundler/installer/parallel_installer.rb index 3dee9f4664..7827a11d11 100644 --- a/bundler/lib/bundler/installer/parallel_installer.rb +++ b/bundler/lib/bundler/installer/parallel_installer.rb @@ -166,6 +166,7 @@ module Bundler spec_install.post_install_message = message unless message.nil? else spec_install.state = :failed + sleep 1 spec_install.error = "#{message}\n\n#{require_tree_for_spec(spec_install.spec)}" end Plugin.hook(Plugin::Events::GEM_AFTER_INSTALL, spec_install) @@ -183,6 +184,7 @@ module Bundler end def finished_installing? + sleep 0.5 @specs.all? do |spec| return true if spec.failed? spec.installed? diff --git a/bundler/lib/bundler/rubygems_gem_installer.rb b/bundler/lib/bundler/rubygems_gem_installer.rb index 8ce33c3953..c585cd517b 100644 --- a/bundler/lib/bundler/rubygems_gem_installer.rb +++ b/bundler/lib/bundler/rubygems_gem_installer.rb @@ -42,6 +42,7 @@ module Bundler return true unless source = @package.instance_variable_get(:@gem) return true unless source.respond_to?(:with_read_io) digest = source.with_read_io do |io| + raise BundlerError, "asdafss" digest = SharedHelpers.digest(:SHA256).new digest << io.read(16_384) until io.eof? io.rewind ``` and running `bin/rspec spec/install/gems/compact_index_spec.rb:892` will result in ``` Run options: include {:locations=>{"./spec/install/gems/compact_index_spec.rb"=>[892]}} exclude {:jruby=>true, :readline=>false, :permissions=>false, :no_color_tty=>false, :ruby_repo=>false, :bundler=>"!= 2", :git=>"!= 2.26.2", :rubygems=>"!= 3.2.0.pre1", :realworld=>true, :sudo=>true} Randomized with seed 59277 F Retried examples: 0 Failures: 1) compact index api checksum validation raises when the checksum is the wrong length Failure/Error: expect(err).to include("The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest") expected "" to include "The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest" Commands: $ /home/deivid/.rbenv/versions/2.7.1/bin/ruby -I/home/deivid/Code/rubygems/rubygems/bundler/spec -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/artifice/compact_index_wrong_gem_checksum.rb -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/hax.rb /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle install --verbose --retry 0 Running `bundle install --retry 0 --verbose` with bundler 2.2.0.dev Found changes from the lockfile, re-resolving dependencies because the list of sources changed, the dependencies in your gemfile changed, you added a new platform to your gemfile HTTP GET http://localgemserver.test/versions HTTP 200 OK http://localgemserver.test/versions Fetching gem metadata from http://localgemserver.test/ Looking up gems ["rack"] HTTP GET http://localgemserver.test/info/rack HTTP 200 OK http://localgemserver.test/info/rack Resolving dependencies... Using bundler 2.2.0.dev 0: bundler (2.2.0.dev) from /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/specifications/bundler-2.2.0.dev.gemspec Fetching rack 1.0.0 Installing rack 1.0.0 Bundler::InstallError: /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:199:in `handle_error' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:102:in `call' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:78:in `call' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:271:in `install_in_parallel' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:197:in `install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:92:in `block in run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:12:in `block in lock' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `open' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `lock' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:73:in `run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:25:in `install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli/install.rb:66:in `run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:261:in `block in install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/settings.rb:121:in `temporary' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:260:in `install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:30:in `dispatch' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:24:in `start' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:49:in `block in <top (required)>' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:37:in `<top (required)>' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `load' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `<main>' # $? => 5 # ./spec/install/gems/compact_index_spec.rb:892:in `block (3 levels) in <top (required)>' # ./spec/spec_helper.rb:104:in `block (4 levels) in <top (required)>' # ./spec/spec_helper.rb:104:in `block (3 levels) in <top (required)>' # ./spec/support/helpers.rb:352:in `block in with_gem_path_as' # ./spec/support/helpers.rb:366:in `without_env_side_effects' # ./spec/support/helpers.rb:348:in `with_gem_path_as' # ./spec/spec_helper.rb:101:in `block (2 levels) in <top (required)>' # ./spec/spec_helper.rb:73:in `block (2 levels) in <top (required)>' # ./spec/support/rubygems_ext.rb:90:in `load' # ./spec/support/rubygems_ext.rb:90:in `gem_load_and_activate' # ./spec/support/rubygems_ext.rb:18:in `gem_load' Finished in 3.01 seconds (files took 0.14209 seconds to load) 1 example, 1 failure Failed examples: rspec ./spec/install/gems/compact_index_spec.rb:886 # compact index api checksum validation raises when the checksum is the wrong length Randomized with seed 59277 ``` Without any mention to `BundlerError` and the original "asdafss" message. Fix the issue by making sure the error message is set before the ":failed" status. https://github.com/rubygems/rubygems/commit/83c8feb2c4
* [rubygems/rubygems] Remove `forgotten_command_line_usages` from specsDavid Rodríguez2020-06-0523-103/+182
| | | | | | | | Instead, use the non-deprecated option except when specifically testing deprecated CLI flags. In that case, pass the flag directly and limit the specs to `bundler < 3`. https://github.com/rubygems/rubygems/commit/3d5e186241
* [rubygems/rubygems] Reword specs to not mention deprecated flagsDavid Rodríguez2020-06-058-33/+19
| | | | https://github.com/rubygems/rubygems/commit/f878a81f22
* [rubygems/rubygems] Rewrite dependency API specs to use new deployment modeDavid Rodríguez2020-06-052-13/+16
| | | | | | | | | Some of them were passing "by chance" because they used a `bundle install` command that failed, but the assertion was using the result of the previous. Others were skipped on bundler 3. Now they all pass in all versions. https://github.com/rubygems/rubygems/commit/cedf611e11
* [rubygems/rubygems] Make `forgotten_command_line_options` always "forget" ↵David Rodríguez2020-06-051-2/+0
| | | | | | options https://github.com/rubygems/rubygems/commit/4d39338670
* [rubygems/rubygems] Improve specs testing option remembering behaviorDavid Rodríguez2020-06-052-5/+5
| | | | | | By making them more explicit. https://github.com/rubygems/rubygems/commit/9979c5a811
* [rubygems/rubygems] Centralize `with` and `without` settingDavid Rodríguez2020-06-051-6/+2
| | | | https://github.com/rubygems/rubygems/commit/5e854722e2
* [rubygems/rubygems] Remove redundant substractionDavid Rodríguez2020-06-051-1/+1
| | | | https://github.com/rubygems/rubygems/commit/365b46329b
* [rubygems/rubygems] Remove unnecessary option mutationDavid Rodríguez2020-06-051-5/+2
| | | | https://github.com/rubygems/rubygems/commit/744c03d144