summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2026-03-26[ruby/pstore] Define the platform constantNobuyoshi Nakada
Rather than overwriting the predicate method dynamically. Fix [Bug #21880](https://bugs.ruby-lang.org/issues/21880). https://github.com/ruby/pstore/commit/b2e474e619
2026-03-26[ruby/pstore] Added lib path to in assert_in_out_errHiroshi SHIBATA
https://github.com/ruby/pstore/commit/b563c4d354
2026-03-26merge revision(s) 54c4694994cc3bcfea9058b22ba3e68af6aaf740: [Backport #21961]Hiroshi SHIBATA
[PATCH] marshal.c: properly freeze linked strings [Bug #21961]
2026-03-24Revert "merge revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2: ↵Hiroshi SHIBATA
[Backport #21703]" This reverts commit 83637aea6ea726f7fc4c17e56ac60c289e2d98db.
2026-03-24merge revision(s) d7a6ff8224519005d2deeb3f4e98689a8a0835ad: [Backport #21819]Hiroshi SHIBATA
[Bug #21819] Data objects without members should also be frozen
2026-03-24merge revision(s) 19e539c9ee1701b34189fa0c1feb942adeb0e326: [Backport #21814]Hiroshi SHIBATA
[Bug #21814] Fix negative bignum modulo If modulo is zero, do not apply bias even if the divisor is zero. `BIGNUM_POSITIVE_P` is true even on bignum zero.
2026-03-24merge revision(s) 1e7cf7b2bc1f9b356b2e980e1e18548618da6363: [Backport #21446]Hiroshi SHIBATA
[PATCH] Fix refinement modification of method visibility in superclass Previously, this didn't work correctly, resulting in a SystemStackError. This fixes the issue by finding the related superclass method entry, and updating the orig_me in the refinement method to point to the superclass method. Fixes [Bug #21446]
2026-03-24merge revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2: [Backport #21703]Hiroshi SHIBATA
[PATCH] Don't use non blocking pipes for RUBY_CRASH_REPORT [Bug #21703] RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux. For example, given the following shell script dump.sh: #!/usr/bin/env bash cat > /tmp/crash And we see it fails like this: $ RUBY_CRASH_REPORT="|dump.sh" ruby -rfiddle -e "Fiddle::Pointer.new(1, 10)[0]" cat: -: Resource temporarily unavailable
2026-03-10Merge zlib-3.1.2Hiroshi SHIBATA
2026-03-04YJIT: Bail out if proc would be stored above stack topRandy Stauner
Fixes [Bug #21266]. Backport of 9168cad4d63a5d281d443bde4edea6be213b0b25 to 3.3
2026-02-12Fix UnboundMethod#== for methods from included/extended modules [Backport ↵Mike Dalessio
#21873] Method#unbind clones the method entry, preserving its defined_class. For methods mixed in via include/extend, defined_class is an ICLASS, causing UnboundMethod#== to return false when comparing against the same method obtained via Module#instance_method. Resolve ICLASS defined_class in method_eq. [Bug #21873]
2025-12-15Skip test_crash_report_pipe with macOS 15Hiroshi SHIBATA
2025-12-15macOS 15 is the stable version todayHiroshi SHIBATA
2025-12-15Add predicates for platformsNobuyoshi Nakada
2025-12-15Pend some tests because these are not working with macOS 15 beta and Xcode ↵Hiroshi SHIBATA
16 beta
2025-11-30merge revision(s) beb85e7eeee4163cd45b69645a60cdb942f72c05: [Backport #21705]nagachika
[PATCH] [Bug #21705] Fix segfaults on Windows It should check the type of the argument and coercion before converting the encoding.
2025-11-30merge revision(s) f4f728b319086eea3db6e9909fb9c849c276f813: [Backport #21680]nagachika
[PATCH] [Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144) Fix wrong condition in base multiplying loop.
2025-11-29merge revision(s) c5bd4acd30320a8e180ce9fcb24acdab4e10c73a: [Backport #21666]nagachika
[PATCH] [Bug #21666] Get rid of use of unspecified values
2025-11-29merge revision(s) a4dff09be79b52288a47658964d25e5aa84fc960: [Backport #21673]nagachika
[PATCH] [Bug #21673] Fix resolving refined module-defined method A method defined in a module has no `defined_class`, use the ICLASS for it as the `defined_class`.
2025-11-08merge revision(s) 377aa2a336cc700485c699ac49330f2a58b74906: [Backport #21668]nagachika
[PATCH] Improve performance of UnicodeNormalize.canonical_ordering_one Use array_of_integer.sort! instead of buble-sort-like algorithm
2025-11-02Fix initialization of the table for quick searchK.Takata
This fixes k-takata/Onigmo#120. The commit k-takata/Onigmo@9c13de8d0684ebde97e3709d7693997c81ca374b was insufficient. https://github.com/k-takata/Onigmo/commit/1de602ddff140d91419e3f86dd35c81d7bd2d8e7
2025-11-02[Bug #13671] Fix that "ss" in look-behind causes syntax errorK.Takata
Fixes k-takata/Onigmo#92. This fix was ported from oniguruma: https://github.com/kkos/oniguruma/commit/257082dac8c6019198b56324012f0bd1830ff4ba https://github.com/k-takata/Onigmo/commit/b1a5445fbeba97b3e94a733c2ce11c033453af73
2025-11-02merge revision(s) 12350eb9e0d3317da57b5a37c0c2810946b48850: [Backport #21625]nagachika
[PATCH] [Bug #21625] Allow io/wait methods with `IO#ungetc` in text mode
2025-10-25merge revision(s) 4368e6c42effc16904e35f753fc2002f0bba375a:nagachika
[PATCH] [ruby/rubygems] Removed credential assertion from stdout https://github.com/ruby/rubygems/commit/3946be008c
2025-10-18merge revision(s) e94a2f691d67ad98be9036e76c765fcfa7d22552: [Backport #21638]nagachika
[PATCH] [Bug #21638] Mark ractor-local `$VERBOSE` and `$DEBUG` https://github.com/sampersand/blog/blob/master/the%20-s%20flag.md#the-segfault
2025-10-11merge revision(s) 7ae67e8f6ad6e7fd0677b28a7a10961f79d55495: [Backport #21568]nagachika
[PATCH] load.c: Fix dest and src of MEMMOVE When multiple files with the same name are required, the features_index hash stores the indexes in `$LOADED_FEATURES` array into a darray. The dest and src arguments for `MEMMOVE` were wrongly reversed when inserting a new index in the darray. [Bug #21568]
2025-10-11Update openssl gem to 3.2.2Bo Anderson
2025-10-09Merge URI-0.13.3Hiroshi SHIBATA
2025-10-05merge revision(s) 62430c19c9f1ab49429cebe65f30588472648c95: [Backport #21342]nagachika
Message not found for revision: 62430c19c9f1ab49429cebe65f30588472648c95
2025-09-14merge revision(s) 928fea3bfa86053c0bc6f7a5bf7559b115a676b5: [Backport #21567]nagachika
Fix crash when $LOADED_FEATURES is modified during require [Bug #21567] When we require an object that is not a string, it will attempt to convert it to a string by calling to_str on it. If we modify the $LOADED_FEATURES array while it calls to_str, Ruby can crash because it can end up inserting the string in the wrong index in the array. For example, the following script crashes: require "tempfile" class MyString def initialize(path) @path = path end def to_str $LOADED_FEATURES.clear @path end def to_path = @path end def create_ruby_file = Tempfile.create(["test", ".rb"]).path require MyString.new(create_ruby_file) $LOADED_FEATURES.unshift(create_ruby_file) $LOADED_FEATURES << MyString.new(create_ruby_file) require create_ruby_file Crash log: test.rb:21: [BUG] Segmentation fault at 0x0000000000000004 ruby 3.5.0dev (2025-09-09T09:29:35Z master ce94add7fb) +PRISM [arm64-darwin24] -- Crash Report log information -------------------------------------------- See Crash Report log file in one of the following locations: * ~/Library/Logs/DiagnosticReports * /Library/Logs/DiagnosticReports for more details. Don't forget to include the above Crash Report log file in bug reports. -- Control frame information ----------------------------------------------- c:0003 p:---- s:0011 e:000010 CFUNC :require c:0002 p:0076 s:0006 e:000005 EVAL test.rb:21 [FINISH] c:0001 p:0000 s:0003 E:0001b0 DUMMY [FINISH] -- Ruby level backtrace information ---------------------------------------- test.rb:21:in '<main>' test.rb:21:in 'require' -- Threading information --------------------------------------------------- Total ractor count: 1 Ruby thread count for this ractor: 1 -- Machine register context ------------------------------------------------ x0: 0x0000000000000004 x1: 0x000000000000c800 x2: 0x0000000000000000 x3: 0x0000000000000000 x4: 0x0000000000000205 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000001 x18: 0x0000000000000000 x19: 0x0000000209dfc0b0 x20: 0x0000000209dfc018 x21: 0x000000016ee8ab58 x22: 0x0fffffff0009d71d x23: 0x0000000209dfc018 x24: 0x0000000209dfc150 x25: 0x000000016ee8acc0 x26: 0x0000000000000000 x27: 0x0000000000000000 x28: 0x0000000000000000 lr: 0x0000000101244140 fp: 0x000000016ee887f0 sp: 0x000000016ee887d0 -- C level backtrace information ------------------------------------------- miniruby(rb_print_backtrace+0x24) [0x101317b08] vm_dump.c:843 miniruby(rb_print_backtrace) (null):0 miniruby(rb_vm_bugreport+0x26c) [0x101317d94] vm_dump.c:1175 miniruby(rb_bug_for_fatal_signal+0xa4) [0x10105ddac] error.c:1130 miniruby(sig_do_nothing+0x0) [0x1012278c0] signal.c:948 miniruby(sigsegv) (null):0 /usr/lib/system/libsystem_platform.dylib(_sigtramp+0x38) [0x19c1216a4] miniruby(rb_str_new_frozen+0x1c) [0x101244140] string.c:1495 miniruby(rb_check_realpath_internal+0x68) [0x101077804] file.c:4679 miniruby(rb_check_realpath+0x2c) [0x101077aa4] file.c:4765 miniruby(get_loaded_features_index+0x37c) [0x1010f9c94] load.c:467 miniruby(rb_feature_p+0xd0) [0x1010f8174] load.c:582 miniruby(search_required+0xac) [0x1010f6ad4] load.c:1193 miniruby(require_internal+0x274) [0x1010f7518] load.c:1424 miniruby(rb_require_string_internal+0x94) [0x1010f6830] load.c:1571 miniruby(rb_require_string+0x58) [0x1010f66e8] load.c:1557 miniruby(rb_f_require+0x1c) [0x1010f6684] load.c:1150 miniruby(ractor_safe_call_cfunc_1+0x38) [0x101306c28] vm_insnhelper.c:3696 miniruby(vm_call_cfunc_with_frame_+0x250) [0x1012f857c] vm_insnhelper.c:3873 miniruby(vm_call_cfunc_with_frame+0x6c) [0x1012f8834] vm_insnhelper.c:3919 miniruby(vm_sendish+0x1a8) [0x1012c990c] vm_insnhelper.c:6087 miniruby(vm_exec_core+0x4050) [0x1012cfb48] insns.def:900 miniruby(vm_exec_loop+0x80) [0x1012e5448] vm.c:2666 miniruby(rb_vm_exec+0x134) [0x1012c9b40] vm.c:2645 miniruby(rb_iseq_eval_main+0x34) [0x1012e5628] vm.c:2919 miniruby(rb_ec_exec_node+0xe4) [0x10106d094] eval.c:282 miniruby(ruby_run_node+0x94) [0x10106cf64] eval.c:320 miniruby(rb_main+0x40) [0x100f7499c] main.c:42 miniruby(main+0x60) [0x100f74928] main.c:62
2025-09-14merge revision(s) ce849d565bf6aae8e0179fffb04eb1f665f17347, ↵nagachika
acb29f7fa1497463ed3bdd65549ef20b61beda64: [Backport #21402] ruby2_keywords warnings: Quote non-UTF8 method names fully It used to quote only part of the method name because NUL byte in the method terminates the C string: ``` (irb)> "abcdef".encode("UTF-16LE").bytes => [97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0] ``` ``` expected: /abcdef/ actual: warning: Skipping set of ruby2_keywords flag for a (method not defined in Ruby)\n". ``` Do not respect ruby2_keywords on method/proc with post arguments Previously, ruby2_keywords could be used on a method or proc with post arguments, but I don't think the behavior is desired: ```ruby def a(*c, **kw) [c, kw] end def b(*a, b) a(*a, b) end ruby2_keywords(:b) b({foo: 1}, bar: 1) ``` This changes ruby2_keywords to emit a warning and not set the flag on a method/proc with post arguments. While here, fix the ruby2_keywords specs for warnings, since they weren't testing what they should be testing. They all warned because the method didn't accept a rest argument, not because it accepted a keyword or keyword rest argument.
2025-08-29Backport GH-13617 for s390x (#13757)Hiroshi SHIBATA
2025-07-19merge revision(s) 097d742a1ed53afb91e83aef01365d68b763357b: [Backport #20009]nagachika
[Bug #20009] Support marshaling non-ASCII name class/module
2025-07-19Fix generic_ivar_set_shape_ivptr for table rebuildJohn Hawthorn
[Bug #21438] Previously GC could trigger a table rebuild of the generic ivar st_table in the middle of calling the st_update callback. This could cause entries to be reallocated or rearranged and the update to be for the wrong entry. This commit adds an assertion to make that case easier to detect, and replaces the st_update with a separate st_lookup and st_insert. Also free after insert in generic_ivar_set_shape_ivptr Previously we were performing a realloc and then inserting the new value into the table. If the table was flagged as requiring a rebuild, this could trigger GC work and marking within that GC could access the ivptr freed by realloc. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
2025-07-19Bump up resolv-0.3.1 for Ruby 3.3Hiroshi SHIBATA
2025-07-02Partly picked from https://github.com/ruby/ruby/pull/10073Hiroshi SHIBATA
2025-06-29merge revision(s) c1877d431e76f4a782d51602fa8487e98d302956: [Backport #21437]nagachika
[ruby/date] [Bug #21437] Date#hash for large years Addresses https://bugs.ruby-lang.org/issues/21437 Signed-off-by: Dmitry Dygalo <dmitry.dygalo@workato.com> https://github.com/ruby/date/commit/31f07bc576
2025-06-29merge revision(s) 2e7e78cd590d20aa9d41422e96302f3edd73f623: [Backport #21440]nagachika
[Bug #21440] Stop caching member list in frozen Data/Struct class
2025-06-15merge revision(s) fa85d23ff4a02985ebfe0716b0ff768f5b4fe13d: [Backport #21380]nagachika
[Bug #21380] Prohibit modification in String#split block Reported at https://hackerone.com/reports/3163876
2025-05-24merge revision(s) cbf9c088f8005a49b6aa3f475c70041357774c61: [Backport #21310]nagachika
YJIT: End the block after OPTIMIZE_METHOD_TYPE_CALL (#13245)
2025-05-24merge revision(s) 056497319658cbefe22351c6ec5c9fa6e4df72bd: [Backport #21357]nagachika
[Bug #21357] Fix crash in Hash#merge with block Prior to https://github.com/ruby/ruby/commit/49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c the `optional_arg` passed from `rb_hash_update_block_i` to `tbl_update` was a hash value (i.e. a VALUE). After that commit it changed to an `update_call_args`. If the block sets or changes the value, `tbl_update_modify` will set the `arg.value` back to an actual value and we won't crash. But in the case where the block returns the original value we end up calling `RB_OBJ_WRITTEN` with the `update_call_args` which is not expected and may crash. `arg.value` appears to only be used to pass to `RB_OBJ_WRITTEN` (others who need the `update_call_args` get it from `arg.arg`), so I don't think it needs to be set to anything upfront. And `tbl_update_modify` will set the `arg.value` in the cases we need the write barrier.
2025-05-24merge revision(s) 49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c: [Backport #21333]nagachika
[Bug #21333] Prohibit hash modification inside Hash#update block
2025-05-18merge revision(s) b959263b58e26ef630c085f9f7ddc04373a998c7: [Backport #21344]nagachika
Fix Exception#detailed_message for GC compaction Before this commit, the test fails with RGENGC_CHECK_MODE enabled: TestException#test_detailed_message_under_gc_compact_stress [test/ruby/test_exception.rb:1466]: <"\e[1mfoo (\e[1;4mRuntimeError\e[m\e[1m)\e[m\n" + "\e[1mbar\e[m\n" + "\e[1mbaz\e[m"> expected but was <"\e[1mfoo (\e[1;4mRuntimeError\e[m\e[1m)\e[m\n" + "\e[1m\x00\x00\x00\x00\x00\x00\x00\e[m">.
2025-05-17merge revision(s) 7793b59c8d2a13c124fe276e11723db23facce04: [Backport #21331]nagachika
[Bug #21331] Prohibit hash modification during stlike loop
2025-05-17merge revision(s) 0d6263bd416338a339651fb97fe4d62701704c4b: [Backport #21220]nagachika
Fix coverage measurement for negative line numbers Fixes [Bug #21220] Co-Authored-By: Mike Bourgeous <mike@mikebourgeous.com> Co-Authored-By: Jean Boussier <jean.boussier@gmail.com>
2025-04-07merge revision(s) 3a7b9ca93b91dcc086b9ac8b9957e59268f9493b: [Backport #21217]nagachika
Fix `Integer.sqrt` to never exceed actual value `Integer.sqrt` uses `sqrt(3)` from libm for small values. This method must return a value less than or equal to the actual integer square root, but libm's sqrt does not always guarantee that. This change corrects that by decrementing the result if necessary. Fixes [Bug #21217]
2025-04-06Update prism test snapshots.nagachika
This is follow-up for 7c315e23983a35d29108d9ba8c914d6320254d43.
2025-04-04Use EnvUtil.apply_timeout_scaleHiroshi SHIBATA
2025-04-04Extend open_timeout for test failure on s390xHiroshi SHIBATA
https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
2025-04-03Use IPv4 for test server because TestNetHTTPS is failing with s390xHiroshi SHIBATA
https://rubyci.s3.amazonaws.com/s390x/ruby-3.2/log/20250403T005659Z.fail.html.gz