Sha256: 2cd0a2bfc1eeef599899333f58026e830cdc2c81175423d4a2cab5464e1b4ac6

Contents?: true

Size: 1.1 KB

Versions: 8

Compression:

Stored size: 1.1 KB

Contents

#!/usr/bin/env ruby
require 'test/unit'

# Unit test for io/tcpserver.rb
require_relative '../../io/tcpfns'
require_relative '../../io/tcpserver'

class TestTCPDbgServer < Test::Unit::TestCase

  include Trepanning::TCPPacking

  def test_basic
    server = Trepan::TCPDbgServer.new({ :open => false,
                                        :port => 1027,
                                        :host => 'localhost'
                                      })
    server.open
    threads = []
    msgs = %w(one two three)
    Thread.new do
      msgs.each do |msg|
        begin
          line = server.read_msg.chomp
          assert_equal(msg, line)
        rescue EOFError
          puts 'Got EOF'
          break
        end
      end
    end
    threads << Thread.new do 
      t = TCPSocket.new('localhost', 1027)
      msgs.each do |msg|
        begin
          t.puts(pack_msg(msg))
        rescue EOFError
          puts "Got EOF"
          break
        rescue Exception => e
          puts "Got #{e}"
          break
        end
      end
      t.close
    end
    threads.each {|t| t.join }
    server.close
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
trepanning-1.93.35 test/unit/test-io-tcpserver.rb
trepanning-1.93.32 test/unit/test-io-tcpserver.rb
trepanning-0.1.6 test/unit/test-io-tcpserver.rb
trepanning-0.1.4 test/unit/test-io-tcpserver.rb
trepanning-0.1.3 test/unit/test-io-tcpserver.rb
trepanning-0.1.2 test/unit/test-io-tcpserver.rb
trepanning-0.1.1 test/unit/test-io-tcpserver.rb
trepanning-0.1.0 test/unit/test-io-tcpserver.rb