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: Juan Quintela
Subject: Re: [Qemu-devel] [PATCH v2 05/10] tests: check that migration parameters are really assigned
Date: Mon, 30 Oct 2017 14:28:27 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Peter Xu <address@hidden> wrote:
> 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,

Done, 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
>> 



reply via email to

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