4 * Copyright (C) 2009 Red Hat Inc.
7 * Luiz Capitulino <lcapitulino@redhat.com>
12 #include "qemu-common.h"
15 * Public Interface test-cases
17 * (with some violations to access 'private' data)
20 START_TEST(qstring_from_str_test
)
23 const char *str
= "QEMU";
25 qstring
= qstring_from_str(str
);
26 fail_unless(qstring
!= NULL
);
27 fail_unless(qstring
->base
.refcnt
== 1);
28 fail_unless(strcmp(str
, qstring
->string
) == 0);
29 fail_unless(qobject_type(QOBJECT(qstring
)) == QTYPE_QSTRING
);
31 // destroy doesn't exit yet
32 qemu_free(qstring
->string
);
37 START_TEST(qstring_destroy_test
)
39 QString
*qstring
= qstring_from_str("destroy test");
44 START_TEST(qstring_get_str_test
)
48 const char *str
= "QEMU/KVM";
50 qstring
= qstring_from_str(str
);
51 ret_str
= qstring_get_str(qstring
);
52 fail_unless(strcmp(ret_str
, str
) == 0);
58 START_TEST(qobject_to_qstring_test
)
62 qstring
= qstring_from_str("foo");
63 fail_unless(qobject_to_qstring(QOBJECT(qstring
)) == qstring
);
69 static Suite
*qstring_suite(void)
72 TCase
*qstring_public_tcase
;
74 s
= suite_create("QString test-suite");
76 qstring_public_tcase
= tcase_create("Public Interface");
77 suite_add_tcase(s
, qstring_public_tcase
);
78 tcase_add_test(qstring_public_tcase
, qstring_from_str_test
);
79 tcase_add_test(qstring_public_tcase
, qstring_destroy_test
);
80 tcase_add_test(qstring_public_tcase
, qstring_get_str_test
);
81 tcase_add_test(qstring_public_tcase
, qobject_to_qstring_test
);
93 sr
= srunner_create(s
);
95 srunner_run_all(sr
, CK_NORMAL
);
96 nf
= srunner_ntests_failed(sr
);
99 return (nf
== 0) ? EXIT_SUCCESS
: EXIT_FAILURE
;