From dab9d750f332cf6931d18bbd51d608b754817a29 Mon Sep 17 00:00:00 2001 From: delano Date: Tue, 16 Mar 2010 11:19:55 -0400 Subject: Removed entoendtests/ dir --- endtoendtests/common.rb | 5 -- endtoendtests/test_forward.rb | 176 ------------------------------------------ 2 files changed, 181 deletions(-) delete mode 100644 endtoendtests/common.rb delete mode 100644 endtoendtests/test_forward.rb 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 -- cgit v1.2.1