aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[rubygems/rubygems] Remove unneeded global teardown"Hiroshi SHIBATA2020-05-0810-28/+4
| | | | This reverts commit 93d1588c782ab9d61699f98b6c64d7f0ab8121c0.
* Revert "[rubygems/rubygems] Remove unneeded teardown"Hiroshi SHIBATA2020-05-081-0/+6
| | | | This reverts commit 0da416ab170dbe1cbd530a5a7c5e8128910014b2.
* [rubygems/rubygems] Remove unneeded teardownDavid Rodríguez2020-05-081-6/+0
| | | | | | Tests using credentials shouldn't be leaving side effects. https://github.com/rubygems/rubygems/commit/975bcafdfc
* [rubygems/rubygems] Remove unneeded global teardownDavid Rodríguez2020-05-0810-4/+28
| | | | | | Instead, make each test cleanup after itself. https://github.com/rubygems/rubygems/commit/e0aba9d64f
* [rubygems/rubygems] Removed needless setup to clear credentialHiroshi SHIBATA2020-05-081-1/+1
| | | | https://github.com/rubygems/rubygems/commit/4f694f4fb7
* [rubygems/rubygems] Also added credential_setup to the some of testsHiroshi SHIBATA2020-05-082-0/+5
| | | | https://github.com/rubygems/rubygems/commit/2ac557d008
* [rubygems/rubygems] Split credential helper as credential_setup and use itHiroshi SHIBATA2020-05-084-0/+9
| | | | https://github.com/rubygems/rubygems/commit/b0c55c76ca
* [rubygems/rubygems] Revert adding loaded specs to `Gem::Specification.stubs` ↵David Rodríguez2020-05-081-42/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and `Gem::Specification.stubs_for` The rationale is that: * The change has caused realworld issues. See for example https://github.com/ruby/did_you_mean/issues/117 and specifically [this comment](https://github.com/ruby/did_you_mean/issues/117#issuecomment-482733159) for a great explanation of the issue it caused for `did_you_mean`. * The change also causes problems for our development workflows. For example, because of it, our `bundler` specs cannot currently be run with `bin/rake` and we have to use `bin/rspec` or `bin/parallel_spec` directly. The explanation for this is: - Our specs install test dependencies to `tmp` before running specs. - `rake` is one of these test dependencies. - Before installing each test dependency, we check whether it has matching installed specs: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/bundler/spec/support/rubygems_ext.rb#L109-L114. - Normally, if `rake` has not yet been installed to `tmp`, this check fails and `rake` is installed, but since the loaded specs are now added to `Gem::Specification.stubs` and `rake`'s specification _is_ loaded because we're running through `bin/rake`, the check incorrectly assumes that `rake` is already installed to `tmp` and skips installation. - At a later point the specs check whether `rake` is actually installed and fail if it's not: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/bundler/spec/support/builders.rb#L372-L383 Essentially, both of the issues are the same. If at runtime we change the location of gems, we'll _want_ to not consider loaded specifications when dealing with the new gem location, because the loaded specifications have not been loaded from there. Loaded specifications is something different from installed stub specifications and those should not be mixed. The PR still seemed to have fixed an issue, so I did my archaeology job and investigated the original issue to double check if reverting is ok. The logs for the original error can be found here: https://ci.appveyor.com/project/rubygems/rubygems/build/1172/job/ogubyucpljcv22ux. So I installed ruby 2.4.4, checked out the commit reference before the offending PR, and the exact error reproduced. :tada: ``` $ rake test /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:231:in `search_for': Unable to resolve dependency: user requested 'bundler (= 1.16.2)' (Gem::UnsatisfiableDependencyError) from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:283:in `block in sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `each' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `sort_by' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `with_index' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:52:in `block in sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:69:in `with_no_such_dependency_error_handling' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:51:in `sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:165:in `initial_state' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:106:in `start_resolution' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:64:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb:42:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:188:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/request_set.rb:396:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/request_set.rb:408:in `resolve_current' from /home/deivid/Code/rubygems/lib/rubygems.rb:243:in `finish_resolve' from /home/deivid/Code/rubygems/lib/rubygems/rdoc.rb:13:in `<top (required)>' from /home/deivid/Code/rubygems/lib/rubygems/core_ext/kernel_require.rb:54:in `require' from /home/deivid/Code/rubygems/lib/rubygems/core_ext/kernel_require.rb:54:in `require' from /home/deivid/Code/rubygems/lib/rubygems/test_case.rb:1563:in `<top (required)>' from /home/deivid/Code/rubygems/test/rubygems/test_bundled_ca.rb:2:in `require' from /home/deivid/Code/rubygems/test/rubygems/test_bundled_ca.rb:2:in `<top (required)>' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:15:in `require' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:15:in `block in <main>' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:4:in `select' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:4:in `<main>' rake aborted! Command failed with status (1) Tasks: TOP => test ``` Now the explanation of the error: * Rubygems base `TestCase` class requires `bundler` because some tests use `bundler`: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/test_case.rb#L26 * That `require` (our custom rubygems require) would activate the default bundler spec (1.16.1 for ruby 2.4.4) but then overwrite it with a 1.16.2 version (the locally provided bundler those days) due to [this old hack](https://github.com/rubygems/bundler/blob/9f7bf0ac3ab8d995e3a274cec3c292a5203f4534/lib/bundler/version.rb#L7-L23). * Rubygems base `TestCase` class requires `rubygems/rdoc`: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/test_case.rb#L1536 * And that file ends up calling `Gem.finish_resolve`: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/rdoc.rb#L13 * `Gem.finish_resolve` adds the currently loaded specs to the resolution: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems.rb#L235 * That means it would try to resolve bundler 1.16.2, but no specification for that version was installed since the default was 1.16.1. That explains why upgrading to rubygems 2.7.7 fixed the issue, since it provided bundler 1.16.2 by default so there was not bundler version discrepancy. After understanding the error, I conclude that: * Only this part of the original patch was actually needed to resolve the error, not any of the changes in `Gem::Specification.stubs` and `Gem::Specification.stubs_for`: ```diff diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb index f1cd3d274c..92c848e870 100644 --- a/lib/rubygems/test_case.rb +++ b/lib/rubygems/test_case.rb @@ -13,6 +13,15 @@ else require 'rubygems' end +# If bundler gemspec exists, add to stubs +bundler_gemspec = File.expand_path("../../../bundler/bundler.gemspec", __FILE__) +if File.exist?(bundler_gemspec) + Gem::Specification.dirs.unshift File.dirname(bundler_gemspec) + Gem::Specification.class_variable_set :@@stubs, nil + Gem::Specification.stubs + Gem::Specification.dirs.shift +end + begin gem 'minitest' rescue Gem::LoadError ``` So, I propose to revert adding loaded specification to `Gem::Specification.stubs` and `Gem::Specification.stubs_for` because I think it's safe, it fixes the issues caused by their addition, and it simplifies `Gem::Specification` code, which is already complicated enough. https://github.com/rubygems/rubygems/commit/5269cd617c
* [rubygems/rubygems] Test that two calls to `stub_for` returns the same ↵Vít Ondruch2020-05-081-0/+5
| | | | | | (cached) instance. https://github.com/rubygems/rubygems/commit/00b3f55562
* [rubygems/rubygems] Let `@@stubs_by_name` to be incrementally populated again.Vít Ondruch2020-05-081-0/+19
| | | | | | | | | | | | | | | | | | | Originally, the call to `.stubs_for` allowed to incrementally populate the `@@stubs_by_name` (especially see the `"#{name}-*.gemspec"` pattern in 4fa03bb7aac9f25f44394e818433fdda9962ae8d). Now it looks like it expects that all stubs are loaded, but the `.stubs_for` still matches the .gemspec files by the `name` pattern: https://github.com/rubygems/rubygems/blob/6d45e0f7ac1caca22900e39f703e226c4cfdebf7/lib/rubygems/specification.rb#L845 I think this was done by mistake incrementally by PR #1239 and 4cee8ca9199ac7b3ab8647e0b78615f55d3eb02b. I think the best option is to get back to the original implementation, to let RubyGems incrementally populate the array. Other option would be to replace the logic in `.stub_for` by call to `.stubs`, but the means the performance improvement from the original commit was lost. https://github.com/rubygems/rubygems/commit/4d0e18185a
* [rubygems/rubygems] Require open3 before using itDavid Rodríguez2020-05-081-0/+1
| | | | | | Otherwise if this test file is run in isolation, this test will fail. https://github.com/rubygems/rubygems/commit/79da003948
* [rubygems/rubygems] Remove old `gauntlet_rubygems` file on rubygems upgradeDavid Rodríguez2020-05-081-1/+3
| | | | | | | | The file was removed at https://github.com/rubygems/rubygems/commit/65b709b095b8354ac2620d1a5d7d537e539f6498, shipped with rubygems 2.6.5. https://github.com/rubygems/rubygems/commit/739159a120
* [rubygems/rubygems] Skip flaky tests on jrubyDavid Rodríguez2020-05-081-0/+2
| | | | | | | | I believe these are most certainly due to a problem outside of rubygems. I'm skipping these at least until webrick officially supports jruby (defining "officially" as "webrick's CI passes on jruby"). https://github.com/rubygems/rubygems/commit/4fca025358
* Remove `builder` gem requirement for `gem regenerate_index`David Rodríguez2020-05-083-12/+2
| | | | | | | | This requirement was introduced 14 years ago in 7ce7039b390440754954df5efea619e9f57ef823, and I don't think it's necessary anymore. I made several tests introducing UTF-8 characters in gemspec files and generating indexes out of them, and couldn't find any issues. Gemspecs are read with UTF-8 encoding these days.
* [rubygems/rubygems] Remove unnecessary code from remote fetcher testsDavid Rodríguez2020-05-081-3/+0
| | | | | | | | | This code is not necessary and has the bad side effect of causing test failures in cascade once a single test inside the file fails. See https://github.com/rubygems/rubygems/runs/538978838 for an example. https://github.com/rubygems/rubygems/commit/2291d32915
* [rubygems/rubygems] Now `Dir.tmpdir` is fixed and there's never such a folderDavid Rodríguez2020-05-081-4/+0
| | | | https://github.com/rubygems/rubygems/commit/44ebbded12
* [rubygems/rubygems] Show gemspec location when a Gem::MissingSpecError is ↵bronzdoc2020-05-081-0/+1
| | | | | | raised while trying to activate a gem https://github.com/rubygems/rubygems/commit/4da54a8e8b
* [rubygems/rubygems] Fix incorrect bundler version being requiredDavid Rodríguez2020-05-081-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In ruby 2.7.0, there's a slight change in bundler's default gemspec file where the executable folder of the bundler gem is `libexec` instead of `exe`. I made that change in https://github.com/ruby/ruby/pull/2380 to try to simplify the integration of the `bundler` gem with upstream, minimizing the number of changes that need to be made to the gemspec to adapt to the structure of ruby-core. That worked ok, expected for this issue. The new name of the folder including the executable files uncovered a bug in rubygems, which is the following: * In order to be able to use newer versions of default gems, `rubygems` ships with a customized `require` that has knowledge about which files belong to which default gem. If one of these files is required, `rubygems` will detect that and activate its gem mechanism to choose the newest version of the corresponding default gem present in the system (unless a different version has already been activated). It's this part of the custom require: https://github.com/rubygems/rubygems/blob/ea3e6f194df500b028b52b3b64decbd3df1d5ab0/lib/rubygems/core_ext/kernel_require.rb#L77-L85 * In order to do that, `rubygems` registers a map of default gems and their files when it is first required: https://github.com/rubygems/rubygems/blob/ea3e6f194df500b028b52b3b64decbd3df1d5ab0/lib/rubygems.rb#L1247-L1276 As explained in the method's header, two types of default gem specifications are supported. One of the formats is the style used by some ruby-core gemspec files, where paths inside the `spec.files` array don't include the `spec.require_paths` part. So in this "old style", if a gem ships with a `lib/bundler.rb` file, it will be registered in this array as `spec.files = ["bundler.rb"]`, not as `spec.files = ["lib/bundler.rb"]`. The `Gem.register_default_spec` method "detects" this style by making sure that none of the files in the `spec.files` array start with any of the `spec.require_paths`. * Since in ruby 2.7 the default specification file of the `bundler` gem includes a `libexec/bundle` file, this check would no longer work correctly, because even though the specification file is still "old style", it has one registered file which starts with "lib", one of the "require paths" of the gem. * This means that the gem is incorrectly detected as "new style", but since none of the paths start with "lib/", no files are actually registered, so the gem is not being considered a default gem, and thus the default version is always used with no possibility of being "upgraded". The fix of the problem is simple: check that no files start with `lib/` (or any other require paths), instead of with "lib" which doesn't exclude other potential "non requirable folder" starting with lib, like in the `bundler` case. https://github.com/rubygems/rubygems/commit/94df740c2b
* [rubygems/rubygems] Specify explicit separator not to be affected by $;Nobuyoshi Nakada2020-05-081-0/+21
| | | | https://github.com/rubygems/rubygems/commit/1cea3d4dce
* [rubygems/rubygems] Install man files when bundler installed as a default gemDavid Rodríguez2020-05-081-0/+50
| | | | https://github.com/rubygems/rubygems/commit/28d6d77d81
* [rubygems/rubygems] Refactor dummy file creationDavid Rodríguez2020-05-081-64/+26
| | | | https://github.com/rubygems/rubygems/commit/665099fe53
* [rubygems/rubygems] Fix super weird code styleDavid Rodríguez2020-05-081-2/+2
| | | | https://github.com/rubygems/rubygems/commit/f1a5815896
* [rubygems/rubygems] Follow the pattern of other test files for foo.pemDavid Rodríguez2020-05-081-1/+1
| | | | https://github.com/rubygems/rubygems/commit/a43cffddad
* [rubygems/rubygems] Move helper methods to private section of the test fileDavid Rodríguez2020-05-081-24/+24
| | | | https://github.com/rubygems/rubygems/commit/b85db66e2d
* [rubygems/rubygems] Install existing gems as regular gemsDavid Rodríguez2020-05-081-14/+9
| | | | https://github.com/rubygems/rubygems/commit/a0880d78a8
* [rubygems/rubygems] Remove misleading commentsDavid Rodríguez2020-05-081-7/+0
| | | | | | | | | | | | | | `site_dir`, or `vendor_dir`, is the location where the default version of bundler & rubygems gets installed. These folders are placed directly in the LOAD_PATH, so they cannot hold any nested gem directory structure. So a single copy of either rubygems or bundler can be placed in these folders. What the tests are actually testing is the TODO comment that I'm removing: that installing the default copy of bundler doesn't affect any already installed copies of bundler as regular gems. https://github.com/rubygems/rubygems/commit/7ca8831d72
* [rubygems/rubygems] Remove unnecessary lineDavid Rodríguez2020-05-081-2/+0
| | | | https://github.com/rubygems/rubygems/commit/1d0981809a
* [rubygems/rubygems] Condense some artificially broken linesDavid Rodríguez2020-05-081-13/+5
| | | | | | Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/5f390478c7
* [rubygems/rubygems] Extract `gem_make_out` contents to a variableDavid Rodríguez2020-05-081-4/+5
| | | | | | Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/5f2b7474eb
* [rubygems/rubygems] Fix incorrect `gem uninstall --all` messageDavid Rodríguez2020-05-081-0/+1
| | | | | | | | | | | | | | | | | Currently `gem uninstall --all` shows the following incorrect message after completion: ``` INFO: Uninstalled all gems in ``` Now it shows something that actually makes sense like: ``` INFO: Uninstalled all gems in /home/deivid/Code/rubygems/tmp/test_rubygems_6986/gemhome ``` https://github.com/rubygems/rubygems/commit/8fa05e8f8c
* [rubygems/rubygems] Make cmake tests less verbose on jrubyDavid Rodríguez2020-05-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests work on jruby, but the flags to the system command used to detect whether `cmake` is present seem to be ignored on jruby and the output is printed to screen instead of being sent to /dev/null. This results in very verbose tests, like this: ``` $ rake TESTOPTS=--name=TestGemExtCmakeBuilder#test_self_build (... warnings skipped ...) Skipping `gem cert` tests on jruby. Skipping Gem::Security tests on jruby. Run options: --name=TestGemExtCmakeBuilder#test_self_build --seed 16839 # Running: /home/deivid/Code/rubygems/test/rubygems/test_gem_ext_cmake_builder.rb:13: warning: system does not support options in JRuby yet: {:out=>"/dev/null", :err=>[:child, :out]} Usage cmake [options] <path-to-source> cmake [options] <path-to-existing-build> Specify a source directory to (re-)generate a build system for it in the current working directory. Specify an existing build directory to re-generate its build system. Run 'cmake --help' for more information. . Finished in 0.387301s, 2.5820 runs/s, 20.6558 assertions/s. 1 runs, 8 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 2258 / 8832 LOC (25.57%) covered. ``` By using `Open3`, we get the test output clean: ``` $ rake TESTOPTS=--name=TestGemExtCmakeBuilder#test_self_build (... warnings skipped ...) Skipping `gem cert` tests on jruby. Skipping Gem::Security tests on jruby. Run options: --name=TestGemExtCmakeBuilder#test_self_build --seed 22605 # Running: . Finished in 0.381959s, 2.6181 runs/s, 20.9446 assertions/s. 1 runs, 8 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 2258 / 8832 LOC (25.57%) covered. ``` https://github.com/rubygems/rubygems/commit/531ce37ea3
* [rubygems/rubygems] Refactor ruby command line building for testsDavid Rodríguez2020-05-084-17/+11
| | | | https://github.com/rubygems/rubygems/commit/43819b6973
* [rubygems/rubygems] Update test_realworld_default_gem to use rubygems ↵Brandon Fish2020-05-081-1/+2
| | | | | | project sources https://github.com/rubygems/rubygems/commit/7506f7eb07
* [rubygems/rubygems] Remove unnecessary `@@ruby` variableDavid Rodríguez2020-05-082-6/+6
| | | | https://github.com/rubygems/rubygems/commit/5f20647ec1
* [rubygems/rubygems] Remove unneeded explicit requiresDavid Rodríguez2020-05-081-2/+2
| | | | https://github.com/rubygems/rubygems/commit/583316bf49
* [rubygems/rubygems] Remove unneeded dupsDavid Rodríguez2020-05-081-4/+4
| | | | https://github.com/rubygems/rubygems/commit/2f072e3dc7
* [rubygems/rubygems] Remove unneeded untaintingDavid Rodríguez2020-05-081-6/+6
| | | | https://github.com/rubygems/rubygems/commit/ff223d8489
* [rubygems/rubygems] Simplify nested require exceptionsDavid Rodríguez2020-05-081-0/+19
| | | | https://github.com/rubygems/rubygems/commit/7fbef2f0e3
* [rubygems/rubygems] Fix ruby warning about unused local variablesDavid Rodríguez2020-05-081-1/+1
| | | | https://github.com/rubygems/rubygems/commit/cca2fccd95
* [rubygems/rubygems] Fix ruby warnings about a shadowed variableDavid Rodríguez2020-05-081-2/+2
| | | | https://github.com/rubygems/rubygems/commit/5cfb3252d9
* [rubygems/rubygems] Fix symlink RubyGems test problems for non-admin user.Josef Šimánek2020-05-082-19/+9
| | | | https://github.com/rubygems/rubygems/commit/75f672ff0e
* [rubygems/rubygems] Allow spaces in file headers during octal checkDmytro Shyrshov2020-05-081-0/+19
| | | | https://github.com/rubygems/rubygems/commit/e9e25731d8
* Fix typo in test namePeter Zhu2020-05-081-1/+1
|
* [rubygems/rubygems] Remove unnecessary DIR constantDavid Rodríguez2020-05-081-13/+9
| | | | | | We have `__dir__` which is the same thing. https://github.com/rubygems/rubygems/commit/f89776427f
* [rubygems/rubygems] Move stuff to the instance levelDavid Rodríguez2020-05-081-139/+135
| | | | | | | | | I don't know why it was living at the class level. At first I thought it would be to reuse some server instances between tests, but they seem to be cleaned up after every test anyways, so I don't think any of it is needed. https://github.com/rubygems/rubygems/commit/04bee71216
* Normalize heredoc case in rubygems code baseDavid Rodríguez2020-05-085-22/+22
|
* [rubygems/rubygems] These specs seem to work just fine on jrubyBenoit Daloze2020-05-082-10/+0
| | | | https://github.com/rubygems/rubygems/commit/a0219b9f27
* [rubygems/rubygems] Only run the $SAFE test on MRI < 2.7Benoit Daloze2020-05-081-1/+1
| | | | | | * Other Ruby implementations don't support $SAFE. https://github.com/rubygems/rubygems/commit/9a4ba16efa
* [rubygems/rubygems] Autoload name_tuple.rb before useOlle Jonsson2020-05-081-0/+15
| | | | | | | | - Resolver asked Molinillo to resolve-then-activate, which led to using Gem::NameTuple before any require had been passed Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> https://github.com/rubygems/rubygems/commit/e11782b0c8
* [rubygems/rubygems] Add gem build test to check for removed methods.Josef Šimánek2020-05-083-1/+31
| | | | https://github.com/rubygems/rubygems/commit/c07b9cf4f1