summaryrefslogtreecommitdiff
path: root/spec/ruby
AgeCommit message (Collapse)Author
2023-01-23blade is hosted under ruby-lang.org nowHiroshi SHIBATA
2023-01-22More coverage tests & specs. (#7171)Samuel Williams
* Add spec for eval and line coverage. * Add test for main file coverage. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2023-01-18Define RUBY_VERSION_IS_3_3 macro in rubyspec.hNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7145
2023-01-15[Bug #19335] `Integer#remainder` should respect `#coerce` (#7120)Nobuyoshi Nakada
Also `Numeric#remainder` should. Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2023-01-11Move classpath to rb_classext_tPeter Zhu
This commit moves the classpath (and tmp_classpath) from instance variables to the rb_classext_t. This improves performance as we no longer need to set an instance variable when assigning a classpath to a class. I benchmarked with the following script: ```ruby name = :MyClass puts(Benchmark.measure do 10_000_000.times do |i| Object.const_set(name, Class.new) Object.send(:remove_const, name) end end) ``` Before this patch: ``` 5.440119 0.025264 5.465383 ( 5.467105) ``` After this patch: ``` 4.889646 0.028325 4.917971 ( 4.942678) ``` Notes: Merged: https://github.com/ruby/ruby/pull/7096
2023-01-11Remove Encoding#replicateBenoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/7079
2023-01-07Only RangeError on CRuby for shift width >= 2**67Benoit Daloze
* It seems a better exception class too than NoMemoryError.
2023-01-07Fix Integer#{<<,>>} specs with large shift widthBenoit Daloze
* The limit depends on the implementation and platform, it seems unavoidable. * See https://bugs.ruby-lang.org/issues/18518#note-9
2023-01-06Add bug numberBenoit Daloze
2023-01-05Update to ruby/spec@5e48206Benoit Daloze
2023-01-05Update to ruby/spec@7e680faBenoit Daloze
2023-01-05* remove trailing spaces, append newline at EOF. [ci skip]git
2023-01-05Update to ruby/spec@9d69b95Benoit Daloze
2023-01-01Make IO#set_encoding with binary external encoding use nil internal encodingJeremy Evans
This was already the behavior when a single `'external:internal'` encoding specifier string was passed. This makes the behavior consistent for the case where separate external and internal encoding specifiers are provided. While here, fix the IO#set_encoding method documentation to state that either the first or second argument can be a string with an encoding name, and describe the behavior when the external encoding is binary. Fixes [Bug #18899] Notes: Merged: https://github.com/ruby/ruby/pull/6280
2022-12-26numeric.c: Fix round_half_even for specific values (#7023)Kenta Murata
Handle the integert and the float parts separately in round_half_even to prevent error occursions in floating point calculation. Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2022-12-26Skip insanely memory consuming testsNobuyoshi Nakada
These tests do not only consume hundreds GiB bytes memory, result in `rb_bug` when `RUBY_DEBUG` is enabled.
2022-12-26Skip some examples for Ruby 3.3Hiroshi SHIBATA
2022-12-24Windows: Prefer USERPROFILE over HOMEPATHLars Kanis
HOMEPATH is set to "\WINDOWS\system32" when running per "runas" session. This directory is not writable by ordinary users, leading to errors with many ruby tools. Also config files in the home directory are not recognized. Still keeping HOME at first which is not used by native Windows, but by ruby specs and by MSYS2 environment. Notes: Merged: https://github.com/ruby/ruby/pull/6992
2022-12-24Windows: Fix encoding of Dir.homeLars Kanis
Dir.home returns an UTF-8 string since ruby-3.0, but the actual encoding of the bytes was CP_ACP or CP_OEMCP. That led to invalid bytes when calling Dir.home with an unicode username. Notes: Merged: https://github.com/ruby/ruby/pull/6991
2022-12-22Always issue deprecation warning when calling Regexp.new with 3rd positional ↵Jeremy Evans
argument Previously, only certain values of the 3rd argument triggered a deprecation warning. First step for fix for bug #18797. Support for the 3rd argument will be removed after the release of Ruby 3.2. Fix minor fallout discovered by the tests. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/6976
2022-12-20Ensure Fiber storage is only accessed from the Fiber it belongs toBenoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/6972
2022-12-20Never use the storage of another Fiber, that violates the whole designBenoit Daloze
* See https://bugs.ruby-lang.org/issues/19078#note-30 Notes: Merged: https://github.com/ruby/ruby/pull/6972
2022-12-15Remove `require 'io/wait'` where it's no longer necessary. (#6932)Samuel Williams
* Remove `require 'io/wait'` as it's part of core now. * Update ruby specs using version gates. * Add note about why it's conditional. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-12-10Add spec for fiber storage. (#6896)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-12-09Clean up a temporary fileNobuyoshi Nakada
2022-12-09[Bug #19167] Remove useless conversion of classes for special constNobuyoshi Nakada
2022-12-08Introduce `IO.new(..., path:)` and promote `File#path` to `IO#path`. (#6867)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-12-06update rbconfig spec to Unicode version 15.0.0Martin Dürst
(this includes emoji version 15.0)
2022-12-03Remove unguaranteed assertion [ci skip]Nobuyoshi Nakada
It can be configured by `--with-os-version-style=TYPE` option, and just copies from theApple's installation as the default. We don't know why it is major only.
2022-12-03UnboundMethod only refer defined_classKoichi Sasada
UnboundMethod records caller's class, like `D` or `E` on the following case: ```ruby class C def foo = :foo end class D < C end class E < C end d = D.instance_method(:foo) e = E.instance_method(:foo) ``` But `d` and `e` only refers `C#foo` so that UnboundMethod doesn't record `D` or `E`. This behavior changes the following methods: * `UnboundMethod#inspect` (doesn't show caller's class) * `UnboundMethod#==` (`d == e` for example) fix https://bugs.ruby-lang.org/issues/18798 Notes: Merged: https://github.com/ruby/ruby/pull/6855
2022-12-02[Bug #19087] Merge to "trailing garbage" caseNobuyoshi Nakada
2022-12-02[Bug #19087] Fix an assertion of `String#to_c`Nobuyoshi Nakada
2022-11-24Make String#rstrip{,!} raise Encoding::CompatibilityError for broken coderangeJeremy Evans
It's questionable whether we want to allow rstrip to work for strings where the broken coderange occurs before the trailing whitespace and not after, but this approach is probably simpler, and I don't think users should expect string operations like rstrip to work on broken strings. In some cases, this changes rstrip to raise Encoding::CompatibilityError instead of ArgumentError. However, as the problem is related to an encoding issue in the receiver, and due not due to an issue with an argument, I think Encoding::CompatibilityError is the more appropriate error. Fixes [Bug #18931] Notes: Merged: https://github.com/ruby/ruby/pull/6282
2022-11-22Use valid tokens as cookie namesNobuyoshi Nakada
2022-11-21Fixup spec/ruby/optional/capi/rbasic_spec.rb for mswinMSP-Greg
Notes: Merged: https://github.com/ruby/ruby/pull/6772
2022-11-12Deal with different Ruby versionsTakashi Kokubun
2022-11-12Fix a CI failure in bigdecimalTakashi Kokubun
2022-11-08Thread#native_thread_id is very platform specificNobuyoshi Nakada
2022-11-07Update to ruby/spec@740ccc8Benoit Daloze
2022-11-07Revert jobserver handling in specNobuyoshi Nakada
2022-11-07Let other test runners follow the change of GNU make 4.4 jobserverNobuyoshi Nakada
2022-10-24Skip `File.atime`/`File.mtime` tests randomly failing on TravisNobuyoshi Nakada
Not only powerpc64le, also s390x and arm32 seem failing too. These failures are probably caused by filesystem settings on Travis, but unrelated to CPUs.
2022-10-23[Bug #19004] `Complex.polar` handles complex singular `abs` argumentStephen Ierodiaconou
`Complex.polar` accepts Complex values as arguments for the polar form as long as the value of the complex has no imaginary part (ie it is 'real'). In `f_complex_polar` this is handled by extracting the real part of the arguments. However in the case `polar` is called with only a single argument, the absolute value (abs), then the Complex is created without applying a check on the type of abs, meaning it is possible to create a Complex where the real part is itself an instance of a Complex. This change removes the short circuit for the single argument case meaning the real part extraction is performed correctly (by f_complex_polar). Also adds an example to `spec/ruby/core/complex/polar_spec.rb` to check that the real part of a complex argument is correctly extracted and used in the resulting Complex real and imaginary parts. Notes: Merged: https://github.com/ruby/ruby/pull/6568 Merged-By: nobu <nobu@ruby-lang.org>
2022-10-21Range#size returns nil for (.."a") and (nil..)Yusuke Endoh
Fixes [Bug #18983] Notes: Merged: https://github.com/ruby/ruby/pull/6604
2022-10-20Add Class#attached_objectUfuk Kayserilioglu
Implements [Feature #12084] Returns the object for which the receiver is the singleton class, or raises TypeError if the receiver is not a singleton class. Notes: Merged: https://github.com/ruby/ruby/pull/6450
2022-10-19Transition frozen string to frozen root shapeJemma Issroff
Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/6590
2022-10-17thread_sync.c: Clarify and document the behavior of timeout == 0Jean Boussier
[Feature #18982] Instead of introducing an `exception: false` argument to have `non_block` return nil rather than raise, we can clearly document that a timeout of 0 immediately returns. The code is refactored a bit to avoid doing a time calculation in such case. Notes: Merged: https://github.com/ruby/ruby/pull/6500
2022-10-13Skip utime example with Intel C Compiler suiteHiroshi SHIBATA
2022-10-10Ignore excessive precisionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6522
2022-10-08Add spec for `Coverage.supported?` and `start(eval: true)`. (#6499)Samuel Williams
* Don't emit coverage for eval when eval coverage is disabled. Notes: Merged-By: ioquatix <samuel@codeotaku.com>