Files
flexnbd-c/tests/acceptance/fakes/dest/close_after_write.rb

26 lines
717 B
Ruby
Executable File

#!/usr/bin/env ruby
# Wait for a sender connection, send a correct hello, wait for a write
# request, then disconnect. Simulate a server which crashes after
# receiving the write, and before it can send a reply. We then reopen
# the server socket to check that the sender retries: since the
# command-line has gone away, and can't feed an error back to the
# user, we have to keep trying.
require 'flexnbd/fake_dest'
include FlexNBD
addr, port = *ARGV
server = FakeDest.new( addr, port )
client = server.accept( "Timed out waiting for a connection" )
client.write_hello
client.read_request
client.close
new_client = server.accept( "Timed out waiting for a reconnection" )
new_client.close
server.close
exit 0