summaryrefslogtreecommitdiff
path: root/test/io
AgeCommit message (Collapse)Author
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
2021-03-07[ruby/io-wait] Refined uncommon device type testsNobuyoshi Nakada
https://github.com/ruby/io-wait/commit/0c73ebcf5d Notes: Merged: https://github.com/ruby/ruby/pull/4244
2021-02-05[ruby/io-console] Mark all tests that use run_pty as pend on JRubyCharles Oliver Nutter
JRuby's PTY.spawn does not produce a process with its own controlling terminal, which is necessary for testing these raw escape sequences. This commit marks those tests as pending. The functionality tested appears to work at a command line, but due to this PTY bug in JRuby we cannot test it this way. See https://github.com/jruby/jruby/issues/6552 https://github.com/ruby/io-console/commit/a486b72e5e https://github.com/ruby/io-console/commit/b5c8e7bfd8
2021-02-05[ruby/io-console] Use omit instead of skipCharles Oliver Nutter
This test runs with test/unit now, which defines omit instead of skip. https://github.com/ruby/io-console/commit/bd731d0b8d
2021-02-05[ruby/io-console] Skip test on JRubyCharles Oliver Nutter
The subprocess script here works fine at a command line, but when run as a pty subprocess during the tests the master side hangs waiting for output. https://github.com/ruby/io-console/commit/4a21610ece
2021-02-05[ruby/io-console] Add console.rb to search for pathsCharles Oliver Nutter
https://github.com/ruby/io-console/commit/74567376c4
2021-02-05[ruby/io-console] Run subprocesses without test librariesNobuyoshi Nakada
Now io/console is loaded from test-unit indirectly, test-unit requires power_assert which requires io/console. https://github.com/ruby/io-console/commit/8817d07951 https://github.com/ruby/io-console/commit/639cce89de
2021-01-05[ruby/io-console] Ignore chomp! result and return the modified stringNobuyoshi Nakada
https://github.com/ruby/io-console/commit/09e5ccc729
2020-10-11[ruby/io-console] Fix timeout type error (#18)Nobuyoshi Nakada
Fixed TypeError when IO#getch timed out `rb_io_wait` returns a bit-flags Integer representing available events, or Qfalse if timed out. Also the result of `NUM2INT` is not a `VALUE`. ``` $ ./bin/ruby -v -rio/console -e "p IO.console.getch(intr: true, time: 0.1)" ruby 3.0.0dev (2020-10-09T20:27:30Z master 5ea2ea74cc) [x64-mingw32] -e:1:in `getch': no implicit conversion of false into Integer (TypeError) from -e:1:in `<main>' ``` https://github.com/ruby/io-console/commit/3bdfaf62df
2020-08-27[ruby/io-console] Bug 17128: In test_set_winsize_console, wrapped re-size in ↵Leam Hall
a begin-rescue-else. https://github.com/ruby/io-console/commit/a22333c33a
2020-07-30Add explicitly require for Dir.mktmpdirHiroshi SHIBATA
2020-05-09Use %w instead of %i not to create unused IDsNobuyoshi Nakada
2020-05-09test/io/console/test_io_console.rb: Rescue Errno::ENXIO for SolarisYusuke Endoh
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200509T100003Z.fail.html.gz ``` 1) Failure: TestIO_Console#test_failed_path [/export/home/users/chkbuild/cb-gcc/tmp/build/20200509T100003Z/ruby/test/io/console/test_io_console.rb:40]: [Errno::ENODEV, Errno::ENOTTY, Errno::EBADF] exception expected, not #<Errno::ENXIO: No such device or address - /dev/null>. ```
2020-05-09[ruby/io-console] Fails with EBADF on mingwNobuyoshi Nakada
https://github.com/ruby/io-console/commit/530cec574c
2020-05-09[ruby/io-console] Expanded expected errorsNobuyoshi Nakada
May fail with ENOTTY instead of ENODEV. https://github.com/ruby/io-console/commit/fe117b89e0
2020-05-09[ruby/io-console] Added test for failed pathNobuyoshi Nakada
https://github.com/ruby/io-console/commit/06a540f9b4
2020-01-18[ruby/io-console] Filter Ruby engine name rather than just /ruby/Charles Oliver Nutter
This breaks tests using this path on JRuby because the `jruby` executable turns into `jjruby` after the sub. https://github.com/ruby/io-console/commit/e5951aa34c
2019-12-29[ruby/io-console] Enable only interrupt bits on `intr: true`Nobuyoshi Nakada
https://github.com/ruby/io-console/commit/baaf929041
2019-12-24Scale sleeping times to wait for the OS operationsNobuyoshi Nakada
2019-12-24Synchronize with a Queue instead of sleepingNobuyoshi Nakada
2019-12-24Revert "Scale sleeping times"Koichi Sasada
This reverts commit e57d6194218efc73c30f3fed9dd321d2e357030b. Test fails: http://ci.rvm.jp/results/trunk-gc-asserts@ruby-sky1/2518563 http://ci.rvm.jp/results/trunk-gc_compact@silicon-docker/2518533
2019-12-24Scale sleeping timesNobuyoshi Nakada
2019-12-18[ruby/io-console] Skip Interrupt test on LinuxNobuyoshi Nakada
Hangs up only in ruby/ruby on Travis-CI. https://github.com/ruby/io-console/commit/de39aa6dd6
2019-12-18[ruby/io-console] Set raw mode strictly same as cfmakerawNobuyoshi Nakada
* Default VMIN and VTIME to minimum input. * Disable parity check bits explicitly. * Disable all bits for flow control on input. Co-Authored-By: NARUSE, Yui <naruse@airemix.jp> https://github.com/ruby/io-console/commit/5ce201a686
2019-12-18[ruby/io-console] Skip interruptNobuyoshi Nakada
https://github.com/ruby/io-console/commit/8ed5a2bcc3
2019-12-17[ruby/io-console] Timeout in the child processNobuyoshi Nakada
https://github.com/ruby/io-console/commit/b8411689a5
2019-12-17[ruby/io-console] Use IO.console instead of STDINNobuyoshi Nakada
https://github.com/ruby/io-console/commit/9e3ec5b936
2019-12-17[ruby/io-console] Disable implementation-defined special control charactersNobuyoshi Nakada
In raw mode with interrupt enabled. https://github.com/ruby/io-console/commit/e9e8e3ff17
2019-12-17[ruby/io-console] Added the test for intr optionNobuyoshi Nakada
https://github.com/ruby/io-console/commit/4f01db102d
2019-12-05test/io/console/test_io_console.rb: add a memo for the mysterious hackYusuke Endoh
2019-12-05test/io/console/test_io_console.rb: Try the hack for SolarisYusuke Endoh
I'm not entirely sure why, but test_set_winsize_console gets stuck on Solaris (and if I recall, macOS). I found a hack for FreeBSD, so I want to give it a try on Solaris too.
2019-12-02Wait for the main thread to start reading by QueueNobuyoshi Nakada
Otherwise, the written data to pty before the reading started may be just lost.
2019-09-25Revert "[ruby/io-console] Skip cursor position test on Solaris"Kazuhiro NISHIYAMA
This reverts commit 5294ded681992ced2ecbd31c814b63265d2f591e.
2019-09-25[ruby/io-console] Unique paths to be addedNobuyoshi Nakada
https://github.com/ruby/io-console/commit/a3ad851b6c
2019-09-25[ruby/io-console] Load the current librariesNobuyoshi Nakada
https://github.com/ruby/io-console/commit/ab7653c543
2019-09-25[ruby/io-console] Skip cursor position test on SolarisNobuyoshi Nakada
It results in a mysterious failure. https://github.com/ruby/io-console/commit/e3543c3da4
2019-09-24[ruby/io-console] Made cursor position 0-originNobuyoshi Nakada
https://github.com/ruby/io-console/commit/9377e37295
2018-12-31test_io_wait.rb: try to stabilize test_wait_readablek0kubun
that randomly fails https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20181231T103312Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-14Suppress uninitialized instance variable warningsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-22io + socket: make pipes and sockets nonblocking by defaultnormal
All normal Ruby IO methods (IO#read, IO#gets, IO#write, ...) are all capable of appearing to be "blocking" when presented with a file description with the O_NONBLOCK flag set; so there is little risk of incompatibility within Ruby-using programs. The biggest compatibility risk is when spawning external programs. As a result, stdin, stdout, and stderr are now always made blocking before exec-family calls. This change will make an event-oriented MJIT usable if it is waiting on pipes on POSIX_like platforms. It is ALSO necessary to take advantage of (proposed lightweight concurrency (aka "auto-Fiber") or any similar proposal for network concurrency: https://bugs.ruby-lang.org/issues/13618 Named-pipe (FIFO) are NOT yet non-blocking by default since they are rarely-used and may introduce compatibility problems and extra syscall overhead for a common path. Please revert this commit if there are problems and if I am afk since I am afk a lot, lately. [ruby-core:89950] [Bug #14968] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-25test/io/wait/test_io_wait_uncommon.rb: relax /dev/random checknormal
Too many machines lack entropy to have a usable /dev/random. I had similar problems on my system until I started using haveged(8), but we can't require that for CI. cf. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-trunk/log/20180825T213003Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-09test/io/console/test_io_console.rb: fix short read failuresnormal
Running with TESTS=--no-retry, I sometimes get short reads leading to failures due to the use of IO#readpartial instead of IO#gets. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-09test/io/wait/test_io_wait_uncommon.rb (test_tty_wait): increase timeoutnormal
Apparently my tty can't keep up when I run test-all with TESTS='-v --no-retry' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-06test/io/console/test_io_console.rb: fix for systems where PTY is not definednormal
[ruby-core:87420] [Bug #14828] Thanks-to: MSP-Greg (Greg L) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-05test/io/console/test_io_console.rb: ignore TTOU on FreeBSDnormal
I'm not entirely sure why, but SIGTTOU pauses the test when running test-all in parallel. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15test_io_wait_uncommon: new test for uncommon file typesnormal
This should make portability problems more apparent when we try using ppoll with rb_wait_for_single_fd on FreeBSD or other non-Linux platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-15test/io/console/test_io_console.rb (test_oflush): Avoid race conditionmame
Add a ad-hoc wait. Follows test_ioflush2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-23test_io_console.rb: get rid of sporadic failuresnobu
* test/io/console/test_io_console.rb (test_getpass): try to get rid of timing issues. * test/io/console/test_io_console.rb (test_ioflush2): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-28test_io_console.rb: flushnobu
* test/io/console/test_io_console.rb: flush to ensure the second data is sent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-11console.c: set winsize on Windowsnobu
* ext/io/console/console.c (console_set_winsize): retry shrinking window and screen buffer. [ruby-core:82741] [Bug #13888] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e