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]
|
|
5a79d8e0507cd143100bf928a88a59a8b5a5bca6,160511d851375f7cb922faae3a9310633187f51f: [Backport #16925]
Fix error raised by Net::HTTPResponse#inflater if the block raises
* See https://bugs.ruby-lang.org/issues/13882#note-6
Quarantine specs which fail frequently with CHECK_LEAKS=true
|
|
FreeBSD
```
$ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }'
rubyspec 78462 - - Hello
```
Linux
```
$ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }'
rubyspec: Hello
```
https://github.com/freebsd/freebsd/commit/591ef7c8076109cff3c41f9bb50da996a34121e9
|
|
|
|
[Bug #16497]
https://github.com/ruby/stringio/commit/4958a5ccab
(cherry picked from commit e257c08f2ec27e2d66cdfa7e2415deb492522e22)
|
|
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)
|
|
* MinGW - skip spec in spec/ruby/optional/capi/thread_spec.rb
C-API Thread function rb_thread_call_without_gvl
-- runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO
stops/freezes spec tests
See https://bugs.ruby-lang.org/issues/16265
* MinGW - skip test test/resolv/test_dns.rb
Test times out in CI (both AppVeyor & Actions), cannot repo locally
* MinGW - skip test test/ruby/test_thread_queue.rb
* Add Actions mingw.yml
|
|
[Bug #16406]
|
|
[Misc #16449][ruby-core:96458]
|
|
[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], for default gems.
|
|
Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
|
|
|
|
|
|
Since `did_you_mean` dropped its dependency on it.
Notes:
Merged: https://github.com/ruby/ruby/pull/2753
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2753
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2753
|
|
|
|
|
|
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...
|