27 lines
623 B
Ruby
Executable File
27 lines
623 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
|
|
# Simulate a destination which sends the wrong magic.
|
|
# We expect the sender to disconnect and reconnect.
|
|
|
|
require 'flexnbd/fake_dest'
|
|
include FlexNBD
|
|
|
|
addr, port = *ARGV
|
|
server = FakeDest.new( addr, port )
|
|
client1 = server.accept
|
|
|
|
# Launch a second thread so that we can spot the reconnection attempt
|
|
# as soon as it happens, or alternatively die a flaming death on
|
|
# timeout.
|
|
t = Thread.new do
|
|
client2 = server.accept( "Timed out waiting for a reconnection",
|
|
FlexNBD::MS_RETRY_DELAY_SECS + 1 )
|
|
client2.close
|
|
end
|
|
|
|
client1.write_hello( :magic => :wrong )
|
|
|
|
t.join
|
|
|
|
exit 0
|
|
|