summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2021-09-01 16:20:04 +0900
committeraycabta <aycabta@gmail.com>2021-09-01 17:29:01 +0900
commit67eaa222cf37dd95ba0be8da3972126183868810 (patch)
tree87bcd7d7a15c6539280a20d6c15b829fc6d2a0cc /test
parentba0464e0cfff4fa0ad414c912b3e304403d07226 (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.rb14
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)