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(qstring_append_chr_test
)
62 const char *str
= "qstring append char unit-test";
64 qstring
= qstring_new();
66 for (i
= 0; str
[i
]; i
++)
67 qstring_append_chr(qstring
, str
[i
]);
69 fail_unless(strcmp(str
, qstring_get_str(qstring
)) == 0);
74 START_TEST(qstring_from_substr_test
)
78 qs
= qstring_from_substr("virtualization", 3, 9);
79 fail_unless(qs
!= NULL
);
80 fail_unless(strcmp(qstring_get_str(qs
), "tualiza") == 0);
87 START_TEST(qobject_to_qstring_test
)
91 qstring
= qstring_from_str("foo");
92 fail_unless(qobject_to_qstring(QOBJECT(qstring
)) == qstring
);
98 static Suite
*qstring_suite(void)
101 TCase
*qstring_public_tcase
;
103 s
= suite_create("QString test-suite");
105 qstring_public_tcase
= tcase_create("Public Interface");
106 suite_add_tcase(s
, qstring_public_tcase
);
107 tcase_add_test(qstring_public_tcase
, qstring_from_str_test
);
108 tcase_add_test(qstring_public_tcase
, qstring_destroy_test
);
109 tcase_add_test(qstring_public_tcase
, qstring_get_str_test
);
110 tcase_add_test(qstring_public_tcase
, qstring_append_chr_test
);
111 tcase_add_test(qstring_public_tcase
, qstring_from_substr_test
);
112 tcase_add_test(qstring_public_tcase
, qobject_to_qstring_test
);
124 sr
= srunner_create(s
);
126 srunner_run_all(sr
, CK_NORMAL
);
127 nf
= srunner_ntests_failed(sr
);
130 return (nf
== 0) ? EXIT_SUCCESS
: EXIT_FAILURE
;