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: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH v2 05/10] tests: check that migration parameters are really assigned
Date: Fri, 27 Oct 2017 04:47:14 +0100
User-agent: Mutt/1.9.1 (2017-09-22)

* Juan Quintela (address@hidden) 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);
> +}
> +
> +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);

I wonder if that will hit any FP representation problems for some
values?


Reviewed-by: Dr. David Alan Gilbert <address@hidden>

>      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
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

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