summaryrefslogtreecommitdiff
path: root/test/io
AgeCommit message (Collapse)Author
2025-11-12[ruby/io-wait] Remove `IO#nread` and `IO#ready?Nobuyoshi Nakada
https://github.com/ruby/io-wait/commit/1decadc7f9
2025-10-29[Bug #21625] Allow io/wait methods with `IO#ungetc` in text modeNobuyoshi Nakada
2025-09-02test_io_wait.rb: Increase a timeout for a flaky testTakashi Kokubun
like 68682a5d2b2 https://github.com/ruby/ruby/actions/runs/17417763247/job/49449895757?pr=14433
2025-08-14Increase timeout for failing testsTakashi Kokubun
https://github.com/ruby/ruby/actions/runs/16969921157/job/48103809963 https://github.com/ruby/ruby/actions/runs/16969655024/job/48102876839
2025-07-01[ruby/io-console] Fix removing unexpected control charsNobuyoshi Nakada
`cc` is created as `"\C-x"`, it is a String since ruby 1.9. https://github.com/ruby/io-console/commit/65c9266feb
2025-07-01[ruby/io-console] Use `host_os` in RbConfig instead of `RUBY_PLATFORM` for JRubyNobuyoshi Nakada
https://github.com/ruby/io-console/commit/f8b33f38ae
2025-06-27[ruby/io-console] Fix a name errorNobuyoshi Nakada
https://github.com/ruby/io-console/commit/e0398acad4
2025-06-27[ruby/io-console] Ignore printed control charNobuyoshi Nakada
It's something we don't expect and might be coming from somewhere else. https://github.com/ruby/io-console/commit/c5e47a900c
2025-06-27[ruby/io-console] Revert "Ignore `^C` at interrupt"Nobuyoshi Nakada
This reverts commit https://github.com/ruby/io-console/commit/f0646b2b6ae3. https://github.com/ruby/io-console/commit/2e0e01263a
2025-06-23Merge blocks for the same conditionNobuyoshi Nakada
2025-06-20[ruby/io-console] Ignore `^C` at interruptNobuyoshi Nakada
It's something we don't expect and might be coming from somewhere else. https://github.com/ruby/io-console/commit/f0646b2b6a
2025-06-03[ruby/io-wait] Alias value or join to take in old RubyHiroshi SHIBATA
https://github.com/ruby/io-wait/commit/cf84aea70d
2025-06-03[ruby/io-console] Alias value or join to take in old RubyHiroshi SHIBATA
https://github.com/ruby/io-console/commit/7106d05219
2025-05-31`Ractor::Port`Koichi Sasada
* Added `Ractor::Port` * `Ractor::Port#receive` (support multi-threads) * `Rcator::Port#close` * `Ractor::Port#closed?` * Added some methods * `Ractor#join` * `Ractor#value` * `Ractor#monitor` * `Ractor#unmonitor` * Removed some methods * `Ractor#take` * `Ractor.yield` * Change the spec * `Racotr.select` You can wait for multiple sequences of messages with `Ractor::Port`. ```ruby ports = 3.times.map{ Ractor::Port.new } ports.map.with_index do |port, ri| Ractor.new port,ri do |port, ri| 3.times{|i| port << "r#{ri}-#{i}"} end end p ports.each{|port| pp 3.times.map{port.receive}} ``` In this example, we use 3 ports, and 3 Ractors send messages to them respectively. We can receive a series of messages from each port. You can use `Ractor#value` to get the last value of a Ractor's block: ```ruby result = Ractor.new do heavy_task() end.value ``` You can wait for the termination of a Ractor with `Ractor#join` like this: ```ruby Ractor.new do some_task() end.join ``` `#value` and `#join` are similar to `Thread#value` and `Thread#join`. To implement `#join`, `Ractor#monitor` (and `Ractor#unmonitor`) is introduced. This commit changes `Ractor.select()` method. It now only accepts ports or Ractors, and returns when a port receives a message or a Ractor terminates. We removes `Ractor.yield` and `Ractor#take` because: * `Ractor::Port` supports most of similar use cases in a simpler manner. * Removing them significantly simplifies the code. We also change the internal thread scheduler code (thread_pthread.c): * During barrier synchronization, we keep the `ractor_sched` lock to avoid deadlocks. This lock is released by `rb_ractor_sched_barrier_end()` which is called at the end of operations that require the barrier. * fix potential deadlock issues by checking interrupts just before setting UBF. https://bugs.ruby-lang.org/issues/21262 Notes: Merged: https://github.com/ruby/ruby/pull/13445
2025-04-30Use EnvUtil.apply_timeout_scale for test_io_wait.rbHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/13212
2025-04-02Removed Solaris conditions from test filesHiroshi SHIBATA
We no longer execute those files with Solaris platforms. Notes: Merged: https://github.com/ruby/ruby/pull/13037
2025-02-28[Bug #20682] Add sleep 0.1 to stabilize flaky failures on macOS (#12829)Naoto Ono
[Bug #20682] Add `sleep 0.1` to stabilize flaky failures on macOS Notes: Merged-By: ono-max <onoto1998@gmail.com>
2024-12-02[ruby/io-console] Add IO#ttyname that returns the tty name or nilNobuyoshi Nakada
https://github.com/ruby/io-console/commit/fdad351501
2024-08-31[ruby/io-console] Store console IO in Ractor-local storageNobuyoshi Nakada
Ractor requires a shareable class has shareable constants only, but IO is not shareable unless frozen. https://github.com/ruby/io-console/commit/65e0ff895c
2024-08-31[ruby/io-console] io-console is considered Ractor-safeNobuyoshi Nakada
https://github.com/ruby/io-console/commit/b1adc15af7
2024-04-10[ruby/io-console] Load the built extension library in noctty testsNobuyoshi Nakada
https://github.com/ruby/io-console/commit/74c78afc24
2024-01-30[ruby/io-console] Move the condition to omit to command line optionNobuyoshi Nakada
https://github.com/ruby/io-console/commit/32583460e1
2024-01-30[ruby/io-console] Move the condition to omit outside the methodNobuyoshi Nakada
https://github.com/ruby/io-console/commit/8b9b5b611a
2023-12-13Skip an unstable test on MinGWTakashi Kokubun
This test fails fairly frequently on MinGW: https://github.com/ruby/ruby/actions/runs/7195712496/job/19598924253#step:11:168 https://github.com/ruby/ruby/actions/runs/7191246799/job/19585627182#step:11:168 and we aren't actively working on stabilizing tests for MinGW.
2023-08-18[ruby/io-console] Avoid the influence of special variable `$/`Nobuyoshi Nakada
https://github.com/ruby/io-console/commit/5f71354332
2023-08-18[ruby/io-console] Enable `getpass` methods alwaysNobuyoshi Nakada
https://github.com/ruby/io-console/commit/57f9649df4
2022-12-15Remove `require 'io/wait'` where it's no longer necessary. (#6932)Samuel Williams
* Remove `require 'io/wait'` as it's part of core now. * Update ruby specs using version gates. * Add note about why it's conditional. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-12-02[ruby/io-console] Omit on JRubyNobuyoshi Nakada
https://github.com/ruby/io-console/commit/9122c181eb
2022-12-02[ruby/io-console] Check rawmode option names strictlyNobuyoshi Nakada
https://github.com/ruby/io-console/commit/aa8fc7e947
2022-11-18Fix io/console test for --with-static-linked-extAlan Wu
The tests looks for the .so file, which doesn't exist when the extension is statically linked. In that situation it passes -I to ruby with nothing after it which ate the -rio/console argument. Notes: Merged: https://github.com/ruby/ruby/pull/6765
2022-09-17Skip test_wait on MinGW CITakashi Kokubun
This test has been unstable, and it seems like we're not interested in fixing that for MinGW. https://github.com/ruby/ruby/actions/runs/3073317191/jobs/4965373284
2022-08-23omit all assertions at TestIO_Console#test_intr when running with FreeBSDHiroshi SHIBATA
2022-07-28Fix the missing bracketsHiroshi SHIBATA
2022-07-28test_io_console.rbL399 is also randomly failing same as ↵Hiroshi SHIBATA
bfc697f1e26f1406c45ec7309ca0d4c0b5ecedd6
2022-06-25[ruby/io-wait] Fix usage of `assert_raises` -> `assert_raise`. ↵Samuel Williams
(https://github.com/ruby/io-wait/pull/20) https://github.com/ruby/io-wait/commit/c5c6abbb5c
2022-06-25* remove trailing spaces. [ci skip]git
2022-06-25[ruby/io-wait] Don't add `IO#wait*` methods when `RUBY_IO_WAIT_METHODS` is ↵Samuel Williams
defined by Ruby. (https://github.com/ruby/io-wait/pull/19) * Fix return value compatibility with Ruby 2.x. * Don't add `IO#wait*` methods in Ruby 3.2+. https://github.com/ruby/io-wait/commit/54c504d089
2022-03-08test/io/console/test_io_console.rb: parens neededYusuke Endoh
2022-03-08Skip three tests on FreeBSD 13Yusuke Endoh
Some tests that use signals frequently fail randomly on FreeBSD 13. Maybe something around signals has changed in FreeBSD 13. This change skips them tentatively.
2022-01-12[ruby/io-nonblock] Use omit instead of skip for test-unitHiroshi SHIBATA
https://github.com/ruby/io-nonblock/commit/a7bfbfa049
2022-01-12[ruby/io-wait] Use omit instead of skip for test-unitHiroshi SHIBATA
https://github.com/ruby/io-wait/commit/75543ab1bc
2022-01-05Fix `Leaked file descriptor: TestIO_Console#test_console_kw`Kazuhiro NISHIYAMA
``` Leaked file descriptor: TestIO_Console#test_console_kw: 10 : #<File:/dev/tty> ```
2021-12-29Sync io-console gem.Samuel Williams
2021-11-16[ruby/io-wait] Disable ractor test which is meaningless on earlier versionsNobuyoshi Nakada
https://github.com/ruby/io-wait/commit/e8e1e99d4c
2021-11-16[ruby/io-wait] Use `omit` as per test-unitNobuyoshi Nakada
https://github.com/ruby/io-wait/commit/1f59f7b02f
2021-11-14show encoding for each pathKoichi Sasada
2021-11-14test/io/console/test_io_console.rb: dump debug output to stderrYusuke Endoh
make test-all in parallel mode seems to hide stdout
2021-11-12test/io/console/test_io_console.rb: add debug codeYusuke Endoh
to debug the following failure http://ci.rvm.jp/results/trunk-test@ruby-sky1/3708240 ``` /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `===': incompatible encoding regexp match (US-ASCII regexp with UTF-16BE string) (Encoding::CompatibilityError) /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `each' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `grep' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `<class:TestIO_Console>' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:9:in `<top (required)>' <internal:/tmp/ruby/v3/src/trunk-test/lib/rubygems/core_ext/kernel_require.rb>:85:in `require' <internal:/tmp/ruby/v3/src/trunk-test/lib/rubygems/core_ext/kernel_require.rb>:85:in `require' /tmp/ruby/v3/src/trunk-test/tool/lib/test/unit/parallel.rb:122:in `run' /tmp/ruby/v3/src/trunk-test/tool/lib/test/unit/parallel.rb:211:in `<main>' running file: /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb ```
2021-10-11[ruby/io-console] Skip Interrupt test on Solaris tooNobuyoshi Nakada
https://github.com/ruby/io-console/commit/48db3616da
2021-03-07[ruby/io-wait] Declare as Ractor-safeNobuyoshi Nakada
Fixes https://bugs.ruby-lang.org/issues/17659 https://github.com/ruby/io-wait/commit/ba338b4764 Notes: Merged: https://github.com/ruby/ruby/pull/4244