| Age | Commit message (Collapse) | Author |
|
|
|
89242279e61b023a81c58065c62a82de8829d0b3,529fc204af84f825f98f83c34b004acbaa802615: [Backport #18141]
Marshal.load: do not call the proc until strings have their encoding
Ref: https://bugs.ruby-lang.org/issues/18141
---
marshal.c | 7 +++-
spec/ruby/core/marshal/shared/load.rb | 62 +++++++++++++++++++++++------------
test/ruby/test_marshal.rb | 17 ++++++++++
3 files changed, 64 insertions(+), 22 deletions(-)
marshal.c: don't call the proc with partially initialized objects.
(#4866)
For cyclic objects, it requires to keep a st_table of the partially
initialized objects.
---
marshal.c | 75 ++++++++++++++++++++---------------
spec/ruby/core/marshal/shared/load.rb | 75 ++++++++++++++++++++---------------
test/ruby/test_marshal.rb | 12 ++++++
3 files changed, 97 insertions(+), 65 deletions(-)
|
|
ed549f80b645aafd62376f65c3a27b66bafa2a38,eff0c5bf2ad47d10a440c5211be5eddb3bbf4028,f6b6a7ad345c50eeb3f7206ceabdf41ba94b7d85,5b48686691c2443d8d7113e593494c4d9302da0e,2af4c1fc5b19fc96203c2d7e917e689510d3527e,c9213aa864fb8527388679c21f1ea8ce129e2f1a,224f29c8e92094af10bc666c474b81a3545d6adf:
spec/ruby/core/process/clock_getres_spec.rb: skip on Android
in the same way as FreeBSD and OpenBSD.
I guess that the spec makes too strong assumption.
Try to avoid random failures on clock_getres_spec.rb
This spec fails too often
https://github.com/ruby/ruby/runs/529546249
https://github.com/ruby/ruby/runs/524933256
Show failed times
Remove Process.clock_getres "matches the resolution in practice"
specs
* Almost all platforms return incorrect values for Process.clock_getres,
it should be removed: https://bugs.ruby-lang.org/issues/16740
Skip Process#clock_getres specs on Android
... just like AIX and OpenBSD.
Update to ruby/spec@d394dfd
spec/ruby/core/process/clock_getres_spec.rb: lax the resolution limit
Android is Linux, but the clock resolution is 10 milliseconds.
I think that 1 microsecond is too strict for embedded environment.
This change laxes the limit to 10 milliseconds.
|
|
#16345] [Backport #17000]
Disable deprecation warning by the default [Feature #16345]
And `-w` option turns it on.
|
|
Under some Ext4 filesystem settings, a timestamp is limited up to
0x37fffffff (2446-05-10).
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Timestamps
> Therefore, timestamps should not overflow until May 2446.
Actually the spec fails under one of our CI environments, like:
```
1)
File.utime allows Time instances in the far future to set mtime and atime FAILED
Expected 2446 == 559444
to be truthy but was false
```
https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200208T180002Z.fail.html.gz
|
|
defined there"
[Backport #16771]
This reverts commit 0d24fb774d84d4a99454ce10fd343da00049a588.
|
|
Update to ruby/spec@cc7b9e5
|
|
Fixed yday and wday with timezone [Bug #17024]
|
|
Previously, if an object has a singleton class, and you call
Object#method on the object, the resulting string would include
the object's singleton class, even though the method was not
defined in the singleton class.
Change this so the we only show the singleton class if the method
is defined in the singleton class.
Fixes [Bug #15608]
(cherry picked from commit e02bd0e713ef920e6d12c27f16548f48ec5c2cf0)
|
|
[Bug #16406]
|
|
[Bug #16437]
|
|
We want to introduce consistency and better compatibility with unixen,
but the Windows APIs doues not have consistency fundamentally and
we can not found any logical way...
This reverts commit 61aff0cd189e67fa6f2565639ad0128fa33b88fc.
|
|
|
|
But not changes another cases, such as "file.rb."
[Bug #15267]
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2289
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2289
|
|
[Feature #16419]
|
|
Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
|
|
|
|
|
|
Thread#to_s returns simple Object#to_s until Ruby 2.4.
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2738
|
|
This reverts commit 2a22a6b2d8465934e75520a7fdcf522d50890caf.
Revert [Feature #13083]
|
|
This reverts commit 452bee3ee8d68059fabd9b1c7a75661b14e3933e.
|
|
This reverts commit 31110d820cc1258cbc84b46ecc65b254c7d5529a.
|
|
This reverts commit 782d1b8fb0a039cedef9ad9c94f432dad51901e6.
|
|
* Process.clock_getres specs use 10_000 but that's quite slow for
the Process.times spec.
|
|
`* 1e6` makes a spurious result about floating point number's precision.
```
irb(main)[01:0]> 16.028
=> 16.028
irb(main)[02:0]> (16.028 * 1e6)
=> 16027999.999999998
```
|
|
|
|
|
|
https://github.com/ruby/spec/commit/51047687c0
https://github.com/ruby/spec/commit/2b87b467cc
|
|
1243255c3a36433041012b6107a5ac48658a0895 broke ci.rvm.jp tests like
http://ci.rvm.jp/results/trunk_clang_39@silicon-docker/2445098.
253232c028a5565dbeecc05fab5e81b35ab58bcc works only if getrusage is supported.
|
|
|
|
Asynchronous events such as signal trap, finalization timing,
thread switching and so on are managed by "interrupt_flag".
Ruby's threads check this flag periodically and if a thread
does not check this flag, above events doesn't happen.
This checking is CHECK_INTS() (related) macro and it is placed
at some places (laeve instruction and so on). However, at the end
of C methods, C blocks (IMEMO_IFUNC) etc there are no checking
and it can introduce uninterruptible thread.
To modify this situation, we decide to place CHECK_INTS() at
vm_pop_frame(). It increases interrupt checking points.
[Bug #16366]
This patch can introduce unexpected events...
|
|
This removes the related tests, and puts the related specs behind
version guards. This affects all code in lib, including some
libraries that may want to support older versions of Ruby.
Notes:
Merged: https://github.com/ruby/ruby/pull/2476
|
|
|
|
* See https://bugs.ruby-lang.org/issues/16234#note-16
|
|
The process group id (/proc/[pid]/stat 5th field) is 0
in the Travis arm64 environment.
This is a case where it is available.
$ cat /proc/4543/stat
4543 (ruby) S 4525 4525 1384 34818 4525 4194304 37443 1754841 0 0 366 105 2291 391 20 0 3 0 1381328 1428127744 11475 18446744073709551615 94195983785984 94195986670225 140728933833312 0 0 0 0 0 1107394127 0 0 0 17 2 0 0 1 0 0 94195987686512 94195987708942 94196017770496 140728933835483 140728933835595 140728933835595 140728933842904 0
This is a case where it is not available in Travis arm64 environment.
$ cat /proc/19179/stat
19179 (ruby) S 19160 0 0 0 -1 4194560 37618 1710547 313 163 770 665 5206 1439 20 0 2 0 17529566 1196347392 10319 18446744073709551615 187650811428864 187650815023116 281474602721280 0 0 0 0 4096 1107390031 0 0 0 17 22 0 0 0 0 0 187650815091456 187650815114064 187651414974464 281474602725080 281474602725211 281474602725211 281474602729420 0
See "man proc" for detail.
Notes:
Merged: https://github.com/ruby/ruby/pull/2653
|
|
This reverts commit 6ffc045a817fbdf04a6945d3c260b55b0fa1fd1e.
|
|
|
|
https://github.com/ruby/ruby/pull/2637#discussion_r341812475
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2637
|
|
|
|
File.extname now returns a dot string at a name ending with a dot.
[Bug #15267]
Notes:
Merged: https://github.com/ruby/ruby/pull/2565
|
|
|
|
* {String|Symbol}#match{?} with nil returns falsy
To improve consistency with Regexp#match{?}
* String#match(nil) returns `nil` instead of TypeError
* String#match?(nil) returns `false` instead of TypeError
* Symbol#match(nil) returns `nil` instead of TypeError
* Symbol#match?(nil) returns `false` instead of TypeError
* Prefer exception
* Follow empty ENV
* Drop outdated specs
* Write ruby/spec for above
https://github.com/ruby/ruby/pull/1506/files#r183242981
* Fix merge miss
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2556
|
|
|
|
|