diff options
author | aycabta <aycabta@gmail.com> | 2021-09-01 16:20:04 +0900 |
---|---|---|
committer | aycabta <aycabta@gmail.com> | 2021-09-01 17:29:01 +0900 |
commit | 67eaa222cf37dd95ba0be8da3972126183868810 (patch) | |
tree | 87bcd7d7a15c6539280a20d6c15b829fc6d2a0cc /test | |
parent | ba0464e0cfff4fa0ad414c912b3e304403d07226 (diff) |
Add a test for Readline.readline without tty
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4796
Diffstat (limited to 'test')
-rw-r--r-- | test/readline/test_readline.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb index 4949aec922..c783b56bfc 100644 --- a/test/readline/test_readline.rb +++ b/test/readline/test_readline.rb @@ -3,6 +3,7 @@ require_relative "helper" require "test/unit" require "tempfile" require "timeout" +require "open3" module BasetestReadline INPUTRC = "INPUTRC" @@ -809,6 +810,19 @@ module BasetestReadline Readline.completer_quote_characters = saved_completer_quote_characters if saved_completer_quote_characters end + def test_without_tty + loader = nil + if defined?(TestReadline) && self.class == TestReadline + loader = "use_ext_readline" + elsif defined?(TestRelineAsReadline) && self.class == TestRelineAsReadline + loader = "use_lib_reline" + end + if loader + res, exit_status = Open3.capture2e("ruby -I#{__dir__} -Ilib -rhelper -e '#{loader}; Readline.readline(%{y or n?})'", stdin_data: "y\n") + assert exit_status.success?, "It should work fine without tty, but it failed.\nError output:\n#{res}" + end + end + private def replace_stdio(stdin_path, stdout_path) |