blob: 8350fce5ee39768cfc32b2f0edcc57e9c6aec122 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# frozen_string_literal: true
begin
require "pty"
rescue LoadError
end
module ConsoleHelpers
def assert_output(expected, io, timeout = 10)
timeout = Time.now + timeout
output = "".dup
until output.include?(expected) || Time.now > timeout
if IO.select([io], [], [], 0.1)
output << io.read(1)
end
end
assert_includes output, expected, "#{expected.inspect} expected, but got:\n\n#{output}"
end
def available_pty?
defined?(PTY) && PTY.respond_to?(:open)
end
end
|