| Age | Commit message (Collapse) | Author |
|
[Bug#19445] Fix keyword splat in enumerator
Extracted arguments do not have keyword hash to splat.
---
numeric.c | 2 +-
test/ruby/test_numeric.rb | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
|
|
8ce2fb9bbbaea14737c84385b1573f743a30f773,3a0f6ce1d31eefd8af01b50f3632a64d64e8f8c1: [Backport #19415]
Only emit circular dependency warning for owned thread shields [Bug
#19415]
If multiple threads attemps to load the same file concurrently
it's not a circular dependency issue.
So we check that the existing ThreadShield is owner by the current
fiber before warning about circular dependencies.
---
internal/thread.h | 1 +
load.c | 3 ++-
spec/ruby/core/kernel/shared/require.rb | 11 +++++++++++
spec/ruby/fixtures/code/concurrent_require_fixture.rb | 4 ++++
test/ruby/test_require.rb | 3 ---
thread.c | 11 +++++++++++
6 files changed, 29 insertions(+), 4 deletions(-)
create mode 100644 spec/ruby/fixtures/code/concurrent_require_fixture.rb
Use Thread.pass until thread.stop? to wait for thread to block
[Bug #19415]
It should be more reliable
---
spec/ruby/fixtures/code/concurrent_require_fixture.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
mkconfig: Map `includedir` only for system ruby
Only when installing to the system path on macOS, prepend '$(SDKROOT)'
and remap `includedir`.
Fix https://github.com/rbenv/ruby-build/discussions/2123
---
test/mkmf/test_config.rb | 4 ++--
test/test_rbconfig.rb | 9 ---------
tool/mkconfig.rb | 4 +++-
3 files changed, 5 insertions(+), 12 deletions(-)
|
|
[Bug #19398] Memory leak in WeakMap
There's a memory leak in ObjectSpace::WeakMap due to not freeing
the `struct weakmap`. It can be seen in the following script:
```
100.times do
10000.times do
ObjectSpace::WeakMap.new
end
# Output the Resident Set Size (memory usage, in KB) of the current Ruby process
puts `ps -o rss= -p #{$$}`
end
```
---
gc.c | 1 +
test/ruby/test_weakmap.rb | 9 +++++++++
2 files changed, 10 insertions(+)
|
|
|
|
Fix test when Ruby is verbose
The test added in 90a80eb0 fails if Ruby is verbose, it outputs the
following line to stderr:
RUBY_GC_HEAP_INIT_SLOTS=100 (default value: 10000)
---
test/ruby/test_gc.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
[ruby/stringio] [Bug #19389] Fix chomping with longer separator
https://github.com/ruby/stringio/commit/eb322a9716
---
ext/stringio/stringio.c | 5 +++--
test/stringio/test_stringio.rb | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
|
|
Fix integer underflow when using HEAP_INIT_SLOTS
There is an integer underflow when the environment variable
RUBY_GC_HEAP_INIT_SLOTS is less than the number of slots currently
in the Ruby heap.
[Bug #19284]
---
gc.c | 25 +++++++++++++------------
test/ruby/test_gc.rb | 5 +++++
2 files changed, 18 insertions(+), 12 deletions(-)
|
|
YJIT: Save PC and SP before calling leaf builtins (#7090)
Previously, we did not update `cfp->sp` before calling the C function of
ISEQs marked with `Primitive.attr! "inline"` (leaf builtins). This
caused the GC to miss temporary values on the stack in case the function
allocates and triggers a GC run. Right now, there is only a few leaf
builtins in numeric.rb on Integer methods such as `Integer#~`. Since
these methods only allocate when operating on big numbers, we missed
this issue.
Fix by saving PC and SP before calling the functions -- our usual
protocol for calling C functions that may allocate on the GC heap.
[Bug #19316]
---
test/ruby/test_yjit.rb | 16 ++++++++++++++++
yjit/src/codegen.rs | 4 ++++
2 files changed, 20 insertions(+)
|
|
Fix crash in TracePoint c_call for removed method
trace_arg->id is the ID of the original method of an aliased method. If
the original method is removed, then the lookup will fail. We should use
trace_arg->called_id instead, which is the ID of the aliased method.
Fixes [Bug #19305]
---
test/ruby/test_settracefunc.rb | 23 +++++++++++++++++++++++
vm_trace.c | 2 +-
2 files changed, 24 insertions(+), 1 deletion(-)
|
|
[Bug #19292] Re-initialize tm when wday or yday is not set
---
test/ruby/test_time.rb | 3 ++-
time.c | 31 ++++++++++++++++++++++---------
2 files changed, 24 insertions(+), 10 deletions(-)
|
|
Private local variables should shadow outer variables [Bug #18629]
---
parse.y | 3 ++-
test/ruby/test_parse.rb | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
|
|
656f25987cf2885104d5b13c8d3f5b7d32f1b333,98074a57ca9f3169fe9da9af6c49b636d37db16f,745dcf5326ea2c8e2047a3bddeb0fbb7e7d07649,b335d899fff3cc22b022c9ee2ceb636d714bf1a7: [Backport #19153]
[ruby/cgi] Fix test_cgi_cookie_new_with_domain to pass on older
rubies
https://github.com/ruby/cgi/commit/05f0c58048
---
test/cgi/test_cgi_cookie.rb | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[ruby/cgi] Prepare to release 0.3.6
https://github.com/ruby/cgi/commit/710a647855
---
lib/cgi.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[ruby/cgi] Loosen the domain regex to accept '.'
(https://github.com/ruby/cgi/pull/29)
* Loosen the domain regex to accept '.'
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/cgi/commit/5e09d632f3
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
---
lib/cgi/cookie.rb | 2 +-
test/cgi/test_cgi_cookie.rb | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
[ruby/cgi] Bump up 0.3.6
https://github.com/ruby/cgi/commit/827b7d43cc
---
lib/cgi.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
[Bug #19187] Fix for tzdata-2022g
---
test/ruby/test_time_tz.rb | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
|
|
|
|
|
|
|
|
|
|
[Bug #19106] Normalize time at 24:00:00 with a timezone object
---
test/ruby/test_time_tz.rb | 5 +++++
time.c | 24 ++++++++++++++++--------
2 files changed, 21 insertions(+), 8 deletions(-)
|
|
mutex: Raise a ThreadError when detecting a fiber deadlock (#6680)
[Bug #19105]
If no fiber scheduler is registered and the fiber that
owns the lock and the one that try to acquire it
both belong to the same thread, we're in a deadlock case.
Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
---
test/fiber/test_mutex.rb | 22 +++++++++++++++++++++-
thread_sync.c | 4 ++++
2 files changed, 25 insertions(+), 1 deletion(-)
|
|
Fix bug in array pack with shared strings
If string literals are long and they become shared, we need to make them
independent before we can write to them. [Bug #19116]
---
pack.c | 1 +
test/ruby/test_array.rb | 6 ++++++
2 files changed, 7 insertions(+)
|
|
|
|
We don't care about actual hostname resolution. (#6652)
https://bugs.ruby-lang.org/issues/18380
---
test/fiber/test_address_resolve.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
35c794b26d406c39f90e188e3884003fe6aca532,725626d8905fe1ac4a2cf1c3e2db6412bf8f381f,b32a3f1275a8c7748f2134492ce3c532f277d261: [Backport #18964]
Fixed by [Bug #18964]
---
file.c | 3 ---
1 file changed, 3 deletions(-)
[Bug #18964] Update the code range of appended portion
---
ext/-test-/econv/append.c | 15 +++++++++++++++
ext/-test-/econv/extconf.rb | 3 +++
ext/-test-/econv/init.c | 11 +++++++++++
transcode.c | 34 ++++++++++++++++++++++++++++++----
4 files changed, 59 insertions(+), 4 deletions(-)
create mode 100644 ext/-test-/econv/append.c
create mode 100644 ext/-test-/econv/extconf.rb
create mode 100644 ext/-test-/econv/init.c
[Bug #18964] Add test for `rb_econv_append`
---
test/-ext-/econv/test_append.rb | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 test/-ext-/econv/test_append.rb
|
|
|
|
[Bug #19042] Fix Dir.glob brace with '/'
Dir.glob brace pattern with '/' after '**' does not match
paths in recursive expansion process.
We expand braces with '/' before expanding a recursive.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
dir.c | 2 +-
test/ruby/test_dir.rb | 14 ++++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
|
|
Skip running a DRb test on MinGW
It hangs even after a retry
https://github.com/ruby/ruby/runs/7966439530?check_suite_focus=true
We contacted GitHub Suppport about this before, and we concluded that
the problem is on our end. Unfortunately we don't have a bandwidth to
fix this MinGW problem, so until we get to work on it, this should be
just skipped to avoid a sporadic CI timeout.
---
test/drb/drbtest.rb | 1 +
test/drb/test_drbssl.rb | 4 ++++
test/rinda/test_rinda.rb | 2 +-
3 files changed, 6 insertions(+), 1 deletion(-)
|
|
Skip TupleSpaceProxyTest on MINGW64 too
It wasn't specific to UCRT64
https://github.com/ruby/ruby/runs/7062992464
---
test/rinda/test_rinda.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Fix Rinda test teardown for omitted tests
New test failures on MINGW appeared after
c2e37c8ff7da395f33fae546d9ae9e2408fc9236.
1) Error:
Rinda::TupleSpaceProxyTest#test_00_template:
NoMethodError: undefined method `stop_service' for nil:NilClass
D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown'
2) Error:
Rinda::TupleSpaceProxyTest#test_ruby_talk_264062:
NoMethodError: undefined method `stop_service' for nil:NilClass
D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown'
Teardown happens even when the test is omitted.
See: https://github.com/ruby/ruby/runs/7058984522
---
test/rinda/test_rinda.rb | 4 ++++
1 file changed, 4 insertions(+)
|
|
Try skipping TupleSpaceProxyTest on MinGW UCRT64
As you all know, MinGW UCRT64 CI has randomly got stuck despite its
"Finished tests" output.
Looking at the logs closely, it seems like all of the recent such
reproductions end with the following output:
```
Retrying hung up testcases...
[ 1/14] Rinda::TupleSpaceProxyTest#test_ruby_talk_264062 = 0.21 s
[ 2/14] Rinda::TupleSpaceProxyTest#test_00_template = 0.01 s
[ 3/14] Rinda::TupleSpaceProxyTest#test_inp_rdp = 0.00 s
[ 4/14] Rinda::TupleSpaceProxyTest#test_core_03_notify = 0.01 s
[ 5/14] Rinda::TupleSpaceProxyTest#test_00_renewer = 0.01 s
[ 6/14] Rinda::TupleSpaceProxyTest#test_cancel_02 = 0.11 s
[ 7/14] Rinda::TupleSpaceProxyTest#test_00_DRbObject = 0.00 s
[ 8/14] Rinda::TupleSpaceProxyTest#test_core_02 = 0.11 s
[ 9/14] Rinda::TupleSpaceProxyTest#test_core_01 = 0.11 s
[10/14] Rinda::TupleSpaceProxyTest#test_remote_array_and_hash = 0.01 s
[11/14] Rinda::TupleSpaceProxyTest#test_00_tuple = 0.00 s
[12/14] Rinda::TupleSpaceProxyTest#test_take_bug_8215 = 0.41 s
[13/14] Rinda::TupleSpaceProxyTest#test_cancel_01 = 0.11 s
[14/14] Rinda::TupleSpaceProxyTest#test_symbol_tuple = 0.01 s
Finished tests in 719.252845s, 29.4292 tests/s, 3838.7154 assertions/s.
21167 tests, 2761007 assertions, 0 failures, 0 errors, 708 skips
```
https://github.com/ruby/ruby/runs/7057789554
While it seems to be retried successfully, given that it hungs up once
and this appears all the time, this test class seems a bit suspicious.
To check if it's related, let me try disabling this for now.
---
test/rinda/test_rinda.rb | 3 +++
1 file changed, 3 insertions(+)
|
|
Also the tests should use the configured pkg-config
---
test/mkmf/test_pkg_config.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
Avoid defining the same test class in multiple files
Should fix issues with parallel testing sometimes not running all
tests.
This should be viewed skipping whitespace changes.
Fixes [Bug #18731]
---
test/-ext-/bignum/test_big2str.rb | 38 +-
test/-ext-/bignum/test_bigzero.rb | 20 +-
test/-ext-/bignum/test_div.rb | 38 +-
test/-ext-/bignum/test_mul.rb | 260 ++++++------
test/-ext-/bignum/test_pack.rb | 653 +++++++++++++++----------------
test/-ext-/bignum/test_str2big.rb | 52 ++-
test/-ext-/funcall/test_funcall.rb | 11 -
test/-ext-/funcall/test_passing_block.rb | 5 +
test/date/test_date_ractor.rb | 2 +-
test/fileutils/clobber.rb | 5 +-
test/fileutils/test_dryrun.rb | 2 +-
test/fileutils/test_nowrite.rb | 2 +-
test/fileutils/test_verbose.rb | 2 +-
test/fileutils/visibility_tests.rb | 5 +-
test/mkmf/base.rb | 225 ++++++-----
test/mkmf/test_config.rb | 16 +-
test/mkmf/test_constant.rb | 56 ++-
test/mkmf/test_convertible.rb | 48 ++-
test/mkmf/test_egrep_cpp.rb | 14 +-
test/mkmf/test_find_executable.rb | 82 ++--
test/mkmf/test_flags.rb | 92 +++--
test/mkmf/test_framework.rb | 70 ++--
test/mkmf/test_have_func.rb | 18 +-
test/mkmf/test_have_library.rb | 84 ++--
test/mkmf/test_have_macro.rb | 46 ++-
test/mkmf/test_install.rb | 38 +-
test/mkmf/test_libs.rb | 156 ++++----
test/mkmf/test_mkmf.rb | 14 +-
test/mkmf/test_pkg_config.rb | 98 +++--
test/mkmf/test_signedness.rb | 38 +-
test/mkmf/test_sizeof.rb | 74 ++--
test/optparse/test_acceptable.rb | 2 +-
test/optparse/test_autoconf.rb | 4 +-
test/optparse/test_bash_completion.rb | 4 +-
test/optparse/test_cclass.rb | 2 +-
test/optparse/test_did_you_mean.rb | 2 +-
test/optparse/test_getopts.rb | 4 +-
test/optparse/test_kwargs.rb | 4 +-
test/optparse/test_noarg.rb | 6 +-
test/optparse/test_optarg.rb | 2 +-
test/optparse/test_placearg.rb | 2 +-
test/optparse/test_reqarg.rb | 10 +-
test/optparse/test_summary.rb | 2 +-
test/optparse/test_zsh_completion.rb | 4 +-
test/ruby/enc/test_emoji_breaks.rb | 207 +++++-----
test/ruby/enc/test_grapheme_breaks.rb | 115 +++---
test/ruby/test_inlinecache.rb | 2 +-
47 files changed, 1280 insertions(+), 1356 deletions(-)
delete mode 100644 test/-ext-/funcall/test_funcall.rb
|
|
Update the test for [Feature #18615]
---
test/mkmf/test_flags.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
mkmf: pkg_config accepts multiple options
---
lib/mkmf.rb | 48 +++++++++++++++++++++++---------------------
test/mkmf/test_pkg_config.rb | 7 +++++++
2 files changed, 32 insertions(+), 23 deletions(-)
|
|
test: backfill coverage for MakeMakefile.pkg_config
---
test/mkmf/test_pkg_config.rb | 61 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 test/mkmf/test_pkg_config.rb
|
|
dae843f6b7502f921a7e66f39e3714a39d860181,86096a91d55f72620e0f8ca8634da5fa342dc35b:
Bypass git submodule add/update with git config
protocol.file.allow=always option.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
test/rubygems/test_gem_source_git.rb | 5 +++++
1 file changed, 5 insertions(+)
[rubygems/rubygems] Use [] instead of double-quotes
---
test/rubygems/test_gem_source_git.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
94cea3e4d0a60326bd95be762819eed8ccd59ca6,aa53d69aa21c4dfa2a78a1cec5cb34e9697b3d30,6b7d32a5e54088b6b4014529bbf2b4b8c1a96029,c6319026caa6c8f0f569f80011e8502349a04b14,aa490f9442c32cd0e1e449ac817f410bd5924c8b: [Backport #18435]
Fix {Method,UnboundMethod}#super_method for zsuper methods
* We need to resolve the zsuper method first, and then look the super
method of that.
---
proc.c | 25 ++++++++++++-----------
spec/ruby/core/method/super_method_spec.rb | 15 +++-----------
spec/ruby/core/unboundmethod/super_method_spec.rb | 16 ++++++---------
3 files changed, 22 insertions(+), 34 deletions(-)
Add specs for {Method,UnboundMethod}#owner of a zsuper method
---
spec/ruby/core/method/owner_spec.rb | 6 ++++++
spec/ruby/core/unboundmethod/owner_spec.rb | 7 +++++++
2 files changed, 13 insertions(+)
Resolve zsuper method during lookup but preserve owner separately
* See https://bugs.ruby-lang.org/issues/18729#note-34
* See [Bug #18729]
---
proc.c | 109 +++++++++++++++++++++++++----------------------
test/ruby/test_method.rb | 66 +++++++++++++++++++++++-----
2 files changed, 114 insertions(+), 61 deletions(-)
Extend tests for a zsuper method of which the method it resolved to
has been removed
---
test/ruby/test_method.rb | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
Reduce diff to proc.c @ b0b9f7201acab05c2a3ad92c3043a1f01df3e17f
* So it's easy to review https://github.com/ruby/ruby/pull/6242 +
https://github.com/ruby/ruby/pull/6467 and there are less changes
overall.
---
proc.c | 76 ++++++++++++++++++------------------------------
test/ruby/test_method.rb | 7 +++--
2 files changed, 34 insertions(+), 49 deletions(-)
|
|
Dump non-ASCII char as unsigned
Non-ASCII code may be negative on platforms plain char is signed.
---
ext/objspace/objspace_dump.c | 2 +-
test/objspace/test_objspace.rb | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
|
|
[ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create
a file on a offline drive
https://github.com/ruby/fileutils/commit/9cc6a082d7
---
lib/fileutils.rb | 2 +-
test/fileutils/test_fileutils.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
|
|
[Win32] Fix mode of character/pipe device stat [Bug #18732]
---
test/ruby/test_file_exhaustive.rb | 33 ++++++++++++++++++++++++++++-----
win32/win32.c | 22 ++++++++++++++++------
2 files changed, 44 insertions(+), 11 deletions(-)
|
|
[Bug #18922] Normalize time at 24:00:00 UTC
---
test/ruby/test_time.rb | 2 ++
time.c | 14 ++++++++++++++
2 files changed, 16 insertions(+)
|
|
Thread#value: handle threads killed by a fork
[Bug #18902]
When a thread is killed because we forked, the `value` if left
to `Qundef`. Returning it woudl crash the VM.
---
test/ruby/test_thread.rb | 14 ++++++++++++++
thread.c | 4 ++++
2 files changed, 18 insertions(+)
|
|
|
|
The changes can be found at:
https://github.com/ruby/openssl/compare/v3.0.0...v3.0.1
|
|
Fix unexpected "duplicated key name" error in paren-less one line
pattern matching
[Bug #18990]
---
parse.y | 16 ++++++++++++----
test/ruby/test_pattern_matching.rb | 12 ++++++++++++
2 files changed, 24 insertions(+), 4 deletions(-)
|
|
ef525b012a709077ea2797e8642fae0b61234063,dc9a13abeef5a2b936fbb55edc112b8b382a05e7: [Backport #18775]
Explicit handling of frozen strings in `IO::Buffer#for`. (#5892)
---
io_buffer.c | 122 +++++++++++++++++++++++++++++++++++---------
test/ruby/test_io_buffer.rb | 36 +++++++------
2 files changed, 117 insertions(+), 41 deletions(-)
Fix rdoc of IO::Buffer [ci skip]
---
io_buffer.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
|
|
Fix multiplex backreferencs near end of string in regexp match
Idea from Jirka Marsik.
Fixes [Bug #18631]
---
regexec.c | 6 ++++--
test/ruby/test_regexp.rb | 6 ++++++
2 files changed, 10 insertions(+), 2 deletions(-)
|
|
Return only captured range in `MatchData` [Bug #18670]
---
re.c | 2 +-
test/ruby/test_regexp.rb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
|
|
|