summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2025-11-20[ruby/prism] Add tests to `regexp_encoding_option_mismatch`Thiago Araujo
related to #2667 https://github.com/ruby/prism/commit/44f075bae4
2025-11-20Support backwards compatibility for Set subclassesJeremy Evans
For subclasses from Set, require `set/subclass_compatible`, and extend the subclass and include a module in it that makes it more backwards compatible with the pure Ruby Set implementation used before Ruby 4. The module included in the subclass contains a near-copy of the previous Set implementation, with the following changes: * Accesses to `@hash` are generally replaced with `super` calls. In some cases, they are replaced with a call to another instance method. * Some methods that only accessed `@hash` and nothing else are not defined, so they inherit behavior from core Set. * The previous `Set#divide` implementation is not used, to avoid depending on tsort. This fixes the following two issues: * [Bug #21375] Set[] does not call #initialize * [Bug #21396] Set#initialize should call Set#add on items passed in It should also fix the vast majority of backwards compatibility issues in other cases where code subclassed Set and depended on implementation details (such as which methods call which other methods). This does not affect Set internals, so Set itself remains fast. For users who want to subclass Set but do not need to worry about backwards compatibility, they can subclass from Set::CoreSet, a Set subclass that does not have the backward compatibility layer included.
2025-11-20[ruby/resolv] Move minimal registry access to the extensionNobuyoshi Nakada
Now win32/registry depends on fiddle, and its conversion is complex and too generic for the purpose of resolv. https://github.com/ruby/resolv/commit/bd24870d2d
2025-11-19Implement heap_final_slots in GC.stat_heapPeter Zhu
[Feature #20408]
2025-11-19Implement heap_free_slots in GC.stat_heapPeter Zhu
[Feature #20408]
2025-11-19Implement heap_live_slots in GC.stat_heapPeter Zhu
[Feature #20408]
2025-11-19[ruby/error_highlight] Fix prism_spot_def_for_name for singletonsJohn Hawthorn
Previously calling a singleton method with invalid arguments would give: RuntimeError: Incompatible locations This is because `join` wants the operator to come before the location https://github.com/ruby/error_highlight/commit/44920551dd
2025-11-19[ruby/rubygems] Handle BUNDLER_VERSION being set to an empty stringCody Cutrer
This is useful, in case you're using Docker, and an upstream Dockerfile sets BUNDLER_VERSION to something you don't want. It's impossible to unset it... only override to be the empty string. https://github.com/ruby/rubygems/commit/ffa3eb9ac6
2025-11-18Fix crash in optimal size for large T_OBJECTJohn Hawthorn
Previously any T_OBJECT with >= 94 IVARs would crash during compaction attempting to make an object too large to embed.
2025-11-18ZJIT: Inline setting Struct fieldsBenoit Daloze
* Add Insn::StoreField and Insn::WriteBarrier
2025-11-18ZJIT: add support for lazy `RubyVM::ZJIT.enable`Godfrey Chan
This implements Shopify#854: - Splits boot-time and enable-time initialization, tracks progress with `InitializationState` enum - Introduces `RubyVM::ZJIT.enable` Ruby method for enabling the JIT lazily, if not already enabled - Introduces `--zjit-disable` flag, which can be used alongside the other `--zjit-*` flags but prevents enabling the JIT at boot time - Adds ZJIT infra to support JIT hooks, but this is not currently exercised (Shopify/ruby#667) Left for future enhancements: - Support kwargs for overriding the CLI flags in `RubyVM::ZJIT.enable` Closes Shopify#854
2025-11-18[ruby/openssl] ssl: fix test_pqc_sigalg on RHEL 9.7Kazuki Yamaguchi
RHEL 9.7 ships OpenSSL 3.5.1 with ML-DSA support, but it is disabled for TLS by default, according to the system configuration file: /etc/crypto-policies/back-ends/opensslcnf.config Specify SSLContext#sigalgs to override the default list. https://github.com/ruby/openssl/commit/fac3a26748
2025-11-18[ruby/resolv] Fix syntax error on older versionsNobuyoshi Nakada
https://github.com/ruby/resolv/commit/599f78c451
2025-11-18[ruby/rubygems] Undeprecate `Gem::Version.new(nil)`Aaron Patterson
It seems like we were trying to deprecate passing `nil` to Gem::Version.new. This breaks existing code, and I don't think there is a good reason to deprecate this usage. I believe what we want to prevent is the following code: ```ruby Gem::Specification.new do |spec| spec.version = nil # suddenly the spec version is 0! p spec.version end ``` This commit allows people to manually construct `Gem::Version.new(nil)`, but when someone assigns `nil` as the Gem specification version, it sets the spec version to `nil` (making the specification invalid). People who manually construct `Gem::Version` objects and use nil should be allowed to do it, and `Gem::Version.new(nil) == Gem::Version.new("0")`, but people who assign `nil` in a gemspec will get an invalid gemspec. I think deprecation started [here](https://github.com/ruby/rubygems/pull/2203) but there doesn't seem to be a reason to do it. Fixes https://github.com/ruby/rubygems/pull/9052 https://github.com/ruby/rubygems/commit/ded5e909c2
2025-11-17Unskip test_alternative_pattern_nested for MMTkPeter Zhu
2025-11-18[ruby/rubygems] Removed deprecated -C option from gem buildHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/3471646d43
2025-11-17[ruby/prism] Remove now obsolete todosEarlopain
https://github.com/ruby/prism/commit/b00d098f9a
2025-11-16Handle deeply nested capture variables syntax errKevin Newton
When there are nested capture variables inside of a pattern match that has an alternation pattern, it is a syntax error. Currently it only adds a syntax error when it is at the top level of the pattern.
2025-11-14Skip tests in TestThreadLockNativeThread when using LSANPeter Zhu
These tests use NM threads but NT is not freed for MN thread, causing it to be reported as memory leaks in LSAN. For example: #1 0x62ee7bc67e99 in calloc1 gc/default/default.c:1495:12 #2 0x62ee7bc7ba00 in rb_gc_impl_calloc gc/default/default.c:8216:5 #3 0x62ee7bc631d1 in ruby_xcalloc_body gc.c:5221:12 #4 0x62ee7bc5cdbc in ruby_xcalloc gc.c:5215:34 #5 0x62ee7bdea4c6 in native_thread_alloc thread_pthread.c:2187:35 #6 0x62ee7bdec31b in native_thread_check_and_create_shared thread_pthread_mn.c:429:39 #7 0x62ee7bdea484 in native_thread_create_shared thread_pthread_mn.c:531:12 #8 0x62ee7bdea1da in native_thread_create thread_pthread.c:2403:16 #9 0x62ee7bdde2eb in thread_create_core thread.c:884:11 #10 0x62ee7bde4466 in thread_initialize thread.c:992:16
2025-11-14ZJIT: Skip a flaky DNS test (#15192)Takashi Kokubun
2025-11-14ZJIT: Add tests for sending to methods with keyword args (#15183)Randy Stauner
2025-11-14[ruby/prism] Reject endless method as a block parameter defaultEarlopain
Fixes [Bug #21661] https://github.com/ruby/prism/commit/475fa46a82
2025-11-14[Feature #21572] Syntax error at capture in alternation patternNobuyoshi Nakada
Should fail even with `-c` option.
2025-11-14[ruby/rubygems] Removed deprecated Gem::Specification#has_rdoc, has_rdoc= ↵Hiroshi SHIBATA
and has_rdoc? https://github.com/ruby/rubygems/commit/b043538576
2025-11-14[ruby/rubygems] Add pattern matching support to Gem::NameTupleBrandon Weaver
https://github.com/ruby/rubygems/commit/9b19e1f555
2025-11-14[ruby/rubygems] Removed files for `gem query`Hiroshi SHIBATA
https://github.com/ruby/rubygems/commit/de269cfbb6
2025-11-14[ruby/rubygems] Removed deprecated ↵Hiroshi SHIBATA
Gem::DependencyInstaller#find_gems_with_sources https://github.com/ruby/rubygems/commit/1b3f3bf194
2025-11-14[ruby/rubygems] Removed deprecated Gem::Util.silent_systemHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/728269cc4a
2025-11-14[ruby/rubygems] Removed deprecated Gem::Platform.matchHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/f4b4f12f91
2025-11-14[ruby/rubygems] Removed deprecated Gem::Installer#unpackHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/96cef34041
2025-11-14[ruby/rubygems] bin/rubocop -a --only Style/RedundantParenthesesHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/be3b09c786
2025-11-14Adapt to Unicode directory changesMari Imaizumi
https://www.unicode.org/Public/emoji/ReadMe.txt > This directory contains data files for versions 1.0 to 16.0 of Unicode Emoji. > Starting with Unicode 17.0.0, the data files for Unicode Emoji are published in > https://www.unicode.org/Public/<version>/emoji/ > together with the related files in > https://www.unicode.org/Public/<version>/ucd/emoji/
2025-11-14[ruby/rubygems] Use `method_defined?` instead of `instance_methods.include?`Nobuyoshi Nakada
While the latter creates an intermediate array of all method names including all ancestors, the former just traverse the inheritance chain and can stop if found once. https://github.com/ruby/rubygems/commit/b291070b3b
2025-11-13[ruby/net-http] Fix handling of IPv6 literal hosts in `Net::HTTPGenericRequest`Taketo Takashima
Update uri dependency to version 0.11.0 or later to use `URI::HTTP#authority` and `URI#parse` without scheme https://github.com/ruby/net-http/commit/3d4f06bd7f Co-authored-by: 0x1eef <0x1eef@users.noreply.github.com> Co-authored-by: Sorah Fukumori <sora134@gmail.com>
2025-11-13Add size checks to Range#to_set and Enumerator#to_set [Bug #21654]Akinori Musha
These two class are most common sources of infinite sequences. This change should effectively prevent accidental infinite loops when calling to_set on them. [Bug #21513]
2025-11-13Revert "[Bug #21513] Raise on converting endless range to set"Akinori Musha
This reverts commit d4020dd5faf28486123853e7f00c36139fc07793, which introduced performance regression for objects like ActiveRecord::Relation by calling the costly #size method on them.
2025-11-13[ruby/rubygems] Fixed with Performance/RegexpMatch copHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/93b8492bc0
2025-11-13Ractor support Windows platform. We need to skip only failing tests of RubyGemsHiroshi SHIBATA
2025-11-13[Bug #21683] Respect reading encoding at `each_codepoint`Nobuyoshi Nakada
2025-11-12[ruby/rubygems] Re-use assert_headers_equal from Gem::Package::TarTestCaseHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/0cf49e22af
2025-11-12[ruby/rubygems] Add pattern matching support to Gem::PlatformBrandon Weaver
https://github.com/ruby/rubygems/commit/b59917447c
2025-11-12Reapply "[ruby/erb] Reapply "Remove safe_level and further positional"Takashi Kokubun
This reverts commit 5b6658a406b5f1c535aed4cb68e8e18a3cbabb81. With a ruby spec fix.
2025-11-12Revert "[ruby/erb] Reapply "Remove safe_level and further positional"Takashi Kokubun
This reverts commit 6ea4f36716f8970f418f32837575405ddeea75aa. I'll fix ruby/spec shortly. For now, let me just revert it for ruby/ruby.
2025-11-12[ruby/erb] Reapply "Remove safe_level and further positionalTakashi Kokubun
arguments (https://github.com/ruby/erb/pull/7)" (https://github.com/ruby/erb/pull/95) This reverts commit https://github.com/ruby/erb/commit/1c02d23dc618. https://github.com/ruby/erb/commit/4162a24ecc
2025-11-12[ruby/io-wait] Remove `IO#nread` and `IO#ready?Nobuyoshi Nakada
https://github.com/ruby/io-wait/commit/1decadc7f9
2025-11-12Make alias `Ractor#value` only if undefinedNobuyoshi Nakada
`Ractor#value` replaces `Ractor#take`; if the former is defined the latter is undefined, and vice versa.
2025-11-12[ruby/rubygems] Workaround for test failure of ruby_3_4 branchHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/d7bc3a6d82
2025-11-12[ruby/rubygems] Support ruby_3_4 branch with assert_ractor argumentHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/da0a14801a
2025-11-12[ruby/rubygems] Inject assert_ractor if TestGemPackageTarHeaderRactor is ↵Hiroshi SHIBATA
running under the ruby/rubygems repo https://github.com/ruby/rubygems/commit/47f41ce2df
2025-11-12Split Ractor tests for Gem::PackageHiroshi SHIBATA