336
};
337
338
339
-static void test_dummy_createv(void)
339
+static void test_dummy_createv_tree(void)
340
{
341
Error *err = NULL;
342
Object *parent = object_get_objects_root();
351
NULL));
352
353
g_assert(err == NULL);
354
+ g_assert_cmpint(dobj->parent_obj.ref, ==, 1);
355
g_assert_cmpstr(dobj->sv, ==, "Hiss hiss hiss");
356
g_assert(dobj->bv == true);
357
g_assert(dobj->av == DUMMY_PLATYPUS);
363
}
364
365
365
-static Object *new_helper(Error **errp,
366
- Object *parent,
367
- ...)
366
+static void test_dummy_createv_parentless(void)
367
+{
368
+ Error *err = NULL;
369
+ DummyObject *dobj = DUMMY_OBJECT(
370
+ object_new_with_props_parentless(TYPE_DUMMY,
371
+ &err,
372
+ "bv", "yes",
373
+ "sv", "Hiss hiss hiss",
374
+ "av", "platypus",
375
+ NULL));
376
+
377
+ g_assert(err == NULL);
378
+ g_assert_cmpint(dobj->parent_obj.ref, ==, 1);
379
+ g_assert_cmpstr(dobj->sv, ==, "Hiss hiss hiss");
380
+ g_assert(dobj->bv == true);
381
+ g_assert(dobj->av == DUMMY_PLATYPUS);
382
+
383
+ object_unref(OBJECT(dobj));
384
+}
385
+
386
+
387
+static Object *new_helper_tree(Error **errp,
388
+ Object *parent,
389
+ ...)
390
{
391
va_list vargs;
392
Object *obj;
401
return obj;
402
}
403
382
-static void test_dummy_createlist(void)
404
+static void test_dummy_createlist_tree(void)
405
{
406
Error *err = NULL;
407
Object *parent = object_get_objects_root();
408
DummyObject *dobj = DUMMY_OBJECT(
387
- new_helper(&err,
388
- parent,
389
- "bv", "yes",
390
- "sv", "Hiss hiss hiss",
391
- "av", "platypus",
392
- NULL));
409
+ new_helper_tree(&err,
410
+ parent,
411
+ "bv", "yes",
412
+ "sv", "Hiss hiss hiss",
413
+ "av", "platypus",
414
+ NULL));
415
416
g_assert(err == NULL);
417
+ g_assert_cmpint(dobj->parent_obj.ref, ==, 1);
418
g_assert_cmpstr(dobj->sv, ==, "Hiss hiss hiss");
419
g_assert(dobj->bv == true);
420
g_assert(dobj->av == DUMMY_PLATYPUS);
425
object_unparent(OBJECT(dobj));
426
}
427
428
+static Object *new_helper_parentless(Error **errp,
429
+ ...)
430
+{
431
+ va_list vargs;
432
+ Object *obj;
433
+
434
+ va_start(vargs, errp);
435
+ obj = object_new_with_propv_parentless(TYPE_DUMMY,
436
+ vargs,
437
+ errp);
438
+ va_end(vargs);
439
+ return obj;
440
+}
441
+
442
+static void test_dummy_createlist_parentless(void)
443
+{
444
+ Error *err = NULL;
445
+ DummyObject *dobj = DUMMY_OBJECT(
446
+ new_helper_parentless(&err,
447
+ "bv", "yes",
448
+ "sv", "Hiss hiss hiss",
449
+ "av", "platypus",
450
+ NULL));
451
+
452
+ g_assert(err == NULL);
453
+ g_assert_cmpint(dobj->parent_obj.ref, ==, 1);
454
+ g_assert_cmpstr(dobj->sv, ==, "Hiss hiss hiss");
455
+ g_assert(dobj->bv == true);
456
+ g_assert(dobj->av == DUMMY_PLATYPUS);
457
+
458
+ object_unref(OBJECT(dobj));
459
+}
460
+
461
static bool test_create_obj(QDict *qdict, Error **errp)
462
{
463
Visitor *v = qobject_input_visitor_new_keyval(QOBJECT(qdict));
714
type_register_static(&dummy_bus_info);
715
type_register_static(&dummy_backend_info);
716
661
- g_test_add_func("/qom/proplist/createlist", test_dummy_createlist);
662
- g_test_add_func("/qom/proplist/createv", test_dummy_createv);
717
+ g_test_add_func("/qom/proplist/createlist/tree",
718
+ test_dummy_createlist_tree);
719
+ g_test_add_func("/qom/proplist/createlist/parentless",
720
+ test_dummy_createlist_parentless);
721
+ g_test_add_func("/qom/proplist/createv/tree",
722
+ test_dummy_createv_tree);
723
+ g_test_add_func("/qom/proplist/createv/parentless",
724
+ test_dummy_createv_parentless);
725
g_test_add_func("/qom/proplist/createcmdline", test_dummy_createcmdl);
726
g_test_add_func("/qom/proplist/badenum", test_dummy_badenum);
727
g_test_add_func("/qom/proplist/getenum", test_dummy_getenum);