qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4 05/11] tests: Add deprecated commands migrati


From: Peter Xu
Subject: Re: [Qemu-devel] [PATCH v4 05/11] tests: Add deprecated commands migration test
Date: Wed, 10 Jan 2018 16:58:51 +0800
User-agent: Mutt/1.9.1 (2017-09-22)

On Wed, Jan 10, 2018 at 09:46:49AM +0100, Juan Quintela wrote:
> Peter Xu <address@hidden> wrote:
> > On Fri, Jan 05, 2018 at 10:52:40PM +0100, Juan Quintela wrote:
> >> We add deprecated commands on a new test, so we don't have to add it
> >> on normal tests.
> >> 
> >> Signed-off-by: Juan Quintela <address@hidden>
> >> ---
> >>  tests/migration-test.c | 59 
> >> ++++++++++++++++++++++++++++++++++++++++++++++++++
> >>  1 file changed, 59 insertions(+)
> >> 
> >> diff --git a/tests/migration-test.c b/tests/migration-test.c
> >> index f469235d0b..bcb0a82d42 100644
> >> --- a/tests/migration-test.c
> >> +++ b/tests/migration-test.c
> >> @@ -513,6 +513,64 @@ static void test_migrate_end(QTestState *from, 
> >> QTestState *to)
> >>      cleanup("dest_serial");
> >>  }
> >>  
> >> +static void deprecated_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': %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 deprecated_set_speed(QTestState *who, const char *value)
> >> +{
> >> +    QDict *rsp;
> >> +    gchar *cmd;
> >> +
> >> +    cmd = g_strdup_printf("{ 'execute': 'migrate_set_speed',"
> >> +                          "'arguments': { 'value': %s } }", value);
> >> +    rsp = qtest_qmp(who, cmd);
> >> +    g_free(cmd);
> >> +    g_assert(qdict_haskey(rsp, "return"));
> >> +    QDECREF(rsp);
> >> +    migrate_check_parameter(who, "max-bandwidth", value);
> >> +}
> >> +
> >> +static void test_deprecated(void)
> >> +{
> >> +    char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
> >> +    QTestState *from, *to;
> >> +
> >> +    /* Create source and destination guests.  This way we can reuse
> >> +     * test_migrate_start */
> >> +    test_migrate_start(&from, &to, uri);
> >> +
> >> +    deprecated_set_downtime(from, 0.12345);
> >> +    deprecated_set_downtime(to, 0.12345);
> >> +    deprecated_set_speed(from, "12345");
> >> +    deprecated_set_speed(to, "12345");
> >> +
> >> +    g_free(uri);
> >> +
> >> +    qtest_quit(from);
> >> +    qtest_quit(to);
> >> +
> >> +    cleanup("bootsect");
> >> +    cleanup("migsocket");
> >> +    cleanup("src_serial");
> >> +    cleanup("dest_serial");
> >
> > I thought calling qtest_start() with a single VM would be even
> > simpler, but this is good enough for me... Thanks for that.  :-)
> 
> I had two options:
> - reuse the test_migrate_start function, and create two guests
> - create a function that only creates one guest, but repeat the
>   architecture dependent part.
> 
> Take your poison.

Ah I see your point.  However, do we need those arch-dependent thing
for this QMP-only test?  Would a simplest qtest_start("") suffice?

(I mean, we just start a QEMU without extra QEMU parameters, as long
 as it has QMP)

> 
> > Reviewed-by: Peter Xu <address@hidden>
> 
> Thanks, Juan.

-- 
Peter Xu



reply via email to

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