tests/qtest/migration: Replace migrate_get_connect_uri inplace of migrate_get_socket_address
Refactor migrate_get_socket_address to internally utilize 'socket-address' parameter, reducing redundancy in the function definition. migrate_get_socket_address implicitly converts SocketAddress into str. Move migrate_get_socket_address inside migrate_get_connect_uri which should return the uri string instead. Signed-off-by: Het Gala <het.gala@nutanix.com> Suggested-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/20240312202634.63349-4-het.gala@nutanix.com Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
d1155fd485
commit
4f2f5b694d
@ -48,28 +48,37 @@ static char *SocketAddress_to_str(SocketAddress *addr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *
|
static SocketAddress *migrate_get_socket_address(QTestState *who)
|
||||||
migrate_get_socket_address(QTestState *who, const char *parameter)
|
|
||||||
{
|
{
|
||||||
QDict *rsp;
|
QDict *rsp;
|
||||||
char *result;
|
|
||||||
SocketAddressList *addrs;
|
SocketAddressList *addrs;
|
||||||
|
SocketAddress *addr;
|
||||||
Visitor *iv = NULL;
|
Visitor *iv = NULL;
|
||||||
QObject *object;
|
QObject *object;
|
||||||
|
|
||||||
rsp = migrate_query(who);
|
rsp = migrate_query(who);
|
||||||
object = qdict_get(rsp, parameter);
|
object = qdict_get(rsp, "socket-address");
|
||||||
|
|
||||||
iv = qobject_input_visitor_new(object);
|
iv = qobject_input_visitor_new(object);
|
||||||
visit_type_SocketAddressList(iv, NULL, &addrs, &error_abort);
|
visit_type_SocketAddressList(iv, NULL, &addrs, &error_abort);
|
||||||
|
addr = addrs->value;
|
||||||
visit_free(iv);
|
visit_free(iv);
|
||||||
|
|
||||||
/* we are only using a single address */
|
|
||||||
result = SocketAddress_to_str(addrs->value);
|
|
||||||
|
|
||||||
qapi_free_SocketAddressList(addrs);
|
|
||||||
qobject_unref(rsp);
|
qobject_unref(rsp);
|
||||||
return result;
|
return addr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
migrate_get_connect_uri(QTestState *who)
|
||||||
|
{
|
||||||
|
SocketAddress *addrs;
|
||||||
|
char *connect_uri;
|
||||||
|
|
||||||
|
addrs = migrate_get_socket_address(who);
|
||||||
|
connect_uri = SocketAddress_to_str(addrs);
|
||||||
|
|
||||||
|
qapi_free_SocketAddress(addrs);
|
||||||
|
return connect_uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool migrate_watch_for_events(QTestState *who, const char *name,
|
bool migrate_watch_for_events(QTestState *who, const char *name,
|
||||||
@ -129,7 +138,7 @@ void migrate_qmp(QTestState *who, QTestState *to, const char *uri,
|
|||||||
|
|
||||||
g_assert(!qdict_haskey(args, "uri"));
|
g_assert(!qdict_haskey(args, "uri"));
|
||||||
if (!uri) {
|
if (!uri) {
|
||||||
connect_uri = migrate_get_socket_address(to, "socket-address");
|
connect_uri = migrate_get_connect_uri(to);
|
||||||
}
|
}
|
||||||
qdict_put_str(args, "uri", uri ? uri : connect_uri);
|
qdict_put_str(args, "uri", uri ? uri : connect_uri);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user