Added basic FLUSH test
This commit is contained in:
@@ -54,6 +54,10 @@ module FlexNBD
|
||||
send_request(1, handle, from, len)
|
||||
end
|
||||
|
||||
def write_flush_request(handle = 'myhandle')
|
||||
send_request(3, handle, 0, 0)
|
||||
end
|
||||
|
||||
def write_entrust_request(handle = 'myhandle')
|
||||
send_request(65_536, handle)
|
||||
end
|
||||
@@ -95,6 +99,10 @@ module FlexNBD
|
||||
write_data(data)
|
||||
end
|
||||
|
||||
def flush
|
||||
write_flush_request
|
||||
end
|
||||
|
||||
def read_response
|
||||
magic = @sock.read(4)
|
||||
error_s = @sock.read(4)
|
||||
|
@@ -24,7 +24,9 @@ class TestServeMode < Test::Unit::TestCase
|
||||
assert_equal 'NBDMAGIC', result[:passwd]
|
||||
assert_equal 0x00420281861253, result[:magic]
|
||||
assert_equal @env.file1.size, result[:size]
|
||||
assert_equal 13, result[:flags]
|
||||
# See src/common/nbdtypes.h for the various flags. At the moment we
|
||||
# support HAS_FLAGS (1), SEND_FLUSH (4), SEND_FUA (8)
|
||||
assert_equal (1 | 4 | 8), result[:flags]
|
||||
assert_equal "\x0" * 124, result[:reserved]
|
||||
yield client
|
||||
ensure
|
||||
@@ -106,4 +108,14 @@ class TestServeMode < Test::Unit::TestCase
|
||||
assert_equal FlexNBD::REPLY_MAGIC, rsp[:magic]
|
||||
end
|
||||
end
|
||||
|
||||
def test_flush_is_accepted
|
||||
connect_to_server do |client|
|
||||
# Start with a file of all-zeroes.
|
||||
client.flush
|
||||
rsp = client.read_response
|
||||
assert_equal FlexNBD::REPLY_MAGIC, rsp[:magic]
|
||||
assert_equal 0, rsp[:error]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user