Skip to content

Commit eb14841

Browse files
committed
Refactor: libcrmcommon: Reduce duplication of null output message funcs
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
1 parent 4f85bf3 commit eb14841

5 files changed

Lines changed: 43 additions & 56 deletions

File tree

include/crm/common/unittest_internal.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ void pcmk__expect_fake_text_free_priv(void);
148148
void pcmk__expect_fake_text_err(void);
149149
pcmk__output_t *pcmk__output_null_create1(char **argv);
150150
pcmk__output_t *pcmk__output_null_create2(char **argv);
151+
int pcmk__output_message_dummy1(pcmk__output_t *out, va_list args);
152+
int pcmk__output_message_dummy2(pcmk__output_t *out, va_list args);
151153

152154
/*!
153155
* \internal

lib/common/tests/output/pcmk__output_free_test.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,6 @@
1313

1414
#include <crm/common/unittest_internal.h>
1515

16-
static int
17-
null_message_fn(pcmk__output_t *out, va_list args)
18-
{
19-
return pcmk_rc_ok;
20-
}
21-
2216
static int
2317
setup(void **state)
2418
{
@@ -52,7 +46,7 @@ messages(void **state)
5246
pcmk__output_t *out = NULL;
5347

5448
pcmk__output_new(&out, "text", NULL, NULL);
55-
pcmk__register_message(out, "fake", null_message_fn);
49+
pcmk__register_message(out, "fake", pcmk__output_message_dummy1);
5650

5751
pcmk__expect_fake_text_free_priv();
5852
pcmk__output_free(out);

lib/common/tests/output/pcmk__register_message_test.c

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,19 @@
1515

1616
#include "../../crmcommon_private.h"
1717

18-
static int
19-
null_message_fn(pcmk__output_t *out, va_list args)
20-
{
21-
return pcmk_rc_ok;
22-
}
23-
24-
static int
25-
null_message_fn_2(pcmk__output_t *out, va_list args)
26-
{
27-
return pcmk_rc_ok;
28-
}
29-
3018
static void
3119
null_params(void **state)
3220
{
3321
pcmk__output_t *out = NULL;
3422

3523
pcmk__output_new(&out, "text", NULL, NULL);
3624

37-
pcmk__assert_asserts(pcmk__register_message(NULL, "fake", null_message_fn));
38-
pcmk__assert_asserts(pcmk__register_message(out, NULL, null_message_fn));
39-
pcmk__assert_asserts(pcmk__register_message(out, "", null_message_fn));
25+
pcmk__assert_asserts(pcmk__register_message(NULL, "fake",
26+
pcmk__output_message_dummy1));
27+
pcmk__assert_asserts(pcmk__register_message(out, NULL,
28+
pcmk__output_message_dummy1));
29+
pcmk__assert_asserts(pcmk__register_message(out, "",
30+
pcmk__output_message_dummy1));
4031
pcmk__assert_asserts(pcmk__register_message(out, "fake", NULL));
4132

4233
pcmk__output_free(out);
@@ -53,18 +44,18 @@ add_message(void **state)
5344
assert_int_equal(g_hash_table_size(out->messages), 0);
5445

5546
/* Add a fake function and check that it's the only item in the hash table. */
56-
pcmk__register_message(out, "fake", null_message_fn);
47+
pcmk__register_message(out, "fake", pcmk__output_message_dummy1);
5748
assert_int_equal(g_hash_table_size(out->messages), 1);
5849
assert_ptr_equal(g_hash_table_lookup(out->messages, "fake"),
59-
null_message_fn);
50+
pcmk__output_message_dummy1);
6051

6152
/* Add a second fake function which should overwrite the first one, leaving
6253
* only one item in the hash table but pointing at the new function.
6354
*/
64-
pcmk__register_message(out, "fake", null_message_fn_2);
55+
pcmk__register_message(out, "fake", pcmk__output_message_dummy2);
6556
assert_int_equal(g_hash_table_size(out->messages), 1);
6657
assert_ptr_equal(g_hash_table_lookup(out->messages, "fake"),
67-
null_message_fn_2);
58+
pcmk__output_message_dummy2);
6859

6960
pcmk__output_free(out);
7061
}

lib/common/tests/output/pcmk__register_messages_test.c

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,6 @@
1515

1616
#include "../../crmcommon_private.h"
1717

18-
static int
19-
null_message_fn(pcmk__output_t *out, va_list args)
20-
{
21-
return pcmk_rc_ok;
22-
}
23-
24-
static int
25-
null_message_fn_2(pcmk__output_t *out, va_list args)
26-
{
27-
return pcmk_rc_ok;
28-
}
29-
3018
static void
3119
invalid_entries(void **state)
3220
{
@@ -36,8 +24,8 @@ invalid_entries(void **state)
3624
/* We can't test a NULL message_id here because that's the marker for
3725
* the end of the table.
3826
*/
39-
{ "", "", null_message_fn },
40-
{ "", NULL, null_message_fn },
27+
{ "", "", pcmk__output_message_dummy1 },
28+
{ "", NULL, pcmk__output_message_dummy1 },
4129
{ "", "text", NULL },
4230
{ NULL },
4331
};
@@ -56,8 +44,8 @@ valid_entries(void **state)
5644
pcmk__output_t *out = NULL;
5745

5846
pcmk__message_entry_t entries[] = {
59-
{ "msg1", "text", null_message_fn },
60-
{ "msg2", "text", null_message_fn_2 },
47+
{ "msg1", "text", pcmk__output_message_dummy1 },
48+
{ "msg2", "text", pcmk__output_message_dummy2 },
6149
{ NULL },
6250
};
6351

@@ -66,9 +54,9 @@ valid_entries(void **state)
6654
pcmk__register_messages(out, entries);
6755
assert_int_equal(g_hash_table_size(out->messages), 2);
6856
assert_ptr_equal(g_hash_table_lookup(out->messages, "msg1"),
69-
null_message_fn);
57+
pcmk__output_message_dummy1);
7058
assert_ptr_equal(g_hash_table_lookup(out->messages, "msg2"),
71-
null_message_fn_2);
59+
pcmk__output_message_dummy2);
7260

7361
pcmk__output_free(out);
7462
}
@@ -79,8 +67,8 @@ duplicate_message_ids(void **state)
7967
pcmk__output_t *out = NULL;
8068

8169
pcmk__message_entry_t entries[] = {
82-
{ "msg1", "text", null_message_fn },
83-
{ "msg1", "text", null_message_fn_2 },
70+
{ "msg1", "text", pcmk__output_message_dummy1 },
71+
{ "msg1", "text", pcmk__output_message_dummy2 },
8472
{ NULL },
8573
};
8674

@@ -89,7 +77,7 @@ duplicate_message_ids(void **state)
8977
pcmk__register_messages(out, entries);
9078
assert_int_equal(g_hash_table_size(out->messages), 1);
9179
assert_ptr_equal(g_hash_table_lookup(out->messages, "msg1"),
92-
null_message_fn_2);
80+
pcmk__output_message_dummy2);
9381

9482
pcmk__output_free(out);
9583
}
@@ -100,8 +88,8 @@ duplicate_functions(void **state)
10088
pcmk__output_t *out = NULL;
10189

10290
pcmk__message_entry_t entries[] = {
103-
{ "msg1", "text", null_message_fn },
104-
{ "msg2", "text", null_message_fn },
91+
{ "msg1", "text", pcmk__output_message_dummy1 },
92+
{ "msg2", "text", pcmk__output_message_dummy1 },
10593
{ NULL },
10694
};
10795

@@ -110,9 +98,9 @@ duplicate_functions(void **state)
11098
pcmk__register_messages(out, entries);
11199
assert_int_equal(g_hash_table_size(out->messages), 2);
112100
assert_ptr_equal(g_hash_table_lookup(out->messages, "msg1"),
113-
null_message_fn);
101+
pcmk__output_message_dummy1);
114102
assert_ptr_equal(g_hash_table_lookup(out->messages, "msg2"),
115-
null_message_fn);
103+
pcmk__output_message_dummy1);
116104

117105
pcmk__output_free(out);
118106
}
@@ -123,7 +111,7 @@ default_handler(void **state)
123111
pcmk__output_t *out = NULL;
124112

125113
pcmk__message_entry_t entries[] = {
126-
{ "msg1", "default", null_message_fn },
114+
{ "msg1", "default", pcmk__output_message_dummy1 },
127115
{ NULL },
128116
};
129117

@@ -132,7 +120,7 @@ default_handler(void **state)
132120
pcmk__register_messages(out, entries);
133121
assert_int_equal(g_hash_table_size(out->messages), 1);
134122
assert_ptr_equal(g_hash_table_lookup(out->messages, "msg1"),
135-
null_message_fn);
123+
pcmk__output_message_dummy1);
136124

137125
pcmk__output_free(out);
138126
}
@@ -143,8 +131,8 @@ override_default_handler(void **state)
143131
pcmk__output_t *out = NULL;
144132

145133
pcmk__message_entry_t entries[] = {
146-
{ "msg1", "default", null_message_fn },
147-
{ "msg1", "text", null_message_fn_2 },
134+
{ "msg1", "default", pcmk__output_message_dummy1 },
135+
{ "msg1", "text", pcmk__output_message_dummy2 },
148136
{ NULL },
149137
};
150138

@@ -153,7 +141,7 @@ override_default_handler(void **state)
153141
pcmk__register_messages(out, entries);
154142
assert_int_equal(g_hash_table_size(out->messages), 1);
155143
assert_ptr_equal(g_hash_table_lookup(out->messages, "msg1"),
156-
null_message_fn_2);
144+
pcmk__output_message_dummy2);
157145

158146
pcmk__output_free(out);
159147
}

lib/common/unittest.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,4 +280,16 @@ pcmk__output_null_create2(char **argv)
280280
return NULL;
281281
}
282282

283+
int
284+
pcmk__output_message_dummy1(pcmk__output_t *out, va_list args)
285+
{
286+
return pcmk_rc_ok;
287+
}
288+
289+
int
290+
pcmk__output_message_dummy2(pcmk__output_t *out, va_list args)
291+
{
292+
return pcmk_rc_ok;
293+
}
294+
283295
// LCOV_EXCL_STOP

0 commit comments

Comments
 (0)