diff --git a/test/fixtures/many_outputs_to_console.rb b/test/fixtures/many_outputs_to_console.rb new file mode 100644 index 0000000..8a79a74 --- /dev/null +++ b/test/fixtures/many_outputs_to_console.rb @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby + +10000.times do + $stdout.write "A non-hydra message...\n" + $stdout.flush +end + +$stdout.write "{:class=>Hydra::Messages::TestMessage, :text=>\"My message\"}\n" +$stdout.flush diff --git a/test/ssh_test.rb b/test/ssh_test.rb index 6b0ee40..eb331ef 100644 --- a/test/ssh_test.rb +++ b/test/ssh_test.rb @@ -11,4 +11,15 @@ class SSHTest < Test::Unit::TestCase assert_equal "Hello World", response.text ssh.close end + + should "be able to handle a large number of non-Hydra console output" do + ssh = Hydra::SSH.new( + 'localhost', # connect to this machine + File.expand_path(File.join(File.dirname(__FILE__))), # move to the test directory + "ruby fixtures/many_outputs_to_console.rb" + ) + response = ssh.gets + assert_equal "My message", response.text + ssh.close + end end