qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 05/10] tests: check that migration parameters


From: Peter Xu
Subject: Re: [Qemu-devel] [PATCH v2 05/10] tests: check that migration parameters are really assigned
Date: Sun, 29 Oct 2017 14:24:53 +0100
User-agent: Mutt/1.5.24 (2015-08-30)

On Thu, Oct 26, 2017 at 09:52:17AM +0200, Juan Quintela wrote:
> Signed-off-by: Juan Quintela <address@hidden>
> ---
>  tests/migration-test.c | 27 ++++++++++++++++++++++++---
>  1 file changed, 24 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/migration-test.c b/tests/migration-test.c
> index c429a13403..be598d3257 100644
> --- a/tests/migration-test.c
> +++ b/tests/migration-test.c
> @@ -354,17 +354,37 @@ static void cleanup(const char *filename)
>      g_free(path);
>  }
>  
> -static void migrate_set_downtime(QTestState *who, const char *value)
> +static void migrate_check_parameter(QTestState *who, const char *parameter,
> +                                    const char *value)
> +{
> +    QDict *rsp, *rsp_return;
> +    const char *result;
> +
> +    rsp = wait_command(who, "{ 'execute': 'query-migrate-parameters' }");
> +    rsp_return = qdict_get_qdict(rsp, "return");
> +    result = g_strdup_printf("%" PRId64,
> +                             qdict_get_try_int(rsp_return,  parameter, -1));
> +    g_assert_cmpstr(result, ==, value);
> +    QDECREF(rsp);

Maybe we need to free "result" as well?  I see a pull request already,
so maybe another fix patch on top.  Thanks,

> +}
> +
> +static void migrate_set_downtime(QTestState *who, const double value)
>  {
>      QDict *rsp;
>      gchar *cmd;
> +    char *expected;
> +    int64_t result_int;
>  
>      cmd = g_strdup_printf("{ 'execute': 'migrate_set_downtime',"
> -                          "'arguments': { 'value': %s } }", value);
> +                          "'arguments': { 'value': %g } }", value);
>      rsp = qtest_qmp(who, cmd);
>      g_free(cmd);
>      g_assert(qdict_haskey(rsp, "return"));
>      QDECREF(rsp);
> +    result_int = value * 1000L;
> +    expected = g_strdup_printf("%" PRId64, result_int);
> +    migrate_check_parameter(who, "downtime-limit", expected);
> +    g_free(expected);
>  }
>  
>  static void migrate_set_speed(QTestState *who, const char *value)
> @@ -378,6 +398,7 @@ static void migrate_set_speed(QTestState *who, const char 
> *value)
>      g_free(cmd);
>      g_assert(qdict_haskey(rsp, "return"));
>      QDECREF(rsp);
> +    migrate_check_parameter(who, "max-bandwidth", value);
>  }
>  
>  static void migrate_set_capability(QTestState *who, const char *capability,
> @@ -509,7 +530,7 @@ static void test_migrate(void)
>       * machine, so also set the downtime.
>       */
>      migrate_set_speed(from, "100000000");
> -    migrate_set_downtime(from, "0.001");
> +    migrate_set_downtime(from, 0.001);
>  
>      /* Wait for the first serial output from the source */
>      wait_for_serial("src_serial");
> -- 
> 2.13.6
> 

-- 
Peter Xu



reply via email to

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