Skip to content

Commit

Permalink
test_negotiate: add migration testing
Browse files Browse the repository at this point in the history
Add migration support to the test setup, and complete some additional
testing for the migration JSON capability.

Signed-off-by: John Levon <john.levon@nutanix.com>
  • Loading branch information
jlevon committed Sep 11, 2023
1 parent f63ef82 commit 1549a3d
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions test/py/test_negotiate.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ def test_server_setup():
ctx = vfu_create_ctx()
assert ctx is not None

ret = vfu_setup_region(ctx, index=VFU_PCI_DEV_MIGR_REGION_IDX,
size=2 << PAGE_SHIFT, flags=VFU_REGION_FLAG_RW)
assert ret == 0

ret = vfu_setup_device_migration_callbacks(ctx)
assert ret == 0

ret = vfu_realize_ctx(ctx)
assert ret == 0

Expand Down Expand Up @@ -150,14 +157,9 @@ def test_invalid_json_bad_pgsize():
b'{ "migration": { "pgsize": "foo" } } }')


#
# FIXME: need vfu_setup_device_migration_callbacks() to be able to test this
# failure mode.
#
def test_invalid_json_bad_pgsize2():
if False:
client_version_json(errno.EINVAL,
b'{ "capabilities": { "migration": { "pgsize": 4095 } } }')
client_version_json(errno.EINVAL,
b'{ "capabilities": { "migration": { "pgsize": 4095 } } }')


def test_valid_negotiate_no_json():
Expand All @@ -177,7 +179,7 @@ def test_valid_negotiate_no_json():
json = parse_json(json_str)
assert json.capabilities.max_msg_fds == SERVER_MAX_FDS
assert json.capabilities.max_data_xfer_size == SERVER_MAX_DATA_XFER_SIZE
# FIXME: migration object checks
assert json.capabilities.migration.pgsize == PAGE_SIZE

client.disconnect(ctx)

Expand Down

0 comments on commit 1549a3d

Please sign in to comment.