summaryrefslogtreecommitdiff
path: root/spec/ruby
AgeCommit message (Collapse)Author
2024-03-14`Exception#set_backtrace` accept arrays of `Backtrace::Location`Jean Boussier
[Feature #13557] Setting the backtrace with an array of strings is lossy. The resulting exception will return nil on `#backtrace_locations`. By accepting an array of `Backtrace::Location` instance, we can rebuild a `Backtrace` instance and have a fully functioning Exception. Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
2024-03-13Make `const_source_location` return the real constant as soon as definedJean Boussier
[Bug #20188] Ref: https://github.com/fxn/zeitwerk/issues/281#issuecomment-1893228355 Previously, it would only return the real constant location once the autoload was fully completed.
2024-03-07Removed unused fixtures at time examplesHiroshi SHIBATA
2024-03-06Run `binding.irb` in cleaner environment and clean the history fileNobuyoshi Nakada
2024-03-06Use include instead of equal assertion.Hiroshi SHIBATA
irb will load multiple rc files now. If developer have their rcfile on home directory or etc, equal assertion will fail with custom prompt.
2024-03-05[DOC] fix some commentscui fliter
Signed-off-by: cui fliter <imcusg@gmail.com>
2024-03-03[Bug #20322] Fix rb_enc_interned_str_cstr null encodingThomas Marshall
The documentation for `rb_enc_interned_str_cstr` notes that `enc` can be a null pointer, but this currently causes a segmentation fault when trying to autoload the encoding. This commit fixes the issue by checking for NULL before calling `rb_enc_autoload`.
2024-03-01Add an example for fallback to shNobuyoshi Nakada
2024-02-28[PRISM] Fix version spec to account for prismKevin Newton
2024-02-27Handle zero-like imaginary part as zero in to_r (#9581)Kenta Murata
Fixes [Bug #5179]
2024-02-26Update to ruby/spec@3a510bbBenoit Daloze
2024-02-23Stop using rb_fstring publiclyPeter Zhu
rb_fstring is a private API, so we should use rb_str_to_interned_str instead, which is a public API.
2024-02-19[Bug #20280] Fix wrong testsNobuyoshi Nakada
2024-02-15Skip failing examples at Ruby 3.2+Hiroshi SHIBATA
2024-02-15Re-enabled old bundled gemsHiroshi SHIBATA
2024-02-15ruby-spec: Accept the receiver in backtracesYusuke Endoh
2024-02-15Rename and restructured net/ftp and net/http examplesHiroshi SHIBATA
2024-02-15Move examples related core extension feature by Bigdecimal to under the ↵Hiroshi SHIBATA
library/bigdecimal
2024-02-15ruby-spec: Accept both a backtick and a single quote in error messagesYusuke Endoh
2024-02-12proc.c: get rid of `CLONESETUP`Jean Boussier
[Bug #20253] All the way down to Ruby 1.9, `Proc`, `Method`, `UnboundMethod` and `Binding` always had their own specific clone and dup routine. This caused various discrepancies with how other objects behave on `dup` and `clone. [Bug #20250], [Bug #20253]. This commit get rid of `CLONESETUP` and use the the same codepath as all other types, so ensure consistency. NB: It's still not accepting the `freeze` keyword argument on `clone`. Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
2024-02-12Skip spec failing on i686Benoit Daloze
2024-02-12Exclude a problematic spec when run in CRuby via make test-spec until fixedBenoit Daloze
2024-02-12Update to ruby/spec@ce834adBenoit Daloze
2024-02-05Update to ruby/spec@3fc4444Benoit Daloze
2024-01-22Add an autoload spec for the behavior inside autoload but after the constant ↵Jean Boussier
is defined
2024-01-22spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/csv/**/*.rb
2024-01-22spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/syslog/**/*.rb
2024-01-22spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/drb/start_service_spec.rb
2024-01-19spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/abbrev/**/*.rb
2024-01-19spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/observer/**/*.rb
2024-01-18spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/core/rational/coerce_spec.rb
2024-01-18Guard bigdecimal related examplesHiroshi SHIBATA
spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/core/integer/coerce_spec.rb spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/shared/rational/coerce.rb spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/bigmath/log_spec.rb and example of at_spec.rb
2024-01-18spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/bigdecimal/**/*_spec.rb
2024-01-17spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/base64/**/*_spec.rb
2024-01-16Specify ruby mode [ci skip]Nobuyoshi Nakada
2024-01-16spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' ↵Hiroshi SHIBATA
spec/ruby/library/getoptlong/**/*.rb
2024-01-16Do not pollute toplevel namespaceNobuyoshi Nakada
2024-01-12Ignore windows_31j module with mswinHiroshi SHIBATA
2024-01-12stat command is not provided on WindowsHiroshi SHIBATA
2024-01-12Use timeout instead of sleep on WindowsHiroshi SHIBATA
2024-01-12Don't use cat command on native WindowsHiroshi SHIBATA
2023-12-25Re-skip a failing specTakashi Kokubun
2023-12-25Move non-portable pragmas to rubyspec.hNobuyoshi Nakada
In the extension libraries in spec/ruby/optional/capi, do not care about deprecated declarations.
2023-12-25Typofix under bootstraptest, spec and yjit directoriesHiroshi SHIBATA
2023-12-23Fix for older set versionsNobuyoshi Nakada
`Set::VERSION` was not defined in old set.rb bundled with ruby 3.2 or earlier. Also add comment for spec/mspec/tool/remove_old_guards.rb.
2023-12-23Set 1.1 now checks subclass-ness stricterNobuyoshi Nakada
2023-12-23MN: skip RUBY_DESCRIPTION spec on MN enabledKoichi Sasada
2023-12-13RubyGems 3.5+ will use vendored net-httpHiroshi SHIBATA
2023-12-07Fix keyword splat passing as regular argumentJeremy Evans
Since Ruby 3.0, Ruby has passed a keyword splat as a regular argument in the case of a call to a Ruby method where the method does not accept keyword arguments, if the method call does not contain an argument splat: ```ruby def self.f(obj) obj end def self.fs(*obj) obj[0] end h = {a: 1} f(**h).equal?(h) # Before: true; After: false fs(**h).equal?(h) # Before: true; After: false a = [] f(*a, **h).equal?(h) # Before and After: false fs(*a, **h).equal?(h) # Before and After: false ``` The fact that the behavior differs when passing an empty argument splat makes it obvious that something is not working the way it is intended. Ruby 2 always copied the keyword splat hash, and that is the expected behavior in Ruby 3. This bug is because of a missed check in setup_parameters_complex. If the keyword splat passed is not mutable, then it points to an existing object and not a new object, and therefore it must be copied. Now, there are 3 specs for the broken behavior of directly using the keyword splatted hash. Fix two specs and add a new version guard. Do not keep the specs for the broken behavior for earlier Ruby versions, in case this fix is backported. For the ruby2_keywords spec, just remove the related line, since that line is unrelated to what the spec is testing. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-11-30Fix failing specMisaki Shioi