diff options
author | delano <delano@solutious.com> | 2010-03-16 11:19:55 -0400 |
---|---|---|
committer | delano <delano@solutious.com> | 2010-03-16 11:19:55 -0400 |
commit | dab9d750f332cf6931d18bbd51d608b754817a29 (patch) | |
tree | 1cbc566223fe70dd9daf0501b9faba21eca8e18a | |
parent | e558ea72176ef5df70b92f4b9e92476cf1aef14d (diff) | |
download | net-ssh-dab9d750f332cf6931d18bbd51d608b754817a29.tar.gz |
Removed entoendtests/ dir
-rw-r--r-- | endtoendtests/common.rb | 5 | ||||
-rw-r--r-- | endtoendtests/test_forward.rb | 176 |
2 files changed, 0 insertions, 181 deletions
diff --git a/endtoendtests/common.rb b/endtoendtests/common.rb deleted file mode 100644 index 6bde716..0000000 --- a/endtoendtests/common.rb +++ /dev/null @@ -1,5 +0,0 @@ -$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib" -require 'rubygems' -gem "test-unit" # http://rubyforge.org/pipermail/test-unit-tracker/2009-July/000075.html -require 'test/unit' -require 'mocha' diff --git a/endtoendtests/test_forward.rb b/endtoendtests/test_forward.rb deleted file mode 100644 index 929f136..0000000 --- a/endtoendtests/test_forward.rb +++ /dev/null @@ -1,176 +0,0 @@ -require 'common' -require 'net/ssh/buffer' -require 'net/ssh' -require 'timeout' - -# keyless ssh setup -# -# cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys -# to test: -# ssh localhost -# - -class TestForward < Test::Unit::TestCase - - def localhost - 'localhost' - end - - def ssh_start_params - [localhost ,ENV['USER']] - end - - def find_free_port - server = TCPServer.open(0) - server.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR,true) - port = server.addr[1] - server.close - port - end - - def start_server_sending_lot_of_data(exceptions=nil) - server = TCPServer.open(0) - Thread.start do - loop do - Thread.start(server.accept) do |client| - begin - 10000.times do |i| - client.puts "item#{i}" - end - client.close - rescue - exceptions << $! - raise - end - end - end - end - return server - end - - def start_server_closing_soon(exceptions=nil) - server = TCPServer.open(0) - Thread.start do - loop do - Thread.start(server.accept) do |client| - begin - client.recv(1024) - client.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, [1, 0].pack("ii")) - client.close - rescue - exceptions << $! - raise - end - end - end - end - return server - end - - def test_loop_should_not_abort_when_local_side_of_forward_is_closed - session = Net::SSH.start(*ssh_start_params) - server_exc = Queue.new - server = start_server_sending_lot_of_data(server_exc) - remote_port = server.addr[1] - local_port = find_free_port - session.forward.local(local_port, localhost, remote_port) - client_done = Queue.new - Thread.start do - begin - client = TCPSocket.new(localhost, local_port) - client.recv(1024) - client.close - sleep(0.2) - ensure - client_done << true - end - end - session.loop(0.1) { client_done.empty? } - assert_equal "Broken pipe", "#{server_exc.pop}" - end - - def test_loop_should_not_abort_when_local_side_of_forward_is_reset - session = Net::SSH.start(*ssh_start_params) - server_exc = Queue.new - server = start_server_sending_lot_of_data(server_exc) - remote_port = server.addr[1] - local_port = find_free_port - session.forward.local(local_port, localhost, remote_port) - client_done = Queue.new - Thread.start do - begin - client = TCPSocket.new(localhost, local_port) - client.recv(1024) - client.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, [1, 0].pack("ii")) - client.close - sleep(0.1) - ensure - client_done << true - end - end - session.loop(0.1) { client_done.empty? } - assert_equal "Broken pipe", "#{server_exc.pop}" - end - - def test_loop_should_not_abort_when_server_side_of_forward_is_closed - session = Net::SSH.start(*ssh_start_params) - server = start_server_closing_soon - remote_port = server.addr[1] - local_port = find_free_port - session.forward.local(local_port, localhost, remote_port) - client_done = Queue.new - Thread.start do - begin - client = TCPSocket.new(localhost, local_port) - 1.times do |i| - client.puts "item#{i}" - end - client.close - sleep(0.1) - ensure - client_done << true - end - end - session.loop(0.1) { client_done.empty? } - end - - def start_server - server = TCPServer.open(0) - Thread.start do - loop do - Thread.start(server.accept) do |client| - yield(client) - end - end - end - return server - end - - def test_server_eof_should_be_handled - session = Net::SSH.start(*ssh_start_params) - server = start_server do |client| - client.write "This is a small message!" - client.close - end - client_done = Queue.new - client_exception = Queue.new - client_data = Queue.new - remote_port = server.addr[1] - local_port = find_free_port - session.forward.local(local_port, localhost, remote_port) - Thread.start do - begin - client = TCPSocket.new(localhost, local_port) - data = client.read(4096) - client.close - client_done << data - rescue - client_done << $! - end - end - timeout(5) do - session.loop(0.1) { client_done.empty? } - assert_equal "This is a small message!", client_done.pop - end - end -end
\ No newline at end of file |