diff options
Diffstat (limited to 'railties/test/console_helpers.rb')
-rw-r--r-- | railties/test/console_helpers.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/railties/test/console_helpers.rb b/railties/test/console_helpers.rb new file mode 100644 index 0000000000..67f55fdc45 --- /dev/null +++ b/railties/test/console_helpers.rb @@ -0,0 +1,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 = +"" + 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 |