36 mk_fake_text_output(
char **argv) {
44 retval->
init = fake_text_init;
60 teardown(
void **state) {
66 invalid_entries(
void **state) {
73 {
"",
"", null_message_fn },
74 {
"", NULL, null_message_fn },
82 assert_int_equal(g_hash_table_size(out->
messages), 0);
88 valid_entries(
void **state) {
92 {
"msg1",
"text", null_message_fn },
93 {
"msg2",
"text", null_message_fn_2 },
100 assert_int_equal(g_hash_table_size(out->
messages), 2);
101 assert_ptr_equal(g_hash_table_lookup(out->
messages,
"msg1"), null_message_fn);
102 assert_ptr_equal(g_hash_table_lookup(out->
messages,
"msg2"), null_message_fn_2);
108 duplicate_message_ids(
void **state) {
112 {
"msg1",
"text", null_message_fn },
113 {
"msg1",
"text", null_message_fn_2 },
120 assert_int_equal(g_hash_table_size(out->
messages), 1);
121 assert_ptr_equal(g_hash_table_lookup(out->
messages,
"msg1"), null_message_fn_2);
127 duplicate_functions(
void **state) {
131 {
"msg1",
"text", null_message_fn },
132 {
"msg2",
"text", null_message_fn },
139 assert_int_equal(g_hash_table_size(out->
messages), 2);
140 assert_ptr_equal(g_hash_table_lookup(out->
messages,
"msg1"), null_message_fn);
141 assert_ptr_equal(g_hash_table_lookup(out->
messages,
"msg2"), null_message_fn);
147 default_handler(
void **state) {
151 {
"msg1",
"default", null_message_fn },
158 assert_int_equal(g_hash_table_size(out->
messages), 1);
159 assert_ptr_equal(g_hash_table_lookup(out->
messages,
"msg1"), null_message_fn);
165 override_default_handler(
void **state) {
169 {
"msg1",
"default", null_message_fn },
170 {
"msg1",
"text", null_message_fn_2 },
177 assert_int_equal(g_hash_table_size(out->
messages), 1);
178 assert_ptr_equal(g_hash_table_lookup(out->
messages,
"msg1"), null_message_fn_2);
184 cmocka_unit_test_setup_teardown(invalid_entries, setup, teardown),
185 cmocka_unit_test_setup_teardown(valid_entries, setup, teardown),
186 cmocka_unit_test_setup_teardown(duplicate_message_ids, setup, teardown),
187 cmocka_unit_test_setup_teardown(duplicate_functions, setup, teardown),
188 cmocka_unit_test_setup_teardown(default_handler, setup, teardown),
189 cmocka_unit_test_setup_teardown(override_default_handler, setup, teardown))
void pcmk__register_messages(pcmk__output_t *out, const pcmk__message_entry_t *table)
int(* message)(pcmk__output_t *out, const char *message_id,...)
const char * fmt_name
The name of this output formatter.
void pcmk__register_message(pcmk__output_t *out, const char *message_id, pcmk__message_fn_t fn)
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
int pcmk__call_message(pcmk__output_t *out, const char *message_id,...)
GHashTable * messages
Custom messages that are currently registered on this formatter.
Formatted output for pacemaker tools.
void(* register_message)(pcmk__output_t *out, const char *message_id, pcmk__message_fn_t fn)
void(* free_priv)(pcmk__output_t *out)
bool(* init)(pcmk__output_t *out)
#define pcmk__assert_asserts(stmt)
int pcmk__register_format(GOptionGroup *group, const char *name, pcmk__output_factory_t create, const GOptionEntry *options)
void pcmk__output_free(pcmk__output_t *out)
void pcmk__unregister_formats(void)
This structure contains everything that makes up a single output formatter.
int pcmk__output_new(pcmk__output_t **out, const char *fmt_name, const char *filename, char **argv)