summaryrefslogtreecommitdiff
path: root/spec/ruby
AgeCommit message (Collapse)Author
2020-10-12Make the test suite pass on real Android/Termux environmentYusuke Endoh
Attempting to create a hard link raises EACCES
2020-10-02Removed meaningless system dependent testsNobuyoshi Nakada
As [Bug #16662] lchmod available in linux since glibc 2.31.9000, a system call may exist or not exist depending on the version. It is not a spec nor responsibility of Ruby.
2020-10-01spec/ruby/core/process/spawn_spec.rb: skip a test on AndroidYusuke Endoh
On Android, STDERR seems to be open even its invoker closes it. http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20201001T014315Z.fail.html.gz ``` 1) Process.spawn closes STDERR in the child if :err => :close FAILED Expected (59840): "out\nrescued\n" but got: "out\n" ```
2020-09-30[ruby/ostruct] Improved YAML serialization.Marc-Andre Lafortune
Patch adapted from Pietro Monteiro [Fixes bug#8382] Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30Update to ruby/spec@bfd843aBenoit Daloze
2020-09-30Update to ruby/spec@681e8cfBenoit Daloze
2020-09-30Update to ruby/spec@9277d27Benoit Daloze
2020-09-28Add rb_category_warn{,ing} for warning messages with categoriesJeremy Evans
This adds the following C-API functions that can be used to emit warnings with categories included: ```c void rb_category_warn(const char *, const char*, ...) void rb_category_warning(const char*, const char*, ...) ``` Internally in error.c, there is an rb_warn_category function that will call Warning.warn with the string and the category keyword if it doesn't have an arity of 1, and will call Warning.warn with just the string if it has an arity of 1. This refactors the rb_warn_deprecated{,_to_remove} functions to use rb_warn_category. This makes Kernel#warn accept a category keyword and pass it to Warning.warn, so that Ruby methods can more easily emit warnings with categories. rb_warn_category makes sure that the passed category is a already defined category symbol before calling Warning.warn. The only currently defined warning category is :deprecated, since that is what is already used. More categories can be added in later commits. Notes: Merged: https://github.com/ruby/ruby/pull/3508
2020-09-28Clarify spec description for Hash#{each,each_pair}Benoit Daloze
2020-09-25freeze all Range objects.v3_0_0_preview1Koichi Sasada
Matz want to try to freeze all Range objects. [Feature #15504] Notes: Merged: https://github.com/ruby/ruby/pull/3583
2020-09-25should not check taint flag on rubyspec.Koichi Sasada
Now taint flag is obsolete and it is used fro shareaable flag. So we should not check this flag. Notes: Merged: https://github.com/ruby/ruby/pull/3575
2020-09-25Disable deprecation warning by the default [Feature #16345]Nobuyoshi Nakada
And `-w` option turns it on. Notes: Merged: https://github.com/ruby/ruby/pull/3481
2020-09-22Revert "Prevent SystemStackError when calling super in module with activated ↵Jeremy Evans
refinement" This reverts commit eeef16e190cdabc2ba474622720f8e3df7bac43b. This also reverts the spec change. Preventing the SystemStackError would be nice, but there is valid code that the fix breaks, and it is probably more common than cases that cause the SystemStackError. Fixes [Bug #17182] Notes: Merged: https://github.com/ruby/ruby/pull/3564
2020-09-21Make Thread#join always convert its argument, as before 70f08f1eedBenoit Daloze
2020-09-21Fix Thread leak in Thread#join specsBenoit Daloze
2020-09-21Make `Thread#join` non-blocking.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3558
2020-09-17Update to ruby/spec@e829fb0Benoit Daloze
2020-09-16Warn on a finalizer that captures the object to be finalizedChris Seaton
Also improve specs and documentation for finalizers and more clearly recommend a safe code pattern to use them. Notes: Merged: https://github.com/ruby/ruby/pull/3444
2020-09-152.8 -> 3.0 in specsBenoit Daloze
2020-09-15Interpolated strings are no longer frozen with frozen-string-literal: trueBenoit Daloze
* Remove freezestring instruction since this was the only usage for it. * [Feature #17104] Notes: Merged: https://github.com/ruby/ruby/pull/3488
2020-09-14[ruby/ostruct] Fix dup/cloneMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3541
2020-09-14[ruby/ostruct] method_missing is privateMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3541
2020-09-14Make Mutex per-Fiber instead of per-ThreadBenoit Daloze
* Enables Mutex to be used as synchronization between multiple Fibers of the same Thread. * With a Fiber scheduler we can yield to another Fiber on contended Mutex#lock instead of blocking the entire thread. * This also makes the behavior of Mutex consistent across CRuby, JRuby and TruffleRuby. * [Feature #16792] Notes: Merged: https://github.com/ruby/ruby/pull/3434
2020-09-09Revert the related commits about `Tempfile.open` change.Hiroshi SHIBATA
Start with https://github.com/ruby/ruby/commit/fa21985a7a2f8f52a8bd82bd12a724e9dca74934 to https://github.com/ruby/ruby/commit/d7492a0be885ea9f2b9f71e3e95582f9a859c439
2020-09-02Fix constant names set using const_set on a singleton classMarc-Andre Lafortune
Fixes [Bug #14895] Notes: Merged: https://github.com/ruby/ruby/pull/3502
2020-08-31Deprecate iterator? methodNobuyoshi Nakada
[Feature #15547] [Fix GH-2071]
2020-08-31Thread.exclusive: delete卜部昌平
Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8. [Feature #17125][ruby-core:99636]
2020-08-29Adapt specs for the new Tempfile.open with block behaviorBenoit Daloze
2020-08-29Fix warnings related to new Socket.gethostby* deprecationsBenoit Daloze
2020-08-28Update to ruby/spec@335eb9bBenoit Daloze
2020-08-28States Time.at expects rational-like argument to respond to #to_intNobuyoshi Nakada
https://bugs.ruby-lang.org/issues/17131
2020-08-22do not test --version卜部昌平
`llvm-strip-7` is a sane valid strip command that LLVM 7 ships, albeit it does not understand `--version`. It is a bad idea to check that option. Instead just see if the command actually strips something. A copy of `/bin/sh` should suffice. That file must be ubiquitous. Notes: Merged: https://github.com/ruby/ruby/pull/3439
2020-08-06[Feature #16513] TracePoint#inspect returns "... file:line" (#3391)Nguyễn Quang Minh
* Fix debug documents to match Thread#to_s change (Feature #16412 ticket) * TracePoint#inspect returns "... file:line" (Feature #16513) * Guard older version of Ruby in Tracepoint inspection tests * Focus on current thread only when running TracePoint inspection test Notes: Merged-By: ko1 <ko1@atdot.net>
2020-07-29Fix arity of Hash#to_proc [Bug #12671]Benoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/3370
2020-07-28Use https instead of httpKazuhiro NISHIYAMA
2020-07-28Do not assume all compilers accept same flags as gccNobuyoshi Nakada
2020-07-27Update to ruby/spec@07164daBenoit Daloze
2020-07-22Switch reserved for numbered parameter warning to SyntaxErrorJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/3163
2020-07-20Make StringIO encoding fixedNobuyoshi Nakada
Get rid of affects by default external encoding. Notes: Merged: https://github.com/ruby/ruby/pull/3334
2020-07-15RBasci::flags (VALUE) doesn't match int.Koichi Sasada
The type of RBasic::flags is VALUE, and INT2FIX(flags) does not make sense. Use correct type to represent.
2020-07-12Fixed yday and wday with timezone [Bug #17024]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3312
2020-06-29Avoid deprecated OpenSSL::Digest constantsBart de Water
Notes: Merged: https://github.com/ruby/ruby/pull/3270
2020-06-27Update to ruby/spec@6c466d4Benoit Daloze
2020-06-27Update to ruby/spec@b6b7752Benoit Daloze
2020-06-19Implement Proc#== and #eql?Jeremy Evans
Previously, these were not implemented, and Object#== and #eql? were used. This tries to check the proc internals to make sure that procs created from separate blocks are treated as not equal, but procs created from the same block are treated as equal, even when the lazy proc allocation optimization is used. Implements [Feature #14267] Notes: Merged: https://github.com/ruby/ruby/pull/3174
2020-06-18Dup splat array in certain cases where there is a block argumentJeremy Evans
This makes: ```ruby args = [1, 2, -> {}]; foo(*args, &args.pop) ``` call `foo` with 1, 2, and the lambda, in addition to passing the lambda as a block. This is different from the previous behavior, which passed the lambda as a block but not as a regular argument, which goes against the expected left-to-right evaluation order. This is how Ruby already compiled arguments if using leading arguments, trailing arguments, or keywords in the same call. This works by disabling the optimization that skipped duplicating the array during the splat (splatarray instruction argument switches from false to true). In the above example, the splat call duplicates the array. I've tested and cases where a local variable or symbol are used do not duplicate the array, so I don't expect this to decrease the performance of most Ruby programs. However, programs such as: ```ruby foo(*args, &bar) ``` could see a decrease in performance, if `bar` is a method call and not a local variable. This is not a perfect solution, there are ways to get around this: ```ruby args = Struct.new(:a).new([:x, :y]) def args.to_a; a; end def args.to_proc; a.pop; ->{}; end foo(*args, &args) # calls foo with 1 argument (:x) # not 2 arguments (:x and :y) ``` A perfect solution would require completely disabling the optimization. Fixes [Bug #16504] Fixes [Bug #16500] Notes: Merged: https://github.com/ruby/ruby/pull/3157
2020-06-13Suppress warnings [Feature #15973]Nobuyoshi Nakada
2020-06-11Refined ioctl error descriptionNobuyoshi Nakada
2020-06-10Make proc/Proc.new without block an error instead of warningJeremy Evans
The warning for these was added in 2.7. Notes: Merged: https://github.com/ruby/ruby/pull/3208
2020-06-10ENV.delete should return the result of block on non-existing keyNobuyoshi Nakada
Fixes [Bug #16173] Co-Authored-By: Burdette Lamar <burdettelamar@yahoo.com> Co-Authored-By: Jeremy Evans <code@jeremyevans.net> Notes: Merged: https://github.com/ruby/ruby/pull/3206