Het Gala <het.g...@nutanix.com> writes: > Add a positive test to check multifd live migration but this time > using list of channels (restricted to 1) as the starting point > instead of simple uri string. > > Signed-off-by: Het Gala <het.g...@nutanix.com> > Suggested-by: Fabiano Rosas <faro...@suse.de> > --- > tests/qtest/migration-test.c | 29 ++++++++++++++++++++++++++--- > 1 file changed, 26 insertions(+), 3 deletions(-) > > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c > index f94fe713b2..05e5f3ebe5 100644 > --- a/tests/qtest/migration-test.c > +++ b/tests/qtest/migration-test.c > @@ -659,6 +659,12 @@ typedef struct { > */ > const char *connect_uri; > > + /* > + * Optional: the JSON formatted list of URIs for the src > + * QEMU to connect to > + */
You could add some words here mentioning that a port of '0' will be automatically converted to the correct port that the destination is using. > + const char *connect_channels; > + > /* Optional: callback to run at start to set migration parameters */ > TestMigrateStartHook start_hook; > /* Optional: callback to run at finish to cleanup */ > @@ -2623,7 +2629,7 @@ test_migrate_precopy_tcp_multifd_zstd_start(QTestState > *from, > } > #endif /* CONFIG_ZSTD */ > > -static void test_multifd_tcp_none(void) > +static void test_multifd_tcp_uri_none(void) > { > MigrateCommon args = { > .listen_uri = "defer", > @@ -2638,6 +2644,21 @@ static void test_multifd_tcp_none(void) > test_precopy_common(&args); > } > > +static void test_multifd_tcp_channels_none(void) > +{ > + MigrateCommon args = { > + .listen_uri = "defer", > + .start_hook = test_migrate_precopy_tcp_multifd_start, > + .live = true, > + .connect_channels = "[ { 'channel-type': 'main'," > + " 'addr': { 'transport': 'socket'," > + " 'type': 'inet'," > + " 'host': '127.0.0.1'," > + " 'port': '0' } } ]", > + }; > + test_precopy_common(&args); > +} > + > static void test_multifd_tcp_zlib(void) > { > MigrateCommon args = { > @@ -3531,8 +3552,10 @@ int main(int argc, char **argv) > test_migrate_dirty_limit); > } > } > - migration_test_add("/migration/multifd/tcp/plain/none", > - test_multifd_tcp_none); > + migration_test_add("/migration/multifd/tcp/uri/plain/none", > + test_multifd_tcp_uri_none); > + migration_test_add("/migration/multifd/tcp/channels/plain/none", > + test_multifd_tcp_channels_none); We should eventually make a pass to standardize/simplify these strings. We could have a little "grammar" defined on how to construct them. /<test-type>/<migration-mode>/<transport>/<invocation>/<compression>/<encryption> test-type :: migrate | validate migration-mode :: multifd | precopy | postcopy transport :: tcp | fd | unix | file invocation :: uri | channels compression :: zlib | zstd | none encryption :: tls | plain Anyway, work for the future.