34 lines
671 B
Ruby
34 lines
671 B
Ruby
require 'em_test_helper'
|
|
require 'socket'
|
|
|
|
class TestServers < Test::Unit::TestCase
|
|
|
|
def setup
|
|
@port = next_port
|
|
end
|
|
|
|
def server_alive?
|
|
port_in_use?(@port)
|
|
end
|
|
|
|
def run_test_stop_server
|
|
EM.run {
|
|
sig = EM.start_server("127.0.0.1", @port)
|
|
assert server_alive?, "Server didn't start"
|
|
EM.stop_server sig
|
|
# Give the server some time to shutdown.
|
|
EM.add_timer(0.1) {
|
|
assert !server_alive?, "Server didn't stop"
|
|
EM.stop
|
|
}
|
|
}
|
|
end
|
|
|
|
def test_stop_server
|
|
assert !server_alive?, "Port already in use"
|
|
2.times { run_test_stop_server }
|
|
assert !server_alive?, "Servers didn't stop"
|
|
end
|
|
|
|
end
|