On Wed, Jan 10, 2018 at 09:46:49AM +0100, Juan Quintela wrote:
> Peter Xu <[email protected]> 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 <[email protected]>
> >> ---
> >> 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 <[email protected]>
>
> Thanks, Juan.
--
Peter Xu