qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 9/9] migration: adding test case for modified QAPI syntax


From: Het Gala
Subject: Re: [PATCH v5 9/9] migration: adding test case for modified QAPI syntax
Date: Fri, 19 May 2023 15:19:14 +0530
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.0


On 19/05/23 3:16 pm, Het Gala wrote:
Adding multifd tcp common test case for modified QAPI syntax defined.

Suggested-by: Aravind Retnakaran <aravind.retnakaran@nutanix.com>
Signed-off-by: Het Gala <het.gala@nutanix.com>
---
  tests/qtest/migration-test.c | 47 ++++++++++++++++++++++++++++++++++++
  1 file changed, 47 insertions(+)

diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index b99b49a314..ef6f9181da 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -2021,6 +2021,34 @@ test_migrate_precopy_tcp_multifd_start_common(QTestState 
*from,
      return NULL;
  }
+static void *
+test_migrate_precopy_tcp_multifd_start_new_syntax_common(QTestState *from,
+                                                         QTestState *to,
+                                                         const char *method)
+{
+    QDict *rsp;
+
+    migrate_set_parameter_int(from, "multifd-channels", 16);
+    migrate_set_parameter_int(to, "multifd-channels", 16);
+
+    migrate_set_parameter_str(from, "multifd-compression", method);
+    migrate_set_parameter_str(to, "multifd-compression", method);
+
+    migrate_set_capability(from, "multifd", true);
+    migrate_set_capability(to, "multifd", true);
+
+    /* Start incoming migration from the 1st socket */
+    rsp = wait_command(to, "{ 'execute': 'migrate-incoming',"
+                           "  'arguments': { "
+                           "    'channels': [ { 'channeltype': 'main',"
+                           "     'addr': { 'transport': 'socket',"
+                           "               'type': 'inet','host': '127.0.0.1',"
+                           "               'port': '0' } } ] } }");
+    qobject_unref(rsp);
+
+    return NULL;
+}
+
  static void *
  test_migrate_precopy_tcp_multifd_start(QTestState *from,
                                         QTestState *to)
@@ -2028,6 +2056,14 @@ test_migrate_precopy_tcp_multifd_start(QTestState *from,
      return test_migrate_precopy_tcp_multifd_start_common(from, to, "none");
  }
+static void *
+test_migrate_precopy_tcp_multifd_new_syntax_start(QTestState *from,
+                                                  QTestState *to)
+{
+    return test_migrate_precopy_tcp_multifd_start_new_syntax_common(from,
+                                                              to, "none");
+}
+
  static void *
  test_migrate_precopy_tcp_multifd_zlib_start(QTestState *from,
                                              QTestState *to)
@@ -2053,6 +2089,15 @@ static void test_multifd_tcp_none(void)
      test_precopy_common(&args);
  }
+static void test_multifd_tcp_new_syntax_none(void)
+{
+    MigrateCommon args = {
+        .listen_uri = "defer",
+        .start_hook = test_migrate_precopy_tcp_multifd_new_syntax_start,
+    };
+    test_precopy_common(&args);
+}
+
  static void test_multifd_tcp_zlib(void)
  {
      MigrateCommon args = {
@@ -2736,6 +2781,8 @@ int main(int argc, char **argv)
      }
      qtest_add_func("/migration/multifd/tcp/plain/none",
                     test_multifd_tcp_none);
+    qtest_add_func("/migration/multifd/tcp/plain/none",
+                   test_multifd_tcp_new_syntax_none);
      /*
       * This test is flaky and sometimes fails in CI and otherwise:
       * don't run unless user opts in via environment variable.

Maintainers, though I have added a tcp test with new QAPI syntax for multifd here. I feel it is incomplete because it seems like test_precopy_common() finally sees the arguments in form of char *uri -> string form. Please advice, do we need to totally revamp the test case functions here for the modified syntax ?

Regards,
Het Gala



reply via email to

[Prev in Thread] Current Thread [Next in Thread]