Message ID | 20180907075948.26917-9-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | Various qemu command line options help improvements | expand |
On 07/09/2018 09:59, Marc-André Lureau wrote: > And factor out a common function used by the follow class properties > iterator test. > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > tests/check-qom-proplist.c | 44 +++++++++++++++++++++----------------- > 1 file changed, 24 insertions(+), 20 deletions(-) > > diff --git a/tests/check-qom-proplist.c b/tests/check-qom-proplist.c > index 0f6d9c1ce3..8e1b9c27f3 100644 > --- a/tests/check-qom-proplist.c > +++ b/tests/check-qom-proplist.c > @@ -520,32 +520,19 @@ static void test_dummy_getenum(void) > } > > > -static void test_dummy_iterator(void) > +static void test_dummy_prop_iterator(ObjectPropertyIterator *iter) > { > - Object *parent = object_get_objects_root(); > - DummyObject *dobj = DUMMY_OBJECT( > - object_new_with_props(TYPE_DUMMY, > - parent, > - "dummy0", > - &error_abort, > - "bv", "yes", > - "sv", "Hiss hiss hiss", > - "av", "platypus", > - NULL)); > - > - ObjectProperty *prop; > - ObjectPropertyIterator iter; > bool seenbv = false, seensv = false, seenav = false, seentype; > + ObjectProperty *prop; > > - object_property_iter_init(&iter, OBJECT(dobj)); > - while ((prop = object_property_iter_next(&iter))) { > - if (g_str_equal(prop->name, "bv")) { > + while ((prop = object_property_iter_next(iter))) { > + if (!seenbv && g_str_equal(prop->name, "bv")) { > seenbv = true; > - } else if (g_str_equal(prop->name, "sv")) { > + } else if (!seensv && g_str_equal(prop->name, "sv")) { > seensv = true; > - } else if (g_str_equal(prop->name, "av")) { > + } else if (!seenav && g_str_equal(prop->name, "av")) { > seenav = true; > - } else if (g_str_equal(prop->name, "type")) { > + } else if (!seentype && g_str_equal(prop->name, "type")) { > /* This prop comes from the base Object class */ > seentype = true; > } else { > @@ -557,7 +544,24 @@ static void test_dummy_iterator(void) > g_assert(seenav); > g_assert(seensv); > g_assert(seentype); > +} > + > +static void test_dummy_iterator(void) > +{ > + Object *parent = object_get_objects_root(); > + DummyObject *dobj = DUMMY_OBJECT( > + object_new_with_props(TYPE_DUMMY, > + parent, > + "dummy0", > + &error_abort, > + "bv", "yes", > + "sv", "Hiss hiss hiss", > + "av", "platypus", > + NULL)); > + ObjectPropertyIterator iter; > > + object_property_iter_init(&iter, OBJECT(dobj)); > + test_dummy_prop_iterator(&iter); > object_unparent(OBJECT(dobj)); > } > > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/tests/check-qom-proplist.c b/tests/check-qom-proplist.c index 0f6d9c1ce3..8e1b9c27f3 100644 --- a/tests/check-qom-proplist.c +++ b/tests/check-qom-proplist.c @@ -520,32 +520,19 @@ static void test_dummy_getenum(void) } -static void test_dummy_iterator(void) +static void test_dummy_prop_iterator(ObjectPropertyIterator *iter) { - Object *parent = object_get_objects_root(); - DummyObject *dobj = DUMMY_OBJECT( - object_new_with_props(TYPE_DUMMY, - parent, - "dummy0", - &error_abort, - "bv", "yes", - "sv", "Hiss hiss hiss", - "av", "platypus", - NULL)); - - ObjectProperty *prop; - ObjectPropertyIterator iter; bool seenbv = false, seensv = false, seenav = false, seentype; + ObjectProperty *prop; - object_property_iter_init(&iter, OBJECT(dobj)); - while ((prop = object_property_iter_next(&iter))) { - if (g_str_equal(prop->name, "bv")) { + while ((prop = object_property_iter_next(iter))) { + if (!seenbv && g_str_equal(prop->name, "bv")) { seenbv = true; - } else if (g_str_equal(prop->name, "sv")) { + } else if (!seensv && g_str_equal(prop->name, "sv")) { seensv = true; - } else if (g_str_equal(prop->name, "av")) { + } else if (!seenav && g_str_equal(prop->name, "av")) { seenav = true; - } else if (g_str_equal(prop->name, "type")) { + } else if (!seentype && g_str_equal(prop->name, "type")) { /* This prop comes from the base Object class */ seentype = true; } else { @@ -557,7 +544,24 @@ static void test_dummy_iterator(void) g_assert(seenav); g_assert(seensv); g_assert(seentype); +} + +static void test_dummy_iterator(void) +{ + Object *parent = object_get_objects_root(); + DummyObject *dobj = DUMMY_OBJECT( + object_new_with_props(TYPE_DUMMY, + parent, + "dummy0", + &error_abort, + "bv", "yes", + "sv", "Hiss hiss hiss", + "av", "platypus", + NULL)); + ObjectPropertyIterator iter; + object_property_iter_init(&iter, OBJECT(dobj)); + test_dummy_prop_iterator(&iter); object_unparent(OBJECT(dobj)); }
And factor out a common function used by the follow class properties iterator test. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- tests/check-qom-proplist.c | 44 +++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 20 deletions(-)