summaryrefslogtreecommitdiff
path: root/test/ruby
AgeCommit message (Collapse)Author
2021-03-16Skip refined method when exporting methods with changed visibilityJeremy Evans
Previously, attempting to change the visibility of a method in a singleton class for a class/module that is prepended to and refined would raise a NoMethodError. Fixes [Bug #17519] Notes: Merged: https://github.com/ruby/ruby/pull/4200
2021-03-16test/ruby/test_regexp.rb: Avoid "ambiguity between regexp and two divisions"Yusuke Endoh
2021-03-15File.dirname optional levelNobuyoshi Nakada
* file.c (rb_file_dirname_n): chomp N level of base names. [Feature #12194] Notes: Merged: https://github.com/ruby/ruby/pull/4111
2021-03-15Check backref number buffer overrun [Bug #16376]xtkoba (Tee KOBAYASHI)
2021-03-12Fix integer/float remainder with infinity argument of opposite signJeremy Evans
Previously, the result was incorrect: 4.remainder(-Float::INFINITY) Before: => NaN After: => 4 4.2.remainder(-Float::INFINITY) Before: => NaN After: => 4.2 Fixes [Bug #6120] Notes: Merged: https://github.com/ruby/ruby/pull/4257
2021-03-11Create the test file under the created temporary directoryNobuyoshi Nakada
Fixes https://github.com/ruby/ruby/pull/4255
2021-03-10Remove cvar overtaken classes at end of test methodsJeremy Evans
Fixes issues when the same tests are executed more than once, which some CI machines do.
2021-03-10Add cvar overtaken testseileencodes
While working on another project we noticed that there were no tests for the cvar overtaken exception when using classes. This change adds a test for cvar overtaken with classes and moves the cvar overtaken test for modules into the new file. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/4251
2021-03-08test/ruby/test_string.rb: make GitHub syntax-highlight correctlyYusuke Endoh
It looks like GitHub syntax-highlighting does not support an empty heredoc. This change adds a newline to make GitHub can handle the syntax appropriately. https://bugs.ruby-lang.org/issues/17662
2021-03-06Undef Enumerator::Chain#{feed,next,next_values,peek,peek_values}Jeremy Evans
Previously these methods were defined but raised TypeError, which seems worse. Notes: Merged: https://github.com/ruby/ruby/pull/3811
2021-03-06Make Enumerator#{+,chain} create lazy chain if any included enumerator is lazyJeremy Evans
Implements [Feature #17347] Notes: Merged: https://github.com/ruby/ruby/pull/3811
2021-03-06Fix calling enumerator methods such as with_index on Enumerator::ChainJeremy Evans
This previously raised a TypeError. Wrap the Enumerator::Chain in an Enumerator to work around the problem. Fixes [Bug #17216] Notes: Merged: https://github.com/ruby/ruby/pull/3811
2021-02-25Revert "Add tests for bug 17652"Aaron Patterson
This reverts commit a9920e7782f225b97e173a88640fe9e116b9964f.
2021-02-25Add tests for bug 17652Peter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/4227
2021-02-24Reverting PR #4221Aaron Patterson
It seems this breaks tests on Solaris, so I'm reverting it until we figure out the right fix. http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20210224T210007Z.fail.html.gz
2021-02-24Add tests for bug 17652Peter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/4221
2021-02-22Check for cyclic prepend before making originAlan Wu
It's important to only make the origin when the prepend goes through, as the precense of the origin informs whether to do an origin backfill. This plus 2d877327e fix [Bug #17590]. Notes: Merged: https://github.com/ruby/ruby/pull/4181
2021-02-22Send :fiber_switch event for almost every fiber_switch (#4207)nicholas a. evans
With this patch, TracePoint receives a `:fiber_switch` event for _almost_ every fiber switch. Previously, it would not be sent when an exception was going to be raised. Now the event should only be blockable by an interrupt (including `Thread#raise`) or a fatal error. Additionally, interrupts will now be checked on the return fiber _before_ re-raising the terminating unhandled exception. And a fiber that terminates with an unhandled exception no longer creates a pending interrupt on its thread. The exception will be raised in the return fiber the same way as `Fiber#raise`: using `cont.value` with `cont.argc == -1` I moved `rb_exc_raise` from `fiber_store` to the end of `fiber_switch` after _all_ of the other cleanup code: `fiber_stack_release`, `th->blocking` increment, `RUBY_VM_CHECK_INTS`, and `EXEC_EVENT_HOOK`. It seems to me that skipping those other cleanup steps may have also resulted in other bugs. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2021-02-20Make String#{strip,lstrip}{,!} strip leading NUL bytesJeremy Evans
The documentation already specifies that they strip whitespace and defines whitespace to include null. This wraps the new behavior in the appropriate guards in the specs, but does not specify behavior for previous versions, because this is a bug that could be backported. Fixes [Bug #17467] Notes: Merged: https://github.com/ruby/ruby/pull/4164
2021-02-19Fix backtrace to not skip frames with iseq without pcJeremy Evans
Previously, frames with iseq but no pc were skipped (even before the refactoring in 3b24b7914c16930bfadc89d6aff6326a51c54295). Because the entire backtrace was procesed before the refactoring, this was handled by using later frames instead. However, after the refactoring, we need to handle those frames or they get lost. Keep two iteration counters when iterating, one for the desired backtrace size (so we generate the desired number of frames), and one for the actual backtrace size (so we don't process off the end of the stack). When skipping over an iseq frame with no pc, decrement the counter for the desired backtrace, so it will continue to process the expected number of backtrace frames. Fixes [Bug #17581] Notes: Merged: https://github.com/ruby/ruby/pull/4120
2021-02-19invalidate negative cache any time.Koichi Sasada
negative cache on a class which does not have subclasses was not invalidated, but it should be invalidated because other classes can cache this negative cache. [Bug #17553] Notes: Merged: https://github.com/ruby/ruby/pull/4201
2021-02-16Parse "-00:00" as UTC for the round-trip [Feature #17544]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4075
2021-02-16UTC zone should be still "+00:00" [Feature #17544]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4075
2021-02-16strftime.c: support unknown offset UTC in RFC 3339 [Feature #17544]Nobuyoshi Nakada
In RFC 3339, -00:00 is used for the time in UTC is known, but the offset to local time is unknown. Support that representation by `-` flag for `z`. Notes: Merged: https://github.com/ruby/ruby/pull/4075
2021-02-16Fix a failureKazuhiro NISHIYAMA
http://ci.rvm.jp/results/trunk-test@ruby-sky1/3359644 ``` : 1) : TestEncoding#test_nonascii_library_path [/tmp/ruby/v3/src/trunk-test/test/ruby/test_encoding.rb:157]: : Exception(LoadError) with message matches to /\[Bug #16382\]/. ```
2021-02-16`$LOAD_PATH.resolve_feature_path` should not raiseDavid Rodríguez
I think it's more friendly and easier to work with to return `nil` when the feature is not found in the $LOAD_PATH. Notes: Merged: https://github.com/ruby/ruby/pull/2317
2021-02-15Added Thread::Backtrace.limit [Feature #17479]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4187
2021-02-15Added tests for --backtrace-limit optionNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4187
2021-02-14Fixed codepage for utime [Bug #17626]xtkoba (Tee KOBAYASHI)
Should use the given codepage argument. Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
2021-02-12Thread::Queue.new should accept an Enumerable [Feature #17327]Nobuyoshi Nakada
Enumerable implements #to_a but not #to_array.
2021-02-11Make a cyclic prepend not modify ancestors for the receiverJeremy Evans
Check for cyclic prepend before making any changes. This requires scanning the module ancestor chain twice, but in general modules do not have large numbers of ancestors. Notes: Merged: https://github.com/ruby/ruby/pull/4165
2021-02-08Forward keyword arguments to ARGF from global functionsNobuyoshi Nakada
2021-02-08Added test for keyword arguments to ARGFNobuyoshi Nakada
2021-01-24Add test for String#casecmp?NARUSE, Yui
String#casecmp? also normalize upper case characters in legacy encodings.
2021-01-23Warn the defined location as deprecation as well as the main messageNobuyoshi Nakada
[Bug #17575]
2021-01-23Make reciprocal properly of non-integral rational [Bug #17572]Nobuyoshi Nakada
2021-01-20Skip freezing check on setting temporary class path [Bug #17563]Nobuyoshi Nakada
Co-authored-by: ryannevell (Ryan Nevell) <ryan.nevell@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/4101
2021-01-19Fixed premature returnNobuyoshi Nakada
After setting ruby2_keywords for bmethod, the rest of arguments had been ignored. [Bug #17558] Notes: Merged: https://github.com/ruby/ruby/pull/4096
2021-01-18Avoid suppressing unrelated warningsTakashi Kokubun
2021-01-19test/ruby/test_jit.rb: Avoid a warningYusuke Endoh
http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_jit.rb:781: warning: -e:5: warning: possibly useless use of -@ in void context ```
2021-01-19test/ruby/test_pattern_matching.rb: Avoid a warningYusuke Endoh
http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_pattern_matching.rb:798: warning: assigned but unused variable - x ```
2021-01-19Mark pattern labels as unremoveableVladimir Dementyev
Peephole optimization doesn't play well with find pattern at least. The only case when a pattern matching could have unreachable patterns is when we have lasgn/dasgn node, which shouldn't happen in real-life. Fixes https://bugs.ruby-lang.org/issues/17534
2021-01-18Fix JIT link failuresTakashi Kokubun
forgotten in https://github.com/ruby/ruby/pull/4018
2021-01-17Use the dedicated assertionNobuyoshi Nakada
2021-01-17Warn Struct#initialize with only keyword args (#4070)Takashi Kokubun
* Warn Struct#initialize with only keyword args A part of [Feature #16806] * Do not warn if `keyword_init: false` is explicitly specified * Add a NEWS entry * s/in/from/ * Make sure all fields are initialized Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2021-01-15Keep encoding in the result of File.expand_path [Bug #17517]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4061
2021-01-14Make Module#prepend affect ancestor chain even if argument already included ↵Jeremy Evans
in receiver Previously, if a class included a module and then prepended the same module, the prepend had no effect. This changes the behavior so that the prepend has an effect unless the module is already prepended the receiver. While here, rename the origin_seen variable in include_modules_at, since it is misleading. The variable tracks whether c has been seen, not whether the origin of klass has been. Fixes [Bug #17423] Notes: Merged: https://github.com/ruby/ruby/pull/4072
2021-01-13Rename RubyVM::MJIT to RubyVM::JITTakashi Kokubun
because the name "MJIT" is an internal code name, it's inconsistent with --jit while they are related to each other, and I want to discourage future JIT implementation-specific (e.g. MJIT-specific) APIs by this rename. [Feature #17490]
2021-01-13Guard callinfoAaron Patterson
Callinfo was being written in to an array and the GC would not see the reference on the stack. `new_insn_send` creates a new callinfo object, then it calls `new_insn_core`. `new_insn_core` allocates a new INSN linked list item, which can end up calling `xmalloc` which will trigger a GC: https://github.com/ruby/ruby/blob/70cd351c7c71c48ee18d7c01e851a89614086f8f/compile.c#L968-L969 Since the callinfo object isn't on the stack, the GC won't see it, and it can get collected. This patch just refactors `new_insn_send` to keep the object on the stack Co-authored-by: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/4066
2021-01-13Capture to reserved name variables if already defined [Bug #17533]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4059