summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordelano <delano@solutious.com>2010-03-16 11:19:55 -0400
committerdelano <delano@solutious.com>2010-03-16 11:19:55 -0400
commitdab9d750f332cf6931d18bbd51d608b754817a29 (patch)
tree1cbc566223fe70dd9daf0501b9faba21eca8e18a
parente558ea72176ef5df70b92f4b9e92476cf1aef14d (diff)
downloadnet-ssh-dab9d750f332cf6931d18bbd51d608b754817a29.tar.gz
Removed entoendtests/ dir
-rw-r--r--endtoendtests/common.rb5
-rw-r--r--endtoendtests/test_forward.rb176
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