1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test
Alan Wu 39a2ba5cc5
Method cache: fix refinement entry handling
To invalidate some callable method entries, we replace the entry in the
class. Most types of method entries are on the method table of the
origin class, but refinement entries without an orig_me are housed in
the method table of the class itself. They are there because refinements
take priority over prepended methods.

By unconditionally inserting a copy of the refinement entry into the
origin class, clearing the method cache created situations where there
are refinement entry duplicates in the lookup chain, leading to infinite
loops and other problems.

Update the replacement logic to use the right class that houses the
method entry. Also, be more selective about cache invalidation when
moving refinement entries for prepend. This avoids calling
clear_method_cache_by_id_in_class() before refinement entries are in the
place it expects.

[Bug #17806]
2021-05-11 12:05:06 -04:00
..
-ext- rb_enc_interned_str: handle autoloaded encodings 2021-03-22 21:37:48 +09:00
base64
benchmark [ruby/benchmark] Add comment about terminating newline in captions; fix test method name. 2021-04-22 11:51:37 +09:00
bigdecimal
cgi [ruby/cgi] Add test for escapeHTML/unescapeHTML invalid encoding fix in pure ruby version 2021-04-22 11:51:36 +09:00
coverage
csv
date
dbm
did_you_mean
digest
drb test/drb/test_drb.rb: Specify the host of DRbServer 2021-04-07 16:34:19 +09:00
dtrace
erb [ruby/erb] Warn safe_level and later args even without -w 2021-01-21 13:52:02 +09:00
etc Fix leaked file descriptor in passwd test 2021-03-24 13:02:54 +09:00
excludes
fiber Test incorrect behaviour of rb_io_wait_readable/writable. 2021-03-30 23:16:59 +13:00
fiddle Oops! Add another test and fix to_proc implementation 2021-02-26 10:06:56 -08:00
fileutils
fixtures/fake_sorted_set_gem
gdbm
io [ruby/io-wait] Declare as Ractor-safe 2021-03-07 09:54:35 +09:00
irb test/irb/test_raise_no_backtrace_exception.rb: Set LC_MESSAGES as UTF-8 2021-05-11 19:38:06 +09:00
json
lib
logger
matrix [ruby/matrix] Guard for < Ruby 3.0 2021-04-27 21:07:17 +09:00
mkmf mkmf: fixed install directories of header files in extension libraries [Bug #17761] 2021-03-30 23:28:49 +09:00
monitor Fix Monitor to lock per Fiber, like Mutex [Bug #17827] 2021-04-27 18:42:50 +02:00
net [ruby/net-http] Do not require stringio 2021-05-06 15:58:41 +09:00
nkf
objspace Fix some typos by spell checker 2021-04-26 10:07:41 +09:00
open-uri Fix some typos by spell checker 2021-04-26 10:07:41 +09:00
openssl [ruby/openssl] pkcs7: keep private key when duplicating PKCS7_SIGNER_INFO 2021-03-31 18:05:07 +09:00
optparse [ruby/optparse] Add EditorConfig file 2021-04-28 11:56:15 +09:00
ostruct Guard for < Ruby 3.0 2021-04-28 17:58:12 +09:00
pathname [ruby/pathname] Fix segfault of Pathname#split 2021-03-28 14:04:10 +09:00
psych [ruby/psych] Fix custom marshalization with symbolize_names: true 2021-05-10 19:17:32 +09:00
racc
rdoc [ruby/rdoc] Links to document texts without "rdoc-ref:" prefix 2021-04-03 01:22:09 +09:00
readline [ruby/readline-ext] Use omit 2021-02-18 21:17:42 +09:00
reline [ruby/reline] Separate keystrokes each editing mode 2021-04-08 21:41:00 +09:00
resolv
rinda
ripper Pattern matching pin operator against expression [Feature #17411] 2021-03-21 15:14:31 +09:00
ruby Method cache: fix refinement entry handling 2021-05-11 12:05:06 -04:00
rubygems Sync bundler & rubygems 2021-05-11 11:29:41 +09:00
socket Fixed FD leaks 2021-03-08 10:08:40 +09:00
stringio [ruby/stringio] Check if closed in loop 2021-03-08 10:13:29 +09:00
strscan [ruby/strscan] Fix segmentation fault of StringScanner#charpos when String#byteslice returns non string value [Bug #17756] (#20) 2021-05-06 16:20:38 +09:00
syslog
uri [ruby/uri] Add tests for URI::RFC{2396,3986}_Parser#inspect 2021-04-22 14:54:37 +09:00
win32ole
yaml
zlib test/zlib/test_zlib.rb: Set binmode to test output file 2021-04-08 14:26:42 +09:00
runner.rb No codesign in tests 2021-03-27 10:15:01 +09:00
test_abbrev.rb
test_delegate.rb
test_extlibs.rb
test_find.rb
test_forwardable.rb
test_ipaddr.rb
test_mutex_m.rb
test_observer.rb
test_open3.rb
test_pp.rb
test_prettyprint.rb
test_prime.rb Use assert_ractor for separating test processes 2021-05-06 19:02:10 +09:00
test_pstore.rb
test_pty.rb
test_rbconfig.rb
test_securerandom.rb
test_set.rb Avoid rehashing in Hash#replace/dup/initialize_copy [Bug #16996] 2021-03-18 07:34:40 -04:00
test_shellwords.rb
test_singleton.rb
test_sorted_set.rb
test_syslog.rb
test_tempfile.rb
test_time.rb Separate test used by test_ractor for Ractor in test_time.rb 2021-04-22 13:35:30 +09:00
test_timeout.rb [ruby/timeout] Make Timeout::Error#exception with multiple arguments not ignore arguments 2021-05-06 16:49:26 +09:00
test_tmpdir.rb [ruby/tmpdir] Make usable chars more strict 2021-04-05 21:08:57 +09:00
test_tracer.rb
test_trick.rb
test_tsort.rb
test_unicode_normalize.rb
test_weakref.rb