summaryrefslogtreecommitdiff
path: root/spec
AgeCommit message (Collapse)Author
2023-10-09[rubygems/rubygems] Avoid duplicates -rbundler/setup in RUBYOPT with Ruby ↵Jacopo
preview When using a Ruby preview the require path of `bundler/setup` is similar to `-r/opt/ruby3.3.0-preview2/lib/ruby/3.3.0+0/bundler/setup`. The special character `+` in the string makes the Regexp fail, leading to multiple addition of the same require statement each time `set_rubyopt` is called (e.g. server reloading). Escaping the characters in the string esure a correct match with all the different Ruby versions. https://github.com/rubygems/rubygems/commit/dd43dfa709
2023-10-04BigDecimal#to_s has not changed for fraction partNobuyoshi Nakada
The test for integer part was separated at dc54574adefe.
2023-10-03[rubygems/rubygems] Prevent gem activation in standalone modeDaniel Colson
As discussed in https://github.com/rubygems/rubygems/issues/6273#issuecomment-1449176658 The `gem` method behaves awkwardly in standalone mode. Assuming bundler isn't loaded at all, a call to gem might activate a gem that is not part of the bundle (because it's the gem method defined in lib/rubygems/core_ext/kernel_gem.rb and not lib/bundler/rubygems_integration.rb). And when running with `--disable-gems`, the gem method won't be defined at all so we'll get a NoMethodError. Calls to `gem` can appear in dependencies outside an application's control. To work around this at GitHub we defined our own `Kernel#gem` that no-ops. I agree with https://github.com/rubygems/rubygems/issues/6273#issuecomment-1440755882 > people using standalone mode don't want to activate gems like Kernel.gem This commit redefines `Kernel#gem` in the standalone script to no-op. https://github.com/rubygems/rubygems/commit/bea17b55f1
2023-10-03[rubygems/rubygems] Don't re-resolve with prereleases if unlocked gem has no ↵David Rodriguez
prereleases https://github.com/rubygems/rubygems/commit/d76dc70d90
2023-10-03[rubygems/rubygems] Fix typoDavid Rodriguez
https://github.com/rubygems/rubygems/commit/64e7a2656a
2023-10-03[rubygems/rubygems] 🐛 Specification of branch or ref with tag is ambiguousPeter Boling
- Specs for GitProxy were incorrect and insufficient - Specs are now correct and less insufficient https://github.com/rubygems/rubygems/commit/63d0a8cfd0
2023-10-03[rubygems/rubygems] 🚨 Rubocop LintingPeter Boling
https://github.com/rubygems/rubygems/commit/2851e051c3
2023-10-03[DOC] State the precision of `Process.times` as platform-definedNobuyoshi Nakada
Remove the bad example that can lead to misunderstanding as if this precision is defined in Ruby.
2023-10-03Check by integer modulo instead of float stringNobuyoshi Nakada
2023-10-02[rubygems/rubygems] Support Ruby's preview version format (Ex: ↵Harshal Bhakta
3.3.0-preview2) in Gemfile https://github.com/rubygems/rubygems/commit/4c1a0511b6
2023-10-02[rubygems/rubygems] Include gemspec in ExtensionTask for native gem tasksGraham Marlow
https://github.com/rubygems/rubygems/commit/042cfb7007
2023-09-30Fix failures when all network interfaces are downNobuyoshi Nakada
2023-09-27[rubygems/rubygems] Reword a couple of error messagesDavid Rodriguez
When a path does not make a lot of sense. https://github.com/rubygems/rubygems/commit/d173c79e9a
2023-09-27[rubygems/rubygems] Fix bundle install when older revisions of git sourcekrororo
https://github.com/rubygems/rubygems/commit/a30712c0fc
2023-09-27[rubygems/rubygems] Fix `bundle lock --minor --update <dep>` edge caseDavid Rodriguez
When the latest allowed minor of `dep` adds a new dependency, that new dependency would be incorrectly resolved to the latest minor of the first major version. https://github.com/rubygems/rubygems/commit/fd50c9d4f3
2023-09-21[rubygems/rubygems] Stop bundler eagerly loading all specs with extsSamuel Giddins
We were setting the wrong `extension_dir` for git specs stubs Additionally, the call to `self.extension_dir` was loading the remote spec, which was avoidable since the stub had an extension dir (and in fact its #gem_build_complete_path does exactly what we want anyway) Finally, now set the base_dir when loading the remote_spec from a stub specification, since the git source sets the base dir for stubs based on where the spec _will_ be installed to, and we want to preserve that so the base_dir for the loaded spec & the stub are the same https://github.com/rubygems/rubygems/commit/a94acb465b
2023-09-20[rubygems/rubygems] Bundler error handlingSamuel Giddins
https://github.com/rubygems/rubygems/commit/63b422b71a
2023-09-20[rubygems/rubygems] Fix bundler specs using safe_loadSamuel Giddins
https://github.com/rubygems/rubygems/commit/ccb1bb5d3a
2023-09-14[rubygems/rubygems] Gemfile ruby file: covers more version formatsMartin Emde
Increase test coverage and be explicit about what is and is not supported. https://github.com/rubygems/rubygems/commit/a096397a00
2023-09-12Adjust CGI spec to pass when ran in isolationAlan Wu
It failed with `NameError` because `Html3` is defined in the file that `CGI::HtmlExtension` autoloads.
2023-09-12[rubygems/rubygems] Unify LockfileParser loading of SPECS sectionMartin Emde
Ensure unrecognized SPECS types are ignored https://github.com/rubygems/rubygems/commit/5b33e91075
2023-09-12Make Kernel#lambda raise when given non-literal blockAlan Wu
Previously, Kernel#lambda returned a non-lambda proc when given a non-literal block and issued a warning under the `:deprecated` category. With this change, Kernel#lambda will always return a lambda proc, if it returns without raising. Due to interactions with block passing optimizations, we previously had two separate code paths for detecting whether Kernel#lambda got a literal block. This change allows us to remove one path, the hack done with rb_control_frame_t::block_code introduced in 85a337f for supporting situations where Kernel#lambda returned a non-lambda proc. [Feature #19777] Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/8405
2023-09-04Update to ruby/spec@96d1072Benoit Daloze
2023-09-04Update to ruby/mspec@55d1a62Benoit Daloze
2023-09-01[rubygems/rubygems] Use assertion message strictlyHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/98da5b9826
2023-08-30BasicSocket#recv* return `nil` rather than an empty packetJean Boussier
[Bug #19012] man recvmsg(2) states: > Return Value > These calls return the number of bytes received, or -1 if an error occurred. > The return value will be 0 when the peer has performed an orderly shutdown. Not too sure how one is supposed to make the difference between a packet of size 0 and a closed connection. Notes: Merged: https://github.com/ruby/ruby/pull/6407
2023-08-29[rubygems/rubygems] Fix bundle update --redownloadSamuel Giddins
It now does the redownloading/installing just like bundle install --redownload https://github.com/rubygems/rubygems/commit/3b058e5eca
2023-08-28[rubygems/rubygems] Fixed malformed lockfile version on installingImir Kiyamov
https://github.com/rubygems/rubygems/commit/c969a192bf
2023-08-28[rubygems/rubygems] Don't check for circular deps on full index sourcesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d275cdccb1
2023-08-28[rubygems/rubygems] Fix standalone install crashing when using legacy multi ↵David Rodríguez
remote gemfiles If a legacy multi remote Gemfile depends transitively on a default gem, then in standalone mode we'd fail to fetch the proper version from the source that includes it, since we were adding it to `specs` (instead of `remote_specs`), which was already including the default version of the gem, and thus preventing the remote version from "overwriting that" and being added to the index. We should add it to the `remote_specs` index directly instead. https://github.com/rubygems/rubygems/commit/05f4f9dfc0
2023-08-28[rubygems/rubygems] Refactor Fetcher#api_fetcher? and fetcher loading logicMartin Emde
https://github.com/rubygems/rubygems/commit/f664d60114
2023-08-26[Bug #19784] Fix behaviors against prefix with broken encodingNobuyoshi Nakada
- String#start_with? - String#delete_prefix - String#delete_prefix! Notes: Merged: https://github.com/ruby/ruby/pull/8296
2023-08-25[rubygems/rubygems] Don't use full indexes unnecessarily on legacy GemfilesDavid Rodríguez
On legacy Gemfiles with multiple remote sources, where all of them support the compact index API, we were still falling back to full indexes. Fixing this also allows to simplifying the code. https://github.com/rubygems/rubygems/commit/b1357c8e72
2023-08-24Fix support for dynamic keys. (#8273)Samuel Williams
* Skip RBS test. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2023-08-23Quarantine a very flaky specTakashi Kokubun
https://github.com/ruby/ruby/actions/runs/5956398507/job/16157091112 This has been extremely flaky on macOS GitHub Actions. Benoit suggested to quarantine it if it's too problematic (it is) and there's no reasonable fix in a short time (it already took too long). So this commit follows the suggestion. We should remove revert this once rb_cloexec_open() is fixed.
2023-08-21[rubygems/rubygems] Support `ruby file: ".tool-versions"` in GemfileGaurav Khanna
(https://github.com/rubygems/rubygems/pull/6898) Supports .tool-versions (ASDF) by checking for a line starting with "ruby" before falling back to reading the entire file, as in .ruby-version. https://github.com/rubygems/rubygems/commit/6c0a3e793a
2023-08-18[rubygems/rubygems] Resolve ruby version file relative to bundle rootNgan Pham
This is a follow up to https://github.com/rubygems/rubygems/issues/6742. This change makes it so that the version file is resolved relative to the Bundle root instead of the working directory. Why is this useful? If you run a commnad (eg `rails`) from the `app/` directory, your bundle would fail to load. https://github.com/rubygems/rubygems/commit/6d47ee98b9
2023-08-17[rubygems/rubygems] Add `file` option to `ruby` method in GemfileNgan Pham
https://github.com/rubygems/rubygems/commit/fb9354b7bf
2023-08-16[rubygems/rubygems] Show better error when PAT can't authenticate to a ↵David Rodríguez
private server Before: ``` Fetching gem metadata from https://rubygems.org/........ Fetching source index from https://rubygems.pkg.github.com/my-org/ Bad username or password for https://x-access-token@rubygems.pkg.github.com/my-org/. Please double-check your credentials and correct them. ``` After: ``` Fetching gem metadata from https://rubygems.org/........ Fetching source index from https://rubygems.pkg.github.com/my-org/ Access token could not be authenticated for https://x-access-token@rubygems.pkg.github.com/my-org/. Make sure it's valid and has the necessary scopes configured. ``` https://github.com/rubygems/rubygems/commit/2ae69c964a
2023-08-16[rubygems/rubygems] Bad auth should not fallback eitherDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ba3ea27869
2023-08-16[rubygems/rubygems] Use better status for authentication failuresDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ffa395411f
2023-08-16[rubygems/rubygems] Fix git source conservativenessDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9a0e0dfd5b
2023-08-12[DOC] Update to use `SPECOPTS` instead of `MSPECOPT`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8210
2023-08-12Add dotted countsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8210
2023-08-12For parallel testNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8210
2023-08-12Fold dotted outputs from test-specNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8210
2023-08-10Deprecate Kernel#open and IO support for subprocess creation/forkingMike Dalessio
Deprecate Kernel#open and IO support for subprocess creation and forking. This deprecates subprocess creation and forking in - Kernel#open - URI.open - IO.binread - IO.foreach - IO.readlines - IO.read - IO.write This behavior is slated to be removed in Ruby 4.0 [Feature #19630] Notes: Merged: https://github.com/ruby/ruby/pull/7915
2023-08-02Update to ruby/spec@9e278f5Benoit Daloze
2023-08-02Fix encoding switches when RUBYOPT is empty or only spacesBenoit Daloze
* Follow-up of dbbc3583ba432c279f07b1fa0afb0a8a9ba50c91 which broke this.
2023-07-31`Refinement#refined_class` is now deprecatedNobuyoshi Nakada