Message ID | 20171026075222.27798-6-quintela@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
* Juan Quintela (quintela@redhat.com) wrote: > Signed-off-by: Juan Quintela <quintela@redhat.com> > --- > 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 <dgilbert@redhat.com> > 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 / dgilbert@redhat.com / Manchester, UK
"Dr. David Alan Gilbert" <dgilbert@redhat.com> wrote: > * Juan Quintela (quintela@redhat.com) wrote: >> Signed-off-by: Juan Quintela <quintela@redhat.com> >> --- >> 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? This is a deprecated function, so ..... Thanks, Juan.
On Thu, Oct 26, 2017 at 09:52:17AM +0200, Juan Quintela wrote: > Signed-off-by: Juan Quintela <quintela@redhat.com> > --- > 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 <peterx@redhat.com> wrote: > On Thu, Oct 26, 2017 at 09:52:17AM +0200, Juan Quintela wrote: >> Signed-off-by: Juan Quintela <quintela@redhat.com> >> --- >> 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 >>
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); 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");
Signed-off-by: Juan Quintela <quintela@redhat.com> --- tests/migration-test.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-)