1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test
Koichi Sasada bf3b2a4374 relax Fiber#transfer's restriction
Using Fiber#transfer with Fiber#resume for a same Fiber is
limited (once Fiber#transfer is called for a fiber, the fiber
can not be resumed more). This restriction was introduced to
protect the resume/yield chain, but we realized that it is too much
to protect the chain. Instead of the current restriction, we
introduce some other protections.

(1) can not transfer to the resuming fiber.
(2) can not transfer to the yielding fiber.
(3) can not resume transferred fiber.
(4) can not yield from not-resumed fiber.

[Bug #17221]

Also at the end of a transferred fiber, it had continued on root fiber.
However, if the root fiber resumed a fiber (and that fiber can resumed
another fiber), this behavior also breaks the resume/yield chain.
So at the end of a transferred fiber, switch to the edge of resume
chain from root fiber.
For example, root fiber resumed f1 and f1 resumed f2, transferred to
f3 and f3 terminated, then continue from the fiber f2 (it was continued
from root fiber without this patch).
2020-10-12 22:58:41 +09:00
..
-ext- Added get_real interface 2020-09-07 20:08:01 +09:00
base64
benchmark
bigdecimal bidecimal: improve tests' independence (#3297) 2020-07-12 17:30:29 +09:00
cgi
coverage test/coverage/test_coverage.rb: Add a test for [Bug #16967] 2020-06-20 09:28:03 +09:00
csv [ruby/csv] CSV.generate_line: use the encoding of the first non ASCII field as the expected encoding 2020-07-20 02:32:55 +09:00
date [ruby/date] Fix cannot load complex into simple error when loading marshal dump (Fixes #20) 2020-06-20 18:35:03 +09:00
dbm
did_you_mean Sync did_you_mean 2020-06-06 13:02:08 -04:00
digest
drb Explicitly loading with envutil.rb 2020-05-28 14:41:08 +09:00
dtrace
erb Fixup 3292f4d965 2020-08-21 20:40:26 +09:00
etc
excludes
fiber Refined assertions for better failure messages 2020-10-01 13:48:15 +09:00
fiddle Workaroud for macOS Big Sur(11.0) 2020-09-08 20:39:23 +09:00
fileutils Make the test suite pass on real Android/Termux environment 2020-10-12 21:26:05 +09:00
gdbm [ruby/gdbm] Workaround for GitHub Actions 2020-06-09 20:54:52 +09:00
io [ruby/io-console] Fix timeout type error (#18) 2020-10-11 02:00:24 +09:00
irb Remove system method for E2E testing because depends on ruby command 2020-10-05 19:50:31 +09:00
json Remove unneeded begin and end 2020-09-30 15:55:07 +09:00
lib test/lib/jit_support.rb: Let JIT tests skip on centos8 2020-05-12 17:48:31 +09:00
logger [ruby/logger] Let Logger#reopen not raise on nil log devices 2020-06-11 13:54:04 +09:00
matrix [ruby/matrix] Add Matrix#adjoint [#14] 2020-05-01 03:25:15 -04:00
mkmf Make the mkmf methods private in the global [Bug #16896] 2020-07-13 18:44:22 +09:00
monitor Fix MonitorMixin when the super's initialize has kwargs 2020-07-17 16:37:18 -07:00
net test/net/smtp/test_smtp.rb: Stop io leaks 2020-09-26 00:20:06 +09:00
nkf
objspace Fix ObjectSpace.dump(obj, output: :stdout) 2020-10-03 00:00:01 +09:00
open-uri Remove the deprecated override of Kernel#open in open-uri 2020-08-16 07:41:40 -07:00
openssl Revert the related commits about Tempfile.open change. 2020-09-09 21:10:48 +09:00
optparse
ostruct [lib/ostruct] Fix Marshal loading 2020-10-06 17:11:08 -04:00
pathname Make the test suite pass on real Android/Termux environment 2020-10-12 21:26:05 +09:00
psych [ruby/psych] Forward keyword arguments in load_file and load_stream 2020-09-25 13:11:33 +09:00
racc test/racc/test_racc_command.rb: prevent a warning 2020-09-29 11:58:04 +09:00
rdoc [ruby/rdoc] update all files if any file is newer 2020-09-18 14:57:58 +09:00
readline Suppress bell during the test 2020-07-18 19:33:11 +09:00
reline [ruby/reline] Treat prompt correctly when Reline.prompt_proc isn't set 2020-09-12 08:35:52 +09:00
resolv
rinda Revert "Try increasing read timeout of rinda tests" 2020-06-26 22:43:59 -07:00
ripper Prohibit setter method names in all kinds of endless methods 2020-10-12 00:40:55 +09:00
ruby relax Fiber#transfer's restriction 2020-10-12 22:58:41 +09:00
rubygems [rubygems/rubygems] Add writable check for cache dir 2020-09-28 14:54:22 +09:00
socket Add resolve_timeout to TCPSocket [Feature #17134] 2020-09-25 15:19:14 +09:00
stringio [stringio] fix stringio codepoint enumerator off by one error 2020-08-27 23:41:22 +09:00
strscan
syslog
uri Fakes IPSocket.getaddress in the whole method 2020-05-06 16:06:25 +09:00
webrick Revert "[ruby/webrick] Add test for shutdown_pipe" 2020-09-25 07:54:01 +09:00
win32ole
yaml
zlib [ruby/zlib] Add Zlib::GzipReader.zcat for handling multiple gzip streams in gz file 2020-09-14 17:52:20 +09:00
runner.rb
test_abbrev.rb
test_delegate.rb Add instance_methods to class generated by DelegateClass 2020-07-09 15:01:10 -07:00
test_extlibs.rb Removed sdbm entries from toolchanins 2020-06-19 08:26:47 +09:00
test_find.rb
test_forwardable.rb
test_ipaddr.rb
test_mutex_m.rb
test_observer.rb
test_open3.rb [open3] only close streams if a block is passed 2020-06-18 10:00:20 -07:00
test_pp.rb
test_prettyprint.rb
test_prime.rb
test_pstore.rb
test_pty.rb
test_rbconfig.rb
test_securerandom.rb Use build_message on test_securerandom.rb (#3543) 2020-09-16 07:45:01 +09:00
test_set.rb Make mutating the result of SortedSet#to_a not affect the set 2020-06-11 14:02:00 -07:00
test_shellwords.rb
test_singleton.rb
test_syslog.rb
test_tempfile.rb
test_time.rb
test_timeout.rb
test_tmpdir.rb [ruby/tmpdir] Warn when environment variables skipped (fixes #2) 2020-09-14 18:22:37 +09:00
test_tracer.rb
test_tsort.rb
test_unicode_normalize.rb
test_weakref.rb
test_win32api.rb